GNOME Bugzilla – Bug 668012
[ffenc_h263p] - BUG fails, old version works
Last modified: 2012-12-14 00:34:25 UTC
I have tried this several times, but same it fails with latest version from git. And old version same works. gst-launch -v videotestsrc ! videoscale ! video/x-raw-yuv, width=380,height=280 ! ffmpegcolorspace ! ffenc_h263p ! fakesink Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = video/x-raw-yuv, width=(int)380, height=(int)280, framerate=(fraction)30/1, format=(fourcc)I420, color-matrix=(string)sdtv, chroma-site=(string)mpeg2 0:00:00.076790278 3101 0x1503560 ERROR ffmpeg :0:: multi threaded encoding not supported by codec ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data flow error. /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event ******* (fakesink0:sink) E (type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, start=(gint64)0, stop=(gint64)-1, position=(gint64)0;) 0x12a52d0" Additional debug info: gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: streaming task paused, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL Freeing pipeline ...
I have seen this happen. The message comes from ffmpeg, when trying to use more than one thread. It did not happen with my current clone. I updated gst-ffmpeg, did not happen. I updated gst-libs, it started happening. However, trying to git bisect in libav, it seems to happen also in the past, so there's some dependency malarkey here, it could have been broken-from-clean for a while. Since git bisect was causing me pain (needing to clean/rebuild every rev, not sure why) I just stopped. But confirmed.
Full re-autogen.sh/reinstall in gst-ffmpeg today, the above command line works. Let's move this from blocker back to normal for now.
This works fine for me in git master, so let's close it as OBSOLETE: $ gst-launch-1.0 videotestsrc num-buffers=5 ! videoscale ! video/x-raw,width=380,height=280 ! videoconvert ! avenc_h263p ! fakesink silent=false -v Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/avenc_h263p:avenc_h263p0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)380, height=(int)280, framerate=(fraction)30/1 /GstPipeline:pipeline0/avenc_h263p:avenc_h263p0.GstPad:src: caps = video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: caps (12814), GstEventCaps, caps=(GstCaps)video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1;) 0x7f6f00003240 /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/avenc_h263p:avenc_h263p0.GstPad:src: caps = video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: caps (12814), GstEventCaps, caps=(GstCaps)video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1;) 0x7f6f000032a0 /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h263, variant=(string)itu, h263version=(string)h263p, width=(int)380, height=(int)280, framerate=(fraction)30/1, annex-f=(boolean)true, annex-j=(boolean)true, annex-i=(boolean)true, annex-t=(boolean)true, pixel-aspect-ratio=(fraction)1/1 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: stream-start (10254), GstEventStreamStart, stream-id=(string)55ff36d562d2be2ce2b90b06e5d2c6f2;) 0x7f6f00003000 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: segment (17934), GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;";) 0x7f6f000031e0 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = preroll ******* Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (17820 bytes, dts: 0:00:00.000000000, pts: 0:00:00.000000000, duration: 0:00:00.033333333, offset: -1, offset_end: -1, flags: 00000040 discont ) 0xcdb290 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (10627 bytes, dts: 0:00:00.033333333, pts: 0:00:00.033333333, duration: 0:00:00.033333333, offset: -1, offset_end: -1, flags: 00002000 delta-unit ) 0xcdb4b0 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (13437 bytes, dts: 0:00:00.066666666, pts: 0:00:00.066666666, duration: 0:00:00.033333334, offset: -1, offset_end: -1, flags: 00002000 delta-unit ) 0xcdb3a0 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (10556 bytes, dts: 0:00:00.100000000, pts: 0:00:00.100000000, duration: 0:00:00.033333333, offset: -1, offset_end: -1, flags: 00002000 delta-unit ) 0xcdb180 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (8582 bytes, dts: 0:00:00.133333333, pts: 0:00:00.133333333, duration: 0:00:00.033333333, offset: -1, offset_end: -1, flags: 00002000 delta-unit ) 0xcdb3a0 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: eos (28174), ) 0x7f6f00003300 Got EOS from element "pipeline0". Execution ended after 0:00:00.009460703 Please re-open if you still have issues with GStreamer 1.x, thanks!