diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2021-06-16 10:30:18 -0400 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-06-16 17:34:54 +0000 |
commit | e5e2b6a6525742d6a3b2ef769cfd3d7408bb7405 (patch) | |
tree | c793379e135321e9a546ad418588514cc5a3d930 /gst-libs | |
parent | 8d7e6bfb86824f8d71cee192ac18026790b78171 (diff) | |
download | gstreamer-plugins-bad-e5e2b6a6525742d6a3b2ef769cfd3d7408bb7405.tar.gz |
v4l2slvp8dec: Only ask for output delay once per negotiation
While it's technically possible to change it per frame, asking for
that every frame is not very useful. This mimic H264 decoder better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2333>
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/codecs/gstvp8decoder.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gst-libs/gst/codecs/gstvp8decoder.c b/gst-libs/gst/codecs/gstvp8decoder.c index 1ae42a629..d3f2aa100 100644 --- a/gst-libs/gst/codecs/gstvp8decoder.c +++ b/gst-libs/gst/codecs/gstvp8decoder.c @@ -169,6 +169,12 @@ gst_vp8_decoder_check_codec_change (GstVp8Decoder * self, priv->had_sequence = TRUE; + if (klass->get_preferred_output_delay) + priv->preferred_output_delay = + klass->get_preferred_output_delay (self, priv->is_live); + else + priv->preferred_output_delay = 0; + if (klass->new_sequence) ret = klass->new_sequence (self, frame_hdr); } @@ -338,10 +344,6 @@ gst_vp8_decoder_handle_frame (GstVideoDecoder * decoder, GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_PTS (in_buf)), GST_TIME_ARGS (GST_BUFFER_DTS (in_buf))); - if (klass->get_preferred_output_delay) - priv->preferred_output_delay = - klass->get_preferred_output_delay (self, priv->is_live); - if (!gst_buffer_map (in_buf, &map, GST_MAP_READ)) { GST_ERROR_OBJECT (self, "Cannot map buffer"); |