[vlc-devel] [PATCH] Add an access-demux which can retrieve raw subtitles

Pierre Ynard linkfanel at yahoo.fr
Wed Mar 24 07:35:10 CET 2010

> Hmm no, there is really nothing wrong with the cache.

Apparently, stream_ReadLine() blocks unless there is enough data to be
put into the cache. Which means that I can never fetch the last line
of text that was just input. I have to wait until tens more lines of
text are input, which might happen minutes or hours later, or simply
never. So this is not a timestamp problem, this is a problem of fetching
data that should be available, but that the stream layer fails to fetch
because it's too greedy.

> You simply cannot get away without timestamps. There is a cache
> between the demux and the codec as well, and possibly between the
> codec and the output. Besides, you need to specify the timespan of the
> text anyway, no?

The semantics of "raw text" can hardly define any timing information.
The demux can generate timestamps with mdate() the moment it processes
the data. It's good enough.

As for the timespan, it can be specified with a module option, or
whatever writes the subtitles on the fly can input an empty one when
it's time to clear the previous one. But this question is not specific
to this module; there are several blurry areas related to this across
VLC: the live555 demux has nothing to fill in the timespan information
either, some muxers encode the timespan in a field, others by generating
an empty subtitle, sometimes the information is just lost...

> To inject text in real time, why don't you use the marquee filter?

The marquee filter is a video filter that works on the computer actually
rendering the video. It can't be used to add a subtitle track to a
stream that is going to be restreamed.

Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."

More information about the vlc-devel mailing list