diff options
author | Benjamin Otte <otte@gnome.org> | 2003-01-30 18:03:47 +0000 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2003-01-30 18:03:47 +0000 |
commit | 0d1b9d28becf937c3514ad1d79f8736d0741991e (patch) | |
tree | 62bb53d602d9df67d07b1495959efb6b75abba84 /gst/modplug | |
parent | 58825247e635de7e4fe8b0237054e30132deff4f (diff) | |
download | gst-plugins-bad-0d1b9d28becf937c3514ad1d79f8736d0741991e.tar.gz gst-plugins-bad-0d1b9d28becf937c3514ad1d79f8736d0741991e.tar.bz2 gst-plugins-bad-0d1b9d28becf937c3514ad1d79f8736d0741991e.zip |
make 8bit modplug use the right caps. 8bit sounds really crappy tho
Original commit message from CVS:
make 8bit modplug use the right caps. 8bit sounds really crappy tho
Diffstat (limited to 'gst/modplug')
-rw-r--r-- | gst/modplug/gstmodplug.cc | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/gst/modplug/gstmodplug.cc b/gst/modplug/gstmodplug.cc index b0562d12..e96df4cc 100644 --- a/gst/modplug/gstmodplug.cc +++ b/gst/modplug/gstmodplug.cc @@ -80,7 +80,7 @@ GST_PAD_TEMPLATE_FACTORY (modplug_src_template_factory, "src", GST_PAD_SRC, GST_PAD_ALWAYS, - GST_CAPS_NEW ( + GST_CAPS_NEW ( /* use16bit = TRUE */ "modplug_src", "audio/raw", "format", GST_PROPS_STRING ("int"), @@ -91,6 +91,18 @@ GST_PAD_TEMPLATE_FACTORY (modplug_src_template_factory, "depth", GST_PROPS_INT (16), "rate", GST_PROPS_INT_RANGE (11025, 44100), "channels", GST_PROPS_INT_RANGE (1, 2) + ), + GST_CAPS_NEW ( /* use16bit = FALSE */ + "modplug_src", + "audio/raw", + "format", GST_PROPS_STRING ("int"), + "law", GST_PROPS_INT (0), + "endianness", GST_PROPS_INT (G_BYTE_ORDER), + "signed", GST_PROPS_BOOLEAN (FALSE), + "width", GST_PROPS_INT (8), + "depth", GST_PROPS_INT (8), + "rate", GST_PROPS_INT_RANGE (11025, 44100), + "channels", GST_PROPS_INT_RANGE (1, 2) ) ) @@ -544,15 +556,19 @@ gst_modplug_update_metadata (GstModPlug *modplug) static gboolean modplug_negotiate (GstModPlug *modplug) { + gboolean sign; modplug->length = 1152 * modplug->channel; if (modplug->_16bit) { modplug->length *= 2; modplug->bitsPerSample = 16; + sign = TRUE; } - else + else { modplug->bitsPerSample = 8; + sign = FALSE; + } if (!GST_PAD_CAPS (modplug->srcpad)) { if (!gst_pad_try_set_caps (modplug->srcpad, @@ -562,7 +578,7 @@ modplug_negotiate (GstModPlug *modplug) "format", GST_PROPS_STRING ("int"), "law", GST_PROPS_INT (0), "endianness", GST_PROPS_INT (G_BYTE_ORDER), - "signed", GST_PROPS_BOOLEAN (TRUE), + "signed", GST_PROPS_BOOLEAN (sign), "width", GST_PROPS_INT (modplug->bitsPerSample), "depth", GST_PROPS_INT (modplug->bitsPerSample), "rate", GST_PROPS_INT (modplug->frequency), |