basevideocodec: Reset should reset current caps
New caps will need to be negotiated when reset happens (PAUSED to READY). Without reseting the internal stored format, basevideoencoder/decoder wouldn't call the configuration function when the same caps was negotiated again as they would believe this was the same caps as before. The issue is that _stop has been called when going to READY and the elements would have reset their internal codec libs/state as well. A new configuration should be done.
This commit is contained in:
parent
e4d3d2dcd1
commit
51f399686e
@ -134,6 +134,8 @@ gst_base_video_codec_reset (GstBaseVideoCodec * base_video_codec)
|
|||||||
|
|
||||||
gst_buffer_replace (&base_video_codec->state.codec_data, NULL);
|
gst_buffer_replace (&base_video_codec->state.codec_data, NULL);
|
||||||
gst_caps_replace (&base_video_codec->state.caps, NULL);
|
gst_caps_replace (&base_video_codec->state.caps, NULL);
|
||||||
|
memset (&base_video_codec->state, 0, sizeof (GstVideoState));
|
||||||
|
base_video_codec->state.format = GST_VIDEO_FORMAT_UNKNOWN;
|
||||||
GST_BASE_VIDEO_CODEC_STREAM_UNLOCK (base_video_codec);
|
GST_BASE_VIDEO_CODEC_STREAM_UNLOCK (base_video_codec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user