GNOME Bugzilla – Bug 327133
[qtdemux] QuickTime with 8-bit audio
Last modified: 2006-01-21 11:48:15 UTC
Please describe the problem:
Some QuickTime files have an audio fourcc 'twos', meaning 16-bit PCM signed
audio, but only 8 bits per sample. Those files have actually 8-bit signed PCM
audio. GStreamer currently cannot play back those files
The attached patch corrects the audio caps in these cases
Steps to reproduce:
1. Open a .mov file with 'twos' audio in a GStreamer app
The file should be played
The first video frame appears, then the application stops with an error
"gstbaseaudiosink.c(531):sink received buffer of wrong size."
Does this happen every time?
Created attachment 57432 [details] [review]
patch for correcting audio caps in .mov files
Thanks for the patch! It should be in CVS now in modified form (I've moved the code into qtdemux_audio_caps). Could you check that it works now?
Also, could you make a sample file available somewhere or post a link to one by any chance?
2006-01-21 Tim-Philipp Müller <tim at centricular dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
'twos' and 'sowt' fourcc can be 16bit or 8bit audio.
Fix 8bit case (#327133, based on patch by: Fabrizio
Gennari <fabrizio dot ge at tiscali dot it>).
Also, "G_LITTLE_ENDIAN" and "G_BIG_ENDIAN" are not
valid literals for endianness in caps strings,
only "LITTLE_ENDIAN" and "BIG_ENDIAN" are valid.