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:
Thiago Santos 2011-12-30 00:02:46 -03:00
parent e4d3d2dcd1
commit 51f399686e

View file

@ -134,6 +134,8 @@ gst_base_video_codec_reset (GstBaseVideoCodec * base_video_codec)
gst_buffer_replace (&base_video_codec->state.codec_data, 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);
}