rtpvp9depay: Improve SVC parsing, aggregate all layers
authorStian Selnes <stian@pexip.com>
Mon, 13 Aug 2018 13:35:11 +0000 (15:35 +0200)
committerMathieu Duponchelle <mathieu@centricular.com>
Fri, 30 Oct 2020 16:46:30 +0000 (17:46 +0100)
commit95579a00c0753630a3f3f59cbf222b47468dc5aa
tree418d5a7b6dcfff160d81e0af9f9315d6644d7e89
parentd77fcf251b33691bbe52f21e061b79564000c9e8
rtpvp9depay: Improve SVC parsing, aggregate all layers

- Fix start and end of picture to support multiple layers. Start of
  picture is the first packet of the base layer, while end of picture
  is when the marker bit is set (last packet of the enhancement
  layers).
- All "layers" (aka "frames") of a picture are pushed downstream in a
  single buffer when picture is complete.
- Forgive SID=0 for enhancement layers (invalid, but Chrome and
  Firefox sends it)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/773>
gst/rtp/gstrtpvp9depay.c
gst/rtp/gstrtpvp9depay.h
tests/check/elements/rtpvp9.c