decoder: fix use of invalid data at the end-of-stream.

This commit is contained in:
Gwenole Beauchesne 2011-10-12 14:00:50 +02:00
parent 51fd6f1f50
commit 3b9a165037
2 changed files with 3 additions and 5 deletions

1
NEWS
View file

@ -7,6 +7,7 @@ Version 0.2.7 - DD.Jul.2011
* Fix MPEG-2 decoding from TS & PS streams
* Fix build with newer versions of FFmpeg
* Fix vaapiconvert direct-rendering modes
* Fix use of invalid data at the end-of-stream
Version 0.2.6 - 14.Jun.2011
* Fix licensing terms (LGPL v2.1)

View file

@ -117,12 +117,9 @@ decode_step(GstVaapiDecoder *decoder)
status = GST_VAAPI_DECODER_GET_CLASS(decoder)->decode(decoder, buffer);
GST_DEBUG("decode frame (status = %d)", status);
if (status != GST_VAAPI_DECODER_STATUS_SUCCESS && GST_BUFFER_IS_EOS(buffer))
status = GST_VAAPI_DECODER_STATUS_END_OF_STREAM;
gst_buffer_unref(buffer);
if (status == GST_VAAPI_DECODER_STATUS_SUCCESS)
return status;
if (GST_BUFFER_IS_EOS(buffer))
return GST_VAAPI_DECODER_STATUS_END_OF_STREAM;
} while (status == GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA);
return status;
}