mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 19:42:26 +00:00
fb44ec9615
Fix gst_video_decoder_parse_available() to really parse any pending source data that is still available in the adapter. This is a memory optimization to avoid expansion of video packed added to the adapter, but also a fix to EOS condition when the subclass parse() function ultimately only needed to call into gvd_have_frame() and no additional source bytes were consumed, i.e. gvd_add_to_frame() is not called. This situation can occur when decoding H.264 streams in byte-stream/nal mode for instance. A decoder always requires the next NAL unit to be parsed so that to determine picture boundaries. When a new picture is found, no byte is consumed (i.e. gvd_add_to_frame() is not called) but gvd_have_frame() is called (i.e. priv->current_frame is gone). Also make sure to avoid infinite loops caused by incorrect subclass parse() implementations. This can occur when no byte gets consumed and no appropriate indication (GST_VIDEO_DECODER_FLOW_NEED_DATA) is returned. https://bugzilla.gnome.org/show_bug.cgi?id=731974 Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com> |
||
---|---|---|
.. | ||
ext | ||
gst | ||
Makefile.am |