[gstreamer-bugs] [Bug 394174] New: starved loop function of leaky queue with busy source
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Mon Jan 8 01:31:42 PST 2007
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=394174
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: starved loop function of leaky queue with busy source
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: ensonic at sonicpulse.de
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
imagine having a pipeline like:
v4l2src ! queue leaky=1 max-size-buffers=15 ! xvimagesink
running on a resource limmited device. The v4l2src captures at a rate, that
xvimagesink can handle always (e.g. on high system load). What I observe in
this scenario is that the loop_function that runs in the queue.src task is
called just once (the initial frame). Later the v4l2src.src task runs and
pushes buffers on the queue. The queue reports that it is full and drops
(leaking). Even though that buffers are available (and thus the condition that
the v4l2src.src task waits on gets triggered) the queue does not push out any
buffers.
When I limmit the number of frames captured (num-buffers property), I can see
that once the v4l2src stops capturing, the queue empties.
Unfortunately I have a hard time to reproduce this on an x86 system. I tried to
run this with no luck:
GST_DEBUG="xvimagesink:3,queue*:4" nice -n19 gst-launch-0.10 -t videotestsrc
is-live=true !
video/x-raw-yuv,width=6400,height=4800,framerate='(fraction)'30/1 ! queue
leaky=1 max-size-buffers=15 max-size-time=0 max-size-bytes=0 ! videoscale !
video/x-raw-yuv,width=800,height=600,framerate='(fraction)'30/1 ! xvimagesink
sync=false qos=false
attached is the log of the og running this pipeline on the embedded device:
GST_DEBUG="xvimagesink:3,queue*:4,task:4" gst-launch-0.10 v4l2src
num-buffers=10 !
video/x-raw-yuv,width=176,height=144,framerate='(fraction)'15/1 ! queue leaky=1
max-size-buffers=5 max-size-time=0 max-size-bytes=0 ! xvimagesink sync=false
qos=false
Please note that I modified the debug output slighly (change levels and added
log statements).
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list