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 619310 - [videorate] negotiation issue, tries to set unfixed caps on pad
[videorate] negotiation issue, tries to set unfixed caps on pad
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.30
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-05-21 17:06 UTC by Tim-Philipp Müller
Modified: 2010-05-22 08:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vp8enc: Use GST_VIDEO_FORMAT_YUV(I420) instead of handwritten I420 caps for the pad template (972 bytes, patch)
2010-05-22 07:36 UTC, Sebastian Dröge (slomo)
rejected Details | Review

Description Tim-Philipp Müller 2010-05-21 17:06:24 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
Comment 1 Sebastian Dröge (slomo) 2010-05-22 07:36:05 UTC
Created attachment 161705 [details] [review]
vp8enc: Use GST_VIDEO_FORMAT_YUV(I420) instead of handwritten I420 caps for the pad template
Comment 2 Sebastian Dröge (slomo) 2010-05-22 07:37:46 UTC
(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.
Comment 3 Sebastian Dröge (slomo) 2010-05-22 07:53:53 UTC
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.