[gst-devel] Writing a transport stream to the disk and reading it at the same time

Julien Pauty julien.pauty at gmail.com
Mon Sep 15 21:15:44 CEST 2008


Hello,

I have an application with two pipelines. The first pipeline writes to the
disk the transport streams provided by a dvbbasebin. My second pipeline
reads the transport streams from the disk.

My problem is that playing stops after a few seconds. I'm waiting a few
seconds before starting playing to be sure that enough data has been saved,
but this is not sufficient. My pipeling looks like this: filesrc !
flutsdemux ! queue ! audiodec ! audiosink ! queue! videodec ! videosink . If
I use the playbin instead of my custom pipeline, it works. However, I still
want to use my pipeline, because it can seek through the transport stream,
whereas I'm not able to seek with the playbin.

With a big file I don't have this problem, suggesting some buffering
problem. My debbuging session tends to show that, if the file is small
(<10meg) the filesrc reads the whole file and send an EOS event. I thought
that I may need some prerolling and I tried to insert a queue between the
filesrc and the demuxer, but this does not help.

I think it's possible to do it since the playbin can handle this.
Unfortunally sources of the playbin are rather complex.

Any idea is welcomed,

Cheers,

Julien
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080915/e2c7166c/attachment.htm>


More information about the gstreamer-devel mailing list