<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div>Hello
<div dir="ltr">
<div><br>
</div>
<div>I have a mobile(android) app with gst and unfortunately it hangs occasionally after a seek. I've been searching for several weeks and just can't get any further. Therefore, I hope that I can get this way a few tips on what I could still do.</div>
<div><br>
</div>
<div>The pipeline is attached in the image.</div>
<div>But in this case it is not a UDP Src but a souphttpsrc.</div>
<div><br>
</div>
<div>After a seek sometimes the pipeline doesn't get into the playing state anymore.</div>
<div>So I can't read from the queue of the appsink anymore. It hangs and triggers a deadlock.</div>
<div><br>
</div>
<div> gst_element_seek_simple(customData->pipeline, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT),time_nanoseconds)</div>
<div><br>
</div>
<div><br>
</div>
<div>I tried it with a flush before the seek.</div>
<div><br>
</div>
<div>To get appropriate log output I set the loglevels like this.</div>
<div><br>
</div>
<div> setenv("GST_DEBUG", "GST_TRACER:7,GST_BUFFER*:3,GST_EVENT:9,GST_MESSAGE:9,appsink:9,queue:9", true);</div>
<div> setenv("GST_TRACERS", "leaks(GstEvent,GstMessage)", true);</div>
<div><br>
</div>
<div>Of course this generates a lot of output. Therefore, I attached the logfile.</div>
<div><br>
</div>
<div>If my app can't get any data from the appsink for a certain time, then I run through the pipeline and output each state. So you can see that both appsinks (each for audio/video) are still hanging in the pause state.</div>
<div>Even if I try to set them explicitly to playing nothing happens.</div>
<div>I also can't get</div>
<div><br>
</div>
<div> g_signal_emit_by_name(mAppSink, "pull-sample", &sample);</div>
<div><br>
</div>
<div>or similar on the appsink anymore.</div>
<div><br>
</div>
<div>It seems that the gst-libs/gst/app/gstappsink.c it hands on a mutex code. I don't know why.</div>
<div><br>
</div>
<div>I suspect that some buffer is full and I do not know why</div>
<div><br>
</div>
<div>every now and then I get
<div>"Got data flow before segment event"</div>
but it doesn't seem to be the problem because it sometimes works anyway.</div>
<div><br>
</div>
<div>What can I do to get to the bottom of this?</div>
<div><br>
</div>
<div>Regards</div>
<div><br>
</div>
Patrick
<div>
<div id="x_Signature">
<div>
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<br>
<p style="margin-top: 0px; margin-bottom: 0px;margin-top:0px; margin-bottom:0px">
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>