[gst-devel] blocked glib idle/timeout
Dan Taylor
dtaylor at startrac.com
Wed Mar 25 01:18:10 CET 2009
My simplest test pipeline has dvbsrc, mpegtsdemux (tried flutsdemux,
too), and
two filesinks (location is /dev/null). There's a new pad callback to
connect
the demuxer to the filesinks, which works when the specified program
number
is in the stream.
When I use a program number that exists in the stream, the functions
called with g_idle_add_full() and g_timeout_add_full(), and the shorter
forms, are called. When the program number doesn't exist in the stream,
the timeout is never called, and the idle function stops within a
second.
The application is only consuming 3% of a CPU, though, so it isn't busy-
waiting in the traditionally bad sense.
dvbsrc does not seem to care to where it sources data, and the only
difference
for the demuxer(s) is the the program number exists/does not exist.
Anyone got an idea where the demuxers could be blocking glib idle and
timeout?
I'm working down at the sink end of the stream, so I don't know the
demuxers
very well, but I will look deeper into them if someone knows where to
start.
More information about the gstreamer-devel
mailing list