Corrupted Metadata from filesink element

Tim Müller tim at centricular.com
Wed Sep 3 13:20:35 PDT 2014


On Wed, 2014-09-03 at 19:40 +0100, Prabhakar Lad wrote:

Hi,

> I have the following pipieline in which the queue is holding data for
> min-threshold time ie, for arround 10 seconds, the queue is connected
> to 'valve' element in which drop property is set to TRUE, and the
> valve is connected to filesink and the pipeline is streaming.
>              ----------- -        ----------       ------------
>  src        |            |       |         |       |            |
> --------->   | queue  | ---->| valve |----->| filesink |
>               |------------|       |----------|       |------------
> 
> 
> After getting some event I change the min-threshold to zero and the
> drop property of valve to false so that it writes to the file.
> The pipeline works fine, but the mp4 created by this is not recognized
> by any media players.
> 
> I recon the gstreamer is not writing the metadata properly.
> 
> What could be the issue any pointers would be helpful.

Is the mp4mux before or after the valve?

It must after the valve, as mp4 is not a streaming format, you can't
just write some data and not write other data, the entire output stream
needs to be intact and written to file as output.

Also, when done you need to make sure that mp4mux and filesink receive
and process an eos event so that the file get finalised properly and
headers get written.

Cheers
 -Tim
-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list