summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorGaullier Nicolas <nicolas.gaullier@arkena.com>2014-05-14 16:25:13 +0000
committerMichael Niedermayer <michaelni@gmx.at>2014-05-16 15:22:05 +0200
commit85349d8d00fd117414d47decdd652c1b84a2de63 (patch)
tree613706780cbc412bce1db2ce8459303548b17b6a /libavformat
parentbac08cf086bb1732efe110a611283f690f39a6cc (diff)
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.c14
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);