slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/
[email protected] Sat, 6 Dec 2008 11:46:20 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Sat Dec 06 2008 19:46:20 UTC
Log message:
* gst/mxf/mxfd10.c: (mxf_d10_sound_handle_essence_element):
Document decoding of the AES3 data and also skip the 32 bit
header in the beginning of every buffer, otherwise we get
one broken audio channel.
Modified files:
. : ChangeLog
gst/mxf : mxfd10.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3792&r2=1.3793
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfd10.c.diff?r1=1.1&r2=1.2
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3792
retrieving revision 1.3793
diff -u -d -r1.3792 -r1.3793
--- ChangeLog 5 Dec 2008 12:26:00 -0000 1.3792
+++ ChangeLog 6 Dec 2008 19:46:03 -0000 1.3793
@@ -1,3 +1,10 @@
+2008-12-06 Sebastian Dröge <[email protected]>
+
+ * gst/mxf/mxfd10.c: (mxf_d10_sound_handle_essence_element):
+ Document decoding of the AES3 data and also skip the 32 bit
+ header in the beginning of every buffer, otherwise we get
+ one broken audio channel.
2008-12-05 Sebastian Dröge <[email protected]>
* gst/mxf/mxfdemux.c: (gst_mxf_demux_reset_metadata),
Index: mxfd10.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfd10.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- mxfd10.c 4 Dec 2008 08:37:18 -0000 1.1
+++ mxfd10.c 6 Dec 2008 19:46:05 -0000 1.2
@@ -118,10 +118,16 @@
indata = GST_BUFFER_DATA (buffer);
outdata = GST_BUFFER_DATA (*outbuf);
+ /* Skip 32 bit header */
+ indata += 4;
for (i = 0; i < nsamples; i++) {
for (j = 0; j < channels; j++) {
guint32 in = GST_READ_UINT32_LE (indata);
+ /* Remove first 4 and last 4 bits as they only
+ * contain status data. Shift the 24 bit samples
+ * to the correct width afterwards. */
if (width == 2) {
in = (in >> 12) & 0xffff;
GST_WRITE_UINT16_LE (outdata, in);
@@ -132,6 +138,8 @@
indata += 4;
outdata += width;
}
+ /* There are always 8 channels but only the first
+ * ones contain valid data, skip the others */
indata += 4 * (8 - channels);
}
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose