GNOME Bugzilla – Bug 733565
Gracefully handle the fact that some encoder can not change their colorspace at the middle of the stream
Last modified: 2018-11-03 12:52:18 UTC
Created attachment 281393 [details] xges to reproduce the bug. GES cannot render pipelines which contain a PNG. The behavior is different for different encoders and muxers. The playback of the timeline is fine. ogg/theora: corrupted buffers are stored instead of the PNG. Rendering finished. webm/vp8: works qt/h264: rendering stops at the position where image and video meet. These clip layouts do not work: [ video ][ png ] [ png ][ video ] This works: [ png ] JPEG also works. For the quicktime / h264 case, where the pipeline times out, this is printed in the debug log in a infinite loop, when the timeline "stops": FIXME bin gstbin.c:4023:gst_bin_query: implement duration caching in GstBin again The quicktime muxer produces following warning: WARN qtmux gstqtmux.c:3253:gst_qt_mux_video_sink_set_caps:<muxer> pad video_0 refused renegotiation to video/x-h264, ...
Testing with MKV shows that qtmux is preventing the png to be encoded, since matroskamux does fine with h264. Testing with vp8 and qtmux shows that the issue is related to the combination of h264 and qtmux, since vp8 and qtmux work. The pipeline stops running when a png related timeline change occurs with qtmux and h264. A theora encoded mkv shows the same corruptions as in the ogg container. So the thora encoder does not handle png. Maybe this should be in a separate bug report. The GES PNG bug matrix. Theora | C 0 C VP8 | H264 | S | MKV | MP4 | OGG C - Output is corrupted S - Pipeline stops rendering 0 - Not muxable
Could be a bug in pngdec, or h264parse, or the combination of both.
The pipeline stops issue can be solved by setting a format in the restriction caps. format=I420 solves the issue, and I can produce quicktime muxed h264. There should be at least a warning for this. I already had this problem one year ago, and actually solved it in my C code, and forgot about it. The user should be given some advice at this point. Or maybe the format should be set automatically? How should this be solved?
*** Bug 732955 has been marked as a duplicate of this bug. ***
-- 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-editing-services/issues/16.