I am working on a ARM video server streaming a H264 flow of data over RTP
I am using appsrc module to inject data into the pipeline.
The server must start/stop streaming on remote-request basis; to satisfy
this request I do gst_element_set_state (pipeline, GST_STATE_PLAYING) to
start the streaming and
gst_element_set_state (pipeline, GST_STATE_PAUSED) to stop the streaming.
In other words the operation sequence is:
- create the pipeline and set its state to GST_STATE_PAUSED;
- wait for a StartStreaming request;
- set the pipeline status to GST_STATE_PLAYING and begin to inject data
into the pipeline by means of push-buffer signal;
- when a StopStreaming request arrive, set GST_STATE_PAUSED the
- and so on...
The problem is that after the second StartStreaming request is received ,
all the push-buffer operations return with GST_FLOW_UNEXPECTED error.
Can someone can help me?
>I am working on a ARM video server streaming a H264 flow of data over RTP
>I am using appsrc module to inject data into the pipeline.
>The server must start/stop streaming on remote-request basis;
I am working on the similar functionality for my hobby project
(www.gitorious.org/veter/pages/Home) and were also facing different problems
with restarting pipeline. That is why I decide to completely destroy/create
pipeline instead of pausing it. It does not take much time to (re)create the
pipeline and this delay is not really a problem for the interactive users. Sorry
for not answering your question directly, but I thought that the idea could be
used at least as a workaround in your case.