[FFmpeg-devel] FW: pts/dts generation and index for mpegts (vob)
Erik Van Grunderbeeck
Wed Jun 17 04:28:46 CEST 2009
<cutting a bit, I'll come up with a proposal based in your input (and others
if they chime in)>
>Demuxer or protocol internal elements need to be closed in the demuxer
>Humm freeing per stream index you mean ? Possible.
>I think for this return AVERROR_EOS (End Of Stream) might be nice.
>After this, user can free everything through an API in libavformat if
Yes. Closing at handler level works fine.
Consider this however: DVD playback starts with the "Don't copy DVD". Then
automatically goes to "intro/preview" and finally "movie". You don't want to
close everything (all streams, context's, etc).
What I do now is send a "reset" event through what is now the
CODEC_TYPE_DATA stream. This closes audio/video/sub codecs and flushes
streams. Decoding continues, and then any new streams are added by muxer and
re-opened at app level.
But; the index file isn't closed, neither are some timestamps reset. Since
that's at file context level. You can't close the file context, and re-open
it, since that closes down the protocol handles (and also the vm and any
states it is in).
>>> Make it generic _enough_ for what's _needed_.
>> <grin> that's like saying: "pray to all gods, and hope you picked the
>> one when the curtain falls"
>Just hope your API will work with Blu-ray :)
I have faith ;)
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
More information about the ffmpeg-devel