change "location" of filesrc element without breaking tcpserversink connection

Serhiy Stetskovych patriotyk at gmail.com
Thu Jul 25 16:04:06 PDT 2013


I think the second option with locking might help me but I don't understand
how to use it.


2013/7/25 Serhiy Stetskovych <patriotyk at gmail.com>

> Just investigated and found that after changing location, stream begins
> with new webm header. So Is it possible to create one stream from several
> files?
>
>
> 2013/7/25 Serhiy Stetskovych <patriotyk at gmail.com>
>
>> Thank you,
>> I have tried with state READY and thought it don't work, but problem
>> wasn't in connection. Looks like when file reaches end, gstreamer sends
>> some end information, or there is some gap between streams or something
>> else. Because connections still alive, but video didn't displays in
>> browser, it begin playing again after refresh(reconnect)
>>
>>
>> 2013/7/25 Stirling Westrup <swestrup at gmail.com>
>>
>>>  On Thu, Jul 25, 2013 at 6:44 AM, Serhiy Stetskovych <
>>> patriotyk at gmail.com> wrote:
>>>
>>>> Hello, I have a problem with changing media file in filesrc. After
>>>> finishing playing one file I get event and in this point I need change
>>>> media file to another but without breaking clients connected to
>>>> tcpserversink. I can change file only after setting STATE_NULL, and  then
>>>> setting back to STATE_PLAYING. But this breaks all my connections.
>>>>
>>>> Actually I use multifdsink with writing to sockets, but in explanation
>>>> above I wrote about tcpserversink because It is easier to explain, but I
>>>> think it doesnt matter.
>>>> <http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>>>
>>> You have two options. First, you can change the media file in filesrc
>>> when you are in STATE_READY rather than STATE_NULL. You only really need to
>>> go into STATE_NULL when you are about to dismantle your pipeline (ie for
>>> program cleanup).
>>>
>>> If for some reason you have to put filesrc in a state that causes your
>>> sink to perform an action you don't like, you can LOCK the state of the
>>> sink so it ignores requests to change state. This is done with one of the
>>> gst_element_... function calls.
>>>
>>>
>>> --
>>> Stirling Westrup
>>> Programmer, Entrepreneur.
>>> https://www.linkedin.com/e/fpf/77228
>>> http://www.linkedin.com/in/swestrup
>>> http://technaut.livejournal.com
>>> http://sourceforge.net/users/stirlingwestrup
>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130725/c70b0432/attachment-0001.html>


More information about the gstreamer-devel mailing list