[gst-embedded] questions on gst_pad_push() to send audio/video data to codec

Tim Müller tim.muller at collabora.co.uk
Tue Jun 10 01:59:26 PDT 2008


On Tue, 2008-06-10 at 09:35 +0800, Zhao Bin-E6223C wrote:

> If your audio device is not available or your decoder meet some error,
> the data flow will return data_error sometime. Do you handle the error
> in demux element?
>  
> It's better to handle the error in the element where happens and do
> nothing in demux. Because the occasional data flow error don't effect
> the pipline playback.

This is not really how it's supposed to work. If a downstream element
returns GST_FLOW_ERROR (-5), this indicates a fatal error, and streaming
should usually stop. A demuxer that is chain-based should pass
GST_FLOW_ERROR back upstream by returning that from its chain function;
a demuxer driving the pipeline should stop its streaming task. 

The downstream element which has returned GST_FLOW_ERROR (which may be
the decoder, but it could be any element downstream of that as well)
should have posted an error message on the bus (via GST_ELEMENT_ERROR()
ususally) with more details. Did you check for error messages on the
bus?

 Cheers
  -Tim







More information about the Gstreamer-embedded mailing list