Commit 9397cd7d authored by Hyunjun Ko's avatar Hyunjun Ko Committed by Víctor Manuel Jáquez Leal

libs: decoder: h264: initialize active_sps/pps in reset

Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
they introduced regression in seek.

Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
But since the commits landed, it doesn't drop P-frame and does try to
decode it continuously because active_sps is still alive. See ensure_sps function.
But there are prev_frames and prev_ref_frames reset already, then it
causes assertion.

So it's necessary to reset active_sps/pps also in reset method.

https://bugzilla.gnome.org/show_bug.cgi?id=783726
parent 3ed2023c
......@@ -1278,6 +1278,8 @@ gst_vaapi_decoder_h264_reset (GstVaapiDecoder * base_decoder)
g_free (priv->prev_frames);
priv->prev_frames = NULL;
priv->prev_frames_alloc = 0;
gst_vaapi_parser_info_h264_replace (&priv->active_pps, NULL);
gst_vaapi_parser_info_h264_replace (&priv->active_sps, NULL);
priv->profile = GST_VAAPI_PROFILE_UNKNOWN;
priv->entrypoint = GST_VAAPI_ENTRYPOINT_VLD;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment