gst-streaming-server stalls

marcin at saepia.net marcin at saepia.net
Tue Jan 15 09:56:31 PST 2013


I think I found the solution at least for my case.

My app has multiple audio branches, mixed using adder. It sends EOS
event to some elements that are in the branches, and then capture them
just before they reach adder. Those branches are also dynamically
detached from adder when branch reaches EOS, regardless if it was
"real" EOS or EOS triggered by me. Obviously, detaching involves using
asynchronous pad blocking.

I've found by anaylzing app with gdb that if I send EOS while async
pad blocking is in progress, this EOS event can trigger pad block
callback and then callback gets called again when real block happen.
Surprisingly, it happens even with mentioned patch that should prevent
calling callback twice.

It was trivial to avoid such case just by checking pad block state. I
am also checking now if EOS was already triggered and avoid triggering
it twice.

Since I've made those fixes, I got no stalls, but it is only one day
since I made it. But in previous days I got stalls up to 10 times a
day...

Maybe this can lead you to the soluton.

m.

2013/1/14 Gary Thomas <gary at mlbassoc.com>:
> On 2013-01-13 15:54, marcin at saepia.net wrote:
>>
>> Gary,
>>
>> I've created handler for this bug
>> https://bugzilla.gnome.org/show_bug.cgi?id=679950 and noticed that it
>> happens quite often just before app stalls.
>>
>> So I am going try to patch 0.10.36 with this
>>
>>
>> http://cgit.freedesktop.org/gstreamer/gstreamer/patch/?id=cce71223d7b2f8227301f0724a18fc647f0cfd06
>>
>> and see if problem remains.
>>
>> If you could do the same it will be helpful in tracking down this issue,
>
>
> No change, sorry
>
>
>>
>> Marcin
>>
>> 2013/1/12 Gary Thomas <gary at mlbassoc.com>:
>>>
>>> On 2013-01-11 06:34, marcin at saepia.net wrote:
>>>>
>>>>
>>>> I have an Gst 0.10 app where I don't use gst-streaming-server but
>>>> achieve something similar by just a bunch of dynamic pipelines +
>>>> libsoup-based HTTP server and I also expect strange stalls but I am
>>>> unable to figure out what's causing this... It just stops for a while.
>>>>
>>>> Which versions of Gst and associated libraries you use? Maybe there's
>>>> a pattern...
>>>
>>>
>>>
>>> I'm stuck in the past (little hope of moving to 1.x for this project):
>>>    gstreamer 0.10.36
>>>    gst-plugins-base 0.10.36
>>>    gst-plugins-good 0.10.31
>>>    gst-plugins-bad 0.10.23
>>>    gst-streaming-server git:0626120ff5672bcbfc7394e4a8bb08cdb602cbac
>>>
>>>
>>>> 2013/1/10 David Schleef <ds at schleef.org>:
>>>>>
>>>>>
>>>>> On Tue, Jan 08, 2013 at 09:53:28AM -0700, Gary Thomas wrote:
>>>>>>
>>>>>>
>>>>>> I'm trying to run the gst-streaming-server, using one of the
>>>>>> sample streaming sources provided with that package.  It sort
>>>>>> of works, but the stream(s) are erratic and often just stop for
>>>>>> long periods of time.  The stream has a time overlay and what
>>>>>> I see is the timer stop and then when the video starts playing
>>>>>> again, the timer carries on just where it left off. For example,
>>>>>> it might pause at time 05.07 sec and wait 60 seconds before
>>>>>> playing anything else and when it does, the timer continues
>>>>>> right at 05.07 seconds and counting.  However, I can see HTTP
>>>>>> traffic between my web browser and the server even when the
>>>>>> video is stalled, so I'm really confused!
>>>>>>
>>>>>> I also get very different displays depending on the browser.
>>>>>> FireFox (17.0.1) seems to stall less frequently, but it doesn't
>>>>>> even show the timer overlay (that one really stumps me).  Google
>>>>>> Chrome (20.0.1132.47 Ubuntu 12.04 (144678)) stalls a lot but
>>>>>> does show the timer.
>>>>>
>>>>>
>>>>>
>>>>> These sound like problems in the client playback.  It is good to
>>>>> also verify with Totem and VLC, as they have more robust and mature
>>>>> playback engines.
>>>>>
>>>>> The pipeline you listed is just the push-icecast-webm script, which
>>>>> is frequently tested and is known to work.
>>>>>
>>>>>
>>>>>
>>>>> David
>>>>>
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>
>>> --
>>> ------------------------------------------------------------
>>> Gary Thomas                 |  Consulting for the
>>> MLB Associates              |    Embedded world
>>> ------------------------------------------------------------
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> --
> ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------------------------------------


More information about the gstreamer-devel mailing list