[gstreamer-bugs] [Bug 617733] New: wavparse: handle gst_pad_pull_range returning less data than requested
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed May 5 02:22:02 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=617733
GStreamer | gst-plugins-good | 0.10.22
Summary: wavparse: handle gst_pad_pull_range returning less
data than requested
Classification: Desktop
Product: GStreamer
Version: 0.10.22
OS/Version: Windows
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: philipj at opera.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
directsoundsink's ringbuffer was choking when parsing a wave file inside Opera
on a slow network. The cause is that wavparse can push puffers that contain
incomplete samples if gst_pad_pull_range returns less data than requested.
It's not obvious from the documentation if gst_pad_pull_range is allowed to do
this, but it has been my impression since my first implementation of Opera's
internal source element, which pushes as much data as is available if the
request is close to the current download position. (This is a network source so
it should normally be a push source, but in practice seeking just isn't very
well supported in push mode and we really need that. It has served us well.)
If my assumptions are incorrect, then please make it very clear in
gst_pad_pull_range and GstBaseSrcClass.create() that elements *must* return the
requested amount or return GST_FLOW_ERROR, and add asserts to the surrounding
core code ensuring that is actually what happens. I'm not sure how many source
and demux-like elements make assumptions about this behavior.
--
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