From 9615081f9c3a04f83b3e3bee1dcdf90b08978da8 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Sat, 9 Apr 2011 09:49:10 +0530 Subject: [PATCH] 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 --- gst-libs/gst/audio/gstringbuffer.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gst-libs/gst/audio/gstringbuffer.c b/gst-libs/gst/audio/gstringbuffer.c index d0a6f7ebff..2a56bab15a 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)))