change "location" of filesrc element without breaking tcpserversink connection

Serhiy Stetskovych patriotyk at
Thu Jul 25 15:10:44 PDT 2013

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>

> On Thu, Jul 25, 2013 at 6:44 AM, Serhiy Stetskovych <patriotyk at>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.
>> <>
> 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.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list