On Tue, 30 Sep 2014 08:06:16 +0200 Reimar Döffinger <reimar.doeffin...@gmx.de> wrote:
> On 29.09.2014, at 22:02, Michael Niedermayer <michae...@gmx.at> wrote: > > On Mon, Sep 29, 2014 at 08:34:44PM +0200, wm4 wrote: > >> On Mon, 29 Sep 2014 20:25:47 +0200 > >> Michael Niedermayer <michae...@gmx.at> wrote: > >> > >>> On Mon, Sep 29, 2014 at 07:41:28PM +0200, wm4 wrote: > >>>> Useful for Bluray and DVD, since the libraries used to read them just > >>>> change the byte stream under your feet on seeking. > >>>> > >>>> Maybe there should be a AVInputFormat callback for this. But the > >>>> mpeg-ps (DVD) and the mpeg-ts (Bluray) demuxers don't change much > >>>> state during seeking - they just try to find a new packet with > >>>> timestamps (in read_timestamp), so I haven't found a need for this > >>>> yet. I don't want to add unused things. > >>>> > >>>> I've also thought about adding a flush callback, and implementing > >>>> them in mpeg.c and mpegts.c by just calling ff_read_frame_flush(). > >>>> Might be slightly better, because you can have avformat_flush() fail > >>>> on formats which don't support this? > >>>> > >>>> Or maybe a flag? > >>>> > >>>> TODO: add entry to APIchanges, bump minor version. > >>>> --- > >>>> libavformat/avformat.h | 13 +++++++++++++ > >>>> libavformat/utils.c | 6 ++++++ > >>>> 2 files changed, 19 insertions(+) > >>>> > >>>> diff --git a/libavformat/avformat.h b/libavformat/avformat.h > >>>> index 78054de..eaa52fa 100644 > >>>> --- a/libavformat/avformat.h > >>>> +++ b/libavformat/avformat.h > >>>> @@ -2173,6 +2173,19 @@ int av_seek_frame(AVFormatContext *s, int > >>>> stream_index, int64_t timestamp, > >>>> int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t > >>>> min_ts, int64_t ts, int64_t max_ts, int flags); > >>>> > >>>> /** > >>>> + * Discard all internally buffered data. This can be useful when > >>>> dealing with > >>>> + * discontinuities in the byte stream. Generally works only with some > >>>> simple > >>>> + * formats. > >>> > >>> id call them stream based or without a central header instead of > >>> simple. > >> > >> I can change that and replace "simple" with "headerless". > > > > please do, headerless is more specific > > Why does it require headerless? > I would have expected this feature to work for e.g. Ogg as well, which > clearly is not headerless. > As such I'd claim headerless may be more specific, but it is also wrong. > It should work for all formats that can be read without index and can resync > reliably at least. Do you have any concrete suggestions? I'm not sure what documentation would be most appropriate. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel