vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible

This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.

Fixes bug #626815.
This commit is contained in:
Philip Jägenstedt 2010-08-13 14:34:21 +02:00 committed by Sebastian Dröge
parent 25653ad183
commit e72574124f

View file

@ -188,7 +188,10 @@ gst_vp8_dec_class_init (GstVP8DecClass * klass)
static void static void
gst_vp8_dec_init (GstVP8Dec * gst_vp8_dec, GstVP8DecClass * klass) gst_vp8_dec_init (GstVP8Dec * gst_vp8_dec, GstVP8DecClass * klass)
{ {
GstBaseVideoDecoder *decoder = (GstBaseVideoDecoder *) gst_vp8_dec;
GST_DEBUG_OBJECT (gst_vp8_dec, "gst_vp8_dec_init"); GST_DEBUG_OBJECT (gst_vp8_dec, "gst_vp8_dec_init");
decoder->packetized = TRUE;
gst_vp8_dec->post_processing = DEFAULT_POST_PROCESSING; gst_vp8_dec->post_processing = DEFAULT_POST_PROCESSING;
gst_vp8_dec->post_processing_flags = DEFAULT_POST_PROCESSING_FLAGS; gst_vp8_dec->post_processing_flags = DEFAULT_POST_PROCESSING_FLAGS;
gst_vp8_dec->deblocking_level = DEFAULT_DEBLOCKING_LEVEL; gst_vp8_dec->deblocking_level = DEFAULT_DEBLOCKING_LEVEL;
@ -271,7 +274,6 @@ gst_vp8_dec_start (GstBaseVideoDecoder * decoder)
GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (decoder); GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (decoder);
GST_DEBUG_OBJECT (gst_vp8_dec, "start"); GST_DEBUG_OBJECT (gst_vp8_dec, "start");
decoder->packetized = TRUE;
gst_vp8_dec->decoder_inited = FALSE; gst_vp8_dec->decoder_inited = FALSE;
return TRUE; return TRUE;