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 Actual results: The file should be played Expected results: 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? yes Other information:
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), (qtdemux_audio_caps): '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.