Skip to content
  • He Junyan's avatar
    videoparsers: vp9: Need to process the first frame even not key. · e9d0d19f
    He Junyan authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
    Some cut VP9 streams begin with a non key frame. The current code
    just bail out the parse_process_frame() if not a key frame. Because
    of this, we do not set the valid caps before we push the data of the
    first frame(even this first frame will be discarded by the downstream
    decoder because it is not a key frame).
    
    The pipeline such as:
    gst-launch-1.0 filesrc location=some.ivf ! ivfparse ! vp9parse !
      vavp9dec ! fakesink
    will get a negotiation error and the pipeline can not continue. The
    correct behaviour should be: the decoder discard the first frame and
    continue to decode later frames successfully.
    
    So, when the parse does not have valid stream info(should be the first
    frame case), we should continue and report caps.
    
    Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2427>
    e9d0d19f