GNOME Bugzilla – Bug 619310
[videorate] negotiation issue, tries to set unfixed caps on pad
Last modified: 2010-05-22 08:06:55 UTC
$ G_DEBUG=fatal_warnings GST_DEBUG=videorate:5 gst-launch-0.10 videotestsrc ! theoraenc ! theoradec ! ffmpegcolorspace ! videorate ! video/x-raw-yuv,framerate=25/1 ! vp8enc ! fakesink 0:00:00.067292933 709 0x73e0a0 DEBUG videorate gstvideorate.c:397:gst_video_rate_init: gst_video_rate_init 0:00:00.067393156 709 0x73e0a0 DEBUG videorate gstvideorate.c:379:gst_video_rate_reset: resetting internal variables 0:00:00.067406705 709 0x73e0a0 LOG videorate gstvideorate.c:486:gst_video_rate_swap_prev:<GstVideoRate@0x998090> swap_prev: storing buffer (nil) in prev Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.114107764 709 0x994d20 DEBUG videorate gstvideorate.c:516:gst_video_rate_event:<videorate0> handle NEWSEGMENT 0:00:00.114137656 709 0x994d20 DEBUG videorate gstvideorate.c:555:gst_video_rate_event:<videorate0> updated segment: time segment start=0:00:00.000000000, stop=99:99:99.999999999, last_stop=0:00:00.000000000, duration=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, accum=0:00:00.000000000 0:00:00.135827707 709 0x994d20 DEBUG videorate gstvideorate.c:280:gst_video_rate_setcaps: setcaps called video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg 0:00:00.135929955 709 0x994d20 DEBUG videorate gstvideorate.c:319:gst_video_rate_setcaps: icaps video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)25/1, interlaced=(boolean){ true, false } 0:00:00.135953911 709 0x994d20 DEBUG videorate gstvideorate.c:320:gst_video_rate_setcaps: transform video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg; video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], pixel-aspect-ratio=(fraction)1/1, width=(int)320, height=(int)240, color-matrix=(string)sdtv, chroma-site=(string)jpeg 0:00:00.135995187 709 0x994d20 DEBUG videorate gstvideorate.c:327:gst_video_rate_setcaps: intersect video/x-raw-yuv, format=(fourcc)I420, width=(int)320, height=(int)240, framerate=(fraction)25/1, interlaced=(boolean){ true, false }, pixel-aspect-ratio=(fraction)1/1, color-matrix=(string)sdtv, chroma-site=(string)jpeg GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || gst_caps_is_fixed (caps)' failed aborting... Aborted
Created attachment 161705 [details] [review] vp8enc: Use GST_VIDEO_FORMAT_YUV(I420) instead of handwritten I420 caps for the pad template
(In reply to comment #1) > Created an attachment (id=161705) [details] [review] > vp8enc: Use GST_VIDEO_FORMAT_YUV(I420) instead of handwritten I420 caps for the > pad template This works around it by not having the interlaced field in the vp8enc caps. We really can't require that in caps right now because most video elements don't know about it and can't fixate it. Shall I push this one for vp8enc? I'll also prepare a patch for videorate now to fixate this.
commit b1a9af61c7eadc2a80bd269a2252cb84e8239915 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Sat May 22 09:48:01 2010 +0200 videorate: Fixate color-matrix and chroma-site fields if necessary commit 220a61f821ad591497b053f66a69f708d8e89c7a Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Sat May 22 09:39:30 2010 +0200 videorate: Fixate the interlaced field if necessary Fixes bug #619310.