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 647919 - qtmux: silently corrupts h264 streams with legacy caps
qtmux: silently corrupts h264 streams with legacy caps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.29
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-04-16 05:35 UTC by David Schleef
Modified: 2011-04-18 16:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Schleef 2011-04-16 05:35:54 UTC
qtmux silently (well, GST_WARNING) fails if the caps are "video/x-h264,stream-format=avc".  That is, if they are missing the alignment=au field.

Aside from the fact that avc implies alignment=au, if qtmux wants to force alignment=au, it should have it in the caps template.  If it wants to trick upstream elements into negotiating without alignment=au, in order to discover potential bugs, it should cause an element error.
Comment 1 Tim-Philipp Müller 2011-04-16 10:16:59 UTC
If I read the core correctly, it only "silently fails" (how does it fail?) if there's no stream-format field in the caps at at all.

I was actually pondering on being stricter and refusing caps without a stream-format or codec_data field, see https://bugzilla.gnome.org/show_bug.cgi?id=606662#c56 , but I suspect that will cause some problems. On the other hand, now is probably the best time, after the release we'll have to try and maintain backwards compatibility.
Comment 2 Tim-Philipp Müller 2011-04-16 22:28:45 UTC
Well, made it strict for now, let's see what breaks (if anything):

 commit cf953fe923c02ccc7608858ed821af85fb0df0b8
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Sat Apr 16 18:17:01 2011 +0100

    qtmux: refuse incomplete legacy h264 caps
    
    Refuse h264 caps without stream-format and codec_data fields for
    now, to avoid creating broken files. This might cause some pipelines
    that worked previously to fail. However, the move from -bad to -good
    is our only chance to fix this up, so make it strict for now. We can
    always change it back to be less strict in future.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=647919
Comment 3 David Schleef 2011-04-18 16:55:04 UTC
"Silent fail" means it creates a file with no tracks, with no indication that it is dropping data.