gstreamer/gst-libs/gst/video
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
..
.gitignore Update .gitignore 2012-08-08 09:06:30 +01:00
colorbalance.c docs: Fix argument and annotation typos 2014-03-02 23:22:51 +00:00
colorbalance.h Fix FSF address 2012-11-03 23:05:09 +00:00
colorbalancechannel.c Fix FSF address 2012-11-03 23:05:09 +00:00
colorbalancechannel.h Fix FSF address 2012-11-03 23:05:09 +00:00
convertframe.c convertframe: Fix indention 2013-12-09 16:34:22 +01:00
gstvideodecoder.c videodecoder: parse any source data that is still available. 2014-07-03 09:47:20 +02:00
gstvideodecoder.h docs: Fix argument and annotation typos 2014-03-02 23:22:51 +00:00
gstvideoencoder.c videoencoder: Keep still meaningfull pending events on FLUSH_STOP 2014-06-03 13:03:19 +02:00
gstvideoencoder.h videoencoder: Add sink_query() src_query() virtual functions 2013-12-09 16:34:19 +01:00
gstvideofilter.c videofilter: implement transform_meta virtual method. 2013-09-09 15:37:02 +02:00
gstvideofilter.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstvideometa.c videometa: fix texture_type memcpy size 2014-04-10 12:35:03 +01:00
gstvideometa.h videometa: add GstVideoGLTextureUploadMeta buffer pool option 2013-11-26 14:04:38 +01:00
gstvideopool.c docs: add GstVideoPool to docs 2014-02-23 14:42:12 +00:00
gstvideopool.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstvideosink.c Fix FSF address 2012-11-03 23:05:09 +00:00
gstvideosink.h Fix FSF address 2012-11-03 23:05:09 +00:00
gstvideoutils.c videoutils: add some debug 2014-01-13 17:24:01 +01:00
gstvideoutils.h docs: Fix argument and annotation typos 2014-03-02 23:22:51 +00:00
Makefile.am video: Generate types for tile enumeration 2014-01-13 10:47:23 -05:00
navigation.c docs: Fix argument and annotation typos 2014-03-02 23:22:51 +00:00
navigation.h Fix FSF address 2012-11-03 23:05:09 +00:00
TODO video: Base classes for video decoders and encoders 2012-04-24 17:03:40 +02:00
video-blend.c video: don't crash when blending onto video formats that unpack to 64 bits per pixel 2012-11-07 11:17:14 +00:00
video-blend.h Fix FSF address 2012-11-03 23:05:09 +00:00
video-chroma.c video-chroma: don't crash on NULL resamplers 2014-01-23 10:45:00 +01:00
video-chroma.h video: make direct includes work again 2013-08-16 14:14:15 +01:00
video-color.c docs: Fix argument and annotation typos 2014-03-02 23:22:51 +00:00
video-color.h Fix FSF address 2012-11-03 23:05:09 +00:00
video-event.c video-event: Update the running times in the force-keyunit events from the pad offsets 2014-04-10 09:18:05 +02:00
video-event.h Fix FSF address 2012-11-03 23:05:09 +00:00
video-format.c videoformat: Remove duplicate/incorrect section 2014-03-02 23:41:51 +00:00
video-format.h video: Don't use extra plane and componenent for tile format 2014-01-13 10:47:03 -05:00
video-frame.c videoframe: Initialise GstVideoFrame to zeroes if mapping fails 2014-04-16 19:53:46 +02:00
video-frame.h video: make direct includes work again 2013-08-16 14:14:15 +01:00
video-info.c video: avoid overflows when doing int operations for size 2014-06-09 23:38:39 -03:00
video-info.h Fix FSF address 2012-11-03 23:05:09 +00:00
video-orc-dist.c Release 1.3.1 2014-05-03 17:50:10 +02:00
video-orc-dist.h video: fix build without orc or older or versions 2013-09-06 13:28:00 +01:00
video-orc.orc video-format: fix NV24 pack/unpack function 2013-09-06 12:45:36 +02:00
video-overlay-composition.c video-overlay-composition: guard against NULL pointer dereference on error 2014-04-10 12:35:03 +01:00
video-overlay-composition.h video-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION 2014-03-05 20:38:45 +01:00
video-tile.c docs: Assorted documentation and introspection fixes for new 1.4 API 2014-07-02 09:09:44 +02:00
video-tile.h video: Don't use extra plane and componenent for tile format 2014-01-13 10:47:03 -05:00
video.c Fix FSF address 2012-11-03 23:05:09 +00:00
video.h docs: fix some doc blocks 2013-09-09 15:52:05 +02:00
video.vcproj more working plugins 2004-07-27 21:41:30 +00:00
videoorientation.c Fix FSF address 2012-11-03 23:05:09 +00:00
videoorientation.h Fix FSF address 2012-11-03 23:05:09 +00:00
videooverlay.c videoverlay: Don't mention gconf elements and add a sentence about playbin/playsink 2014-01-14 13:20:48 +01:00
videooverlay.h Fix FSF address 2012-11-03 23:05:09 +00:00