[Bug 669509] New: [h264parse] caps renegotiation fails due to baseparse calling gst_pad_use_fixed_caps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Feb 6 13:54:56 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=669509
  GStreamer | gst-plugins-bad | git

           Summary: [h264parse] caps renegotiation fails due to baseparse
                    calling gst_pad_use_fixed_caps
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: jonas at hallerud.se
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=206935)
 View: https://bugzilla.gnome.org/attachment.cgi?id=206935
 Review: https://bugzilla.gnome.org/review?bug=669509&attachment=206935

Patch to allow downstream caps renegotiation

I have:
vsrc ! videorate ! omxh264enc ! h264parse ! fakesink

Video source has variable frame rate and videorate force-fps is set dynamically
on the running pipeline. This triggers downstream caps negotiation that fails
in h264parse.

* upstream calls gst_pad_get_allowed_caps on h264parse:sink
* gst_h264_parse_get_caps is called to determine allowed caps
* gst_h264_parse_get_caps calls gst_pad_get_allowed_caps on h264parse:src
* gst_pad_get_allowed_caps on h264parse:src return the current caps
* current caps and new caps differ in frame rate and new caps are rejected

The reason for failure: baseparse is calling gst_pad_use_fixed_caps on
h264parse:src, so the current caps is returned.



More information about the gstreamer-bugs mailing list