mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
ext/musepack/gstmusepackdec.cpp: There's also floating point libmusepacks.
Original commit message from CVS: * ext/musepack/gstmusepackdec.cpp: There's also floating point libmusepacks.
This commit is contained in:
parent
461861f3de
commit
40e9cff5bc
3 changed files with 47 additions and 26 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-12-03 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/musepack/gstmusepackdec.cpp:
|
||||
There's also floating point libmusepacks.
|
||||
|
||||
2004-12-03 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/faad/gstfaad.c: (gst_faad_chanpos_from_gst),
|
||||
|
|
|
@ -30,14 +30,24 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
|
|||
GST_STATIC_CAPS ("audio/x-musepack")
|
||||
);
|
||||
|
||||
#ifdef MPC_FIXED_POINT
|
||||
#define BASE_CAPS \
|
||||
"audio/x-raw-int, " \
|
||||
"signed = (bool) TRUE, " \
|
||||
"width = (int) 32, " \
|
||||
"depth = (int) 32"
|
||||
#else
|
||||
#define BASE_CAPS \
|
||||
"audio/x-raw-float, " \
|
||||
"width = (int) 32, " \
|
||||
"buffer-frames = (int) 0"
|
||||
#endif
|
||||
|
||||
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS ("audio/x-raw-int, "
|
||||
GST_STATIC_CAPS (BASE_CAPS ", "
|
||||
"endianness = (int) BYTE_ORDER, "
|
||||
"signed = (bool) TRUE, "
|
||||
"width = (int) 32, "
|
||||
"depth = (int) 32, "
|
||||
"rate = (int) [ 8000, 96000 ], "
|
||||
"channels = (int) [ 1, 2 ]")
|
||||
);
|
||||
|
@ -352,6 +362,7 @@ static gboolean
|
|||
gst_musepack_stream_init (GstMusepackDec * musepackdec)
|
||||
{
|
||||
StreamInfo si = StreamInfo ();
|
||||
GstCaps *caps;
|
||||
|
||||
if (musepackdec->dec)
|
||||
delete musepackdec->dec;
|
||||
|
@ -379,15 +390,12 @@ gst_musepack_stream_init (GstMusepackDec * musepackdec)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gst_pad_set_explicit_caps (musepackdec->srcpad,
|
||||
gst_caps_new_simple ("audio/x-raw-int",
|
||||
"width", G_TYPE_INT, 32,
|
||||
"depth", G_TYPE_INT, 32,
|
||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
||||
"channels", G_TYPE_INT, si.simple.Channels,
|
||||
"rate", G_TYPE_INT, si.simple.SampleFreq,
|
||||
"signed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL))) {
|
||||
caps = gst_caps_from_string (BASE_CAPS);
|
||||
gst_caps_set_simple (caps,
|
||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
||||
"channels", G_TYPE_INT, si.simple.Channels,
|
||||
"rate", G_TYPE_INT, si.simple.SampleFreq, NULL);
|
||||
if (!gst_pad_set_explicit_caps (musepackdec->srcpad, caps)) {
|
||||
GST_ELEMENT_ERROR (musepackdec, CORE, NEGOTIATION, (NULL), (NULL));
|
||||
delete musepackdec->dec;
|
||||
musepackdec->dec = NULL;
|
||||
|
|
|
@ -30,14 +30,24 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
|
|||
GST_STATIC_CAPS ("audio/x-musepack")
|
||||
);
|
||||
|
||||
#ifdef MPC_FIXED_POINT
|
||||
#define BASE_CAPS \
|
||||
"audio/x-raw-int, " \
|
||||
"signed = (bool) TRUE, " \
|
||||
"width = (int) 32, " \
|
||||
"depth = (int) 32"
|
||||
#else
|
||||
#define BASE_CAPS \
|
||||
"audio/x-raw-float, " \
|
||||
"width = (int) 32, " \
|
||||
"buffer-frames = (int) 0"
|
||||
#endif
|
||||
|
||||
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS ("audio/x-raw-int, "
|
||||
GST_STATIC_CAPS (BASE_CAPS ", "
|
||||
"endianness = (int) BYTE_ORDER, "
|
||||
"signed = (bool) TRUE, "
|
||||
"width = (int) 32, "
|
||||
"depth = (int) 32, "
|
||||
"rate = (int) [ 8000, 96000 ], "
|
||||
"channels = (int) [ 1, 2 ]")
|
||||
);
|
||||
|
@ -352,6 +362,7 @@ static gboolean
|
|||
gst_musepack_stream_init (GstMusepackDec * musepackdec)
|
||||
{
|
||||
StreamInfo si = StreamInfo ();
|
||||
GstCaps *caps;
|
||||
|
||||
if (musepackdec->dec)
|
||||
delete musepackdec->dec;
|
||||
|
@ -379,15 +390,12 @@ gst_musepack_stream_init (GstMusepackDec * musepackdec)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gst_pad_set_explicit_caps (musepackdec->srcpad,
|
||||
gst_caps_new_simple ("audio/x-raw-int",
|
||||
"width", G_TYPE_INT, 32,
|
||||
"depth", G_TYPE_INT, 32,
|
||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
||||
"channels", G_TYPE_INT, si.simple.Channels,
|
||||
"rate", G_TYPE_INT, si.simple.SampleFreq,
|
||||
"signed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL))) {
|
||||
caps = gst_caps_from_string (BASE_CAPS);
|
||||
gst_caps_set_simple (caps,
|
||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
||||
"channels", G_TYPE_INT, si.simple.Channels,
|
||||
"rate", G_TYPE_INT, si.simple.SampleFreq, NULL);
|
||||
if (!gst_pad_set_explicit_caps (musepackdec->srcpad, caps)) {
|
||||
GST_ELEMENT_ERROR (musepackdec, CORE, NEGOTIATION, (NULL), (NULL));
|
||||
delete musepackdec->dec;
|
||||
musepackdec->dec = NULL;
|
||||
|
|
Loading…
Reference in a new issue