From: Arun Raghavan Date: Sat, 9 Apr 2011 04:19:10 +0000 (+0530) Subject: ringbuffer: Add support for E-AC3 X-Git-Tag: RELEASE-0.10.36~759 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9615081f9c3a04f83b3e3bee1dcdf90b08978da8;p=platform%2Fupstream%2Fgst-plugins-base.git ringbuffer: Add support for E-AC3 Adds support for pushing E-AC3 buffers and doing bytes-to-ms conversion correctly. The assumption (as with other formats) is that something like IEC 61937 payloading will be used. Correspondingly the ringbuffer spec is populated so that the data rate is 4x normal AC3. https://bugzilla.gnome.org/show_bug.cgi?id=642730 --- diff --git a/gst-libs/gst/audio/gstringbuffer.c b/gst-libs/gst/audio/gstringbuffer.c index d0a6f7e..2a56bab 100644 --- a/gst-libs/gst/audio/gstringbuffer.c +++ b/gst-libs/gst/audio/gstringbuffer.c @@ -436,6 +436,16 @@ gst_ring_buffer_parse_caps (GstRingBufferSpec * spec, GstCaps * caps) spec->width = 16; spec->depth = 16; spec->channels = 2; + } else if (!strncmp (mimetype, "audio/x-eac3", 12)) { + /* extract the needed information from the cap */ + if (!(gst_structure_get_int (structure, "rate", &spec->rate))) + goto parse_error; + + spec->type = GST_BUFTYPE_EAC3; + spec->format = GST_EAC3; + spec->width = 64; + spec->depth = 64; + spec->channels = 2; } else if (!strncmp (mimetype, "audio/x-dts", 11)) { /* extract the needed information from the cap */ if (!(gst_structure_get_int (structure, "rate", &spec->rate)))