[Bug 731974] videodecoder: parse source data until a frame is obtained
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Jul 2 04:34:10 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=731974
GStreamer | gst-plugins-base | 1.2.4
Gwenole Beauchesne <gb.devel> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #278848|0 |1
is obsolete| |
--- Comment #10 from Gwenole Beauchesne <gb.devel at gmail.com> 2014-07-02 11:34:06 UTC ---
Created an attachment (id=279744)
View: https://bugzilla.gnome.org/attachment.cgi?id=279744
Review: https://bugzilla.gnome.org/review?bug=731974&attachment=279744
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.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list