Should should fix seeking in some blurays in combination with e.g. MPlayer. Not yet tested due to no bluray at hand.
Signed-off-by: Reimar Döffinger <reimar.doeffin...@gmx.de> --- libavformat/mpegts.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 3434341..c04e156 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2659,6 +2659,12 @@ void ff_mpegts_parse_close(MpegTSContext *ts) av_free(ts); } +static int mpegts_read_seek(AVFormatContext *s, int stream_index, + int64_t ts, int flags) +{ + return avio_seek_time(s->pb, stream_index, ts, flags); +} + AVInputFormat ff_mpegts_demuxer = { .name = "mpegts", .long_name = NULL_IF_CONFIG_SMALL("MPEG-TS (MPEG-2 Transport Stream)"), @@ -2668,6 +2674,7 @@ AVInputFormat ff_mpegts_demuxer = { .read_packet = mpegts_read_packet, .read_close = mpegts_read_close, .read_timestamp = mpegts_get_dts, + .read_seek = mpegts_read_seek, .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT, .priv_class = &mpegts_class, }; @@ -2680,6 +2687,7 @@ AVInputFormat ff_mpegtsraw_demuxer = { .read_packet = mpegts_raw_read_packet, .read_close = mpegts_read_close, .read_timestamp = mpegts_get_dts, + .read_seek = mpegts_read_seek, .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT, .priv_class = &mpegtsraw_class, }; -- 1.9.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel