After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 327133 - [qtdemux] QuickTime with 8-bit audio
[qtdemux] QuickTime with 8-bit audio
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal minor
: 0.10.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-01-15 22:15 UTC by Fabrizio Gennari
Modified: 2006-01-21 11:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for correcting audio caps in .mov files (726 bytes, patch)
2006-01-15 22:15 UTC, Fabrizio Gennari
none Details | Review

Description Fabrizio Gennari 2006-01-15 22:15:09 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:
Comment 1 Fabrizio Gennari 2006-01-15 22:15:55 UTC
Created attachment 57432 [details] [review]
patch for correcting audio caps in .mov files
Comment 2 Tim-Philipp Müller 2006-01-21 11:48:15 UTC
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.