diff options
author | Gaullier Nicolas <nicolas.gaullier@arkena.com> | 2014-05-14 16:25:13 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-05-16 15:22:05 +0200 |
commit | 85349d8d00fd117414d47decdd652c1b84a2de63 (patch) | |
tree | 613706780cbc412bce1db2ce8459303548b17b6a /libavformat | |
parent | bac08cf086bb1732efe110a611283f690f39a6cc (diff) | |
download | ffmpeg-85349d8d00fd117414d47decdd652c1b84a2de63.tar.gz |
estimate_timings_from_pts: Warn about A/V streams for which no duration could be set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/utils.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index d84d6053ff..fd717b15c2 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2533,6 +2533,20 @@ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset) filesize > (DURATION_MAX_READ_SIZE << retry) && ++retry <= DURATION_MAX_RETRY); + /* warn about audio/video streams which duration could not be estimated */ + for (i = 0; i < ic->nb_streams; i++) { + st = ic->streams[i]; + if (st->duration == AV_NOPTS_VALUE) { + switch (st->codec->codec_type) { + case AVMEDIA_TYPE_VIDEO: + case AVMEDIA_TYPE_AUDIO: + if (st->start_time != AV_NOPTS_VALUE || st->first_dts != AV_NOPTS_VALUE) { + av_log(ic, AV_LOG_DEBUG, "stream %d : no PTS found at end of file, duration not set\n", i); + } else + av_log(ic, AV_LOG_DEBUG, "stream %d : no TS found at start of file, duration not set\n", i); + } + } + } fill_all_stream_timings(ic); avio_seek(ic->pb, old_offset, SEEK_SET); |