gstreamer/gst-libs/gst
Gwenole Beauchesne fb44ec9615 videodecoder: parse any source data that is still available.
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>
2014-07-03 09:47:20 +02:00
..
allocators dmabuf: fix checking mmap flags 2014-06-04 10:01:27 -04:00
app appsrc: add send_event handler for flushing 2014-06-10 12:59:53 -03:00
audio libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST 2014-06-26 16:18:46 +02:00
fft fft: Fix compiler errors caused by not including config.h 2013-03-02 19:13:39 +01:00
pbutils docs: Assorted documentation and introspection fixes for new 1.4 API 2014-07-02 09:09:44 +02:00
riff riff: Fix G726 caps creation 2014-01-19 10:34:57 +01:00
rtp rtpbasepayload: Implement reconfigure event & renegotiation without subclass 2014-05-03 10:21:04 +02:00
rtsp docs: Assorted documentation and introspection fixes for new 1.4 API 2014-07-02 09:09:44 +02:00
sdp mikey: add more Since markers for new methods 2014-07-02 15:49:38 +02:00
tag libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST 2014-06-26 16:18:46 +02:00
video videodecoder: parse any source data that is still available. 2014-07-03 09:47:20 +02:00
gettext.h Fix FSF address 2012-11-03 23:05:09 +00:00
glib-compat-private.h Fix FSF address 2012-11-03 23:05:09 +00:00
gst-i18n-app.h tools: add simple command-line gst-play utility for testing purposes 2013-08-16 15:45:23 +01:00
gst-i18n-plugin.h Fix FSF address 2012-11-03 23:05:09 +00:00
Makefile.am tools: add simple command-line gst-play utility for testing purposes 2013-08-16 15:45:23 +01:00