gst_element_set_state func to NULL waits for a very long time to complete

declan harrison harrison.declan at gmail.com
Wed Jul 17 13:09:57 PDT 2013


Hi

I have an appliaction that uses the GStrremaer API version 0.10 on RHEL 6.2
64bit architecture.

Under load I see a number of transactions taking a long time when I set the
state to NULL from playing.

PStack indicate calls attempting to get a;lock.  Normally calls to set
state take a few hundred milli-seconds at most.  However the longer the
test goes on i see more transaction taking anything from 5-30 seconds
duration.

The pipleline is using network based I/O to re-compress video content over
HTTP. PStacjk snippets shown below,

I can put the state change off on another thread but I would like to
understand what the root caise of this might be.  Is this an know issue or
am I doing somehting wrong here.

Thanks
Declan

PStack indicates the following ;

0x0000003890a0e054 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x0000003890a09388 in _L_lock_854 () from /lib64/libpthread.so.0
#2  0x0000003890a09257 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x0000003891a61f48 in g_static_rec_mutex_lock () from
/lib64/libglib-2.0.so.0
#4  0x00007fe1bf3d625a in gst_element_set_state_func () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so

or

Thread 84 (Thread 0x7fe1a1c2d700 (LWP 15521)):
#0  0x0000003890a0e054 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x0000003890a09388 in _L_lock_854 () from /lib64/libpthread.so.0
#2  0x0000003890a09257 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007fe1be943f15 in gst_base_sink_change_state () from
/opt/opwv/gstreamer/1.0/lib/libgstbase-0.10.so
#4  0x00007fe1bf3d2b6c in gst_element_change_state () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#5  0x00007fe1bf3d6538 in gst_element_set_state_func () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#6  0x00007fe1bf3c218c in gst_bin_change_state_func () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#7  0x00007fe1bf3f7540 in gst_pipeline_change_state () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#8  0x00007fe1bf3d2b6c in gst_element_change_state () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#9  0x00007fe1bf3d6538 in gst_element_set_state_func () from
/opt/opwv/gstreamer/1.0/lib/libgstreamer-0.10.so
#10 0x00007fe1bf68e2c4 in ?? ()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130717/ba29c510/attachment.html>


More information about the gstreamer-devel mailing list