mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +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> |
||
---|---|---|
.. | ||
.gitignore | ||
colorbalance.c | ||
colorbalance.h | ||
colorbalancechannel.c | ||
colorbalancechannel.h | ||
convertframe.c | ||
gstvideodecoder.c | ||
gstvideodecoder.h | ||
gstvideoencoder.c | ||
gstvideoencoder.h | ||
gstvideofilter.c | ||
gstvideofilter.h | ||
gstvideometa.c | ||
gstvideometa.h | ||
gstvideopool.c | ||
gstvideopool.h | ||
gstvideosink.c | ||
gstvideosink.h | ||
gstvideoutils.c | ||
gstvideoutils.h | ||
Makefile.am | ||
navigation.c | ||
navigation.h | ||
TODO | ||
video-blend.c | ||
video-blend.h | ||
video-chroma.c | ||
video-chroma.h | ||
video-color.c | ||
video-color.h | ||
video-event.c | ||
video-event.h | ||
video-format.c | ||
video-format.h | ||
video-frame.c | ||
video-frame.h | ||
video-info.c | ||
video-info.h | ||
video-orc-dist.c | ||
video-orc-dist.h | ||
video-orc.orc | ||
video-overlay-composition.c | ||
video-overlay-composition.h | ||
video-tile.c | ||
video-tile.h | ||
video.c | ||
video.h | ||
video.vcproj | ||
videoorientation.c | ||
videoorientation.h | ||
videooverlay.c | ||
videooverlay.h |