GNOME Bugzilla – Bug 752816
Can't mux stereo H.264 to qtmux
Last modified: 2018-11-03 15:02:32 UTC
There's a disconnect between h264parse and qtmux when it comes to handling stereoscopic/multiview H.264. Initially, h264parse outputs caps with video/x-h264...profile=high. Later, when it sees the Subset-SPS packet and knows it is handling stereo or multiview content, it changes the caps. However, at that point qtmux does: 0:00:00.296990888 19789 0x7fb0000025e0 WARN qtmux gstqtmux.c:4052:gst_qt_mux_video_sink_set_caps:<mp4mux0> pad video_0 refused renegotiation to video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)10000000/333667, multiview-mode=(string)frame-by-frame, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, parsed=(boolean)true, profile=(string)stereo-high, level=(string)3.1, codec_data=(buffer)0180001fffe200196764001fac56805005b3ff0001000110005176301312d0094000156f80001f4b15a014016cffc000400040abf8fc2a4402000468ce3c8000046848e3c8 and everything halts. I'm not sure how it should be resolved. It might be possible to make qtmux allow caps changes until some data has been muxed, and refuse after. It's likely more difficult to make h264parse delay the caps setting until later "just in case" a subset SPS comes along.
Delaying configuring the caps and allowing it to change until the first buffer makes sense for me.
Urk, turns out the first buffer arrives before the SSPS is seen by H.264 and the caps are changed, so qtmux already has received a buffer.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/206.