summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/utils.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index aa779ed80d..eaa912612f 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -739,6 +739,11 @@ static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
if (pc && pc->repeat_pict) {
*pnum = (*pnum) * (1 + pc->repeat_pict);
}
+ //If this codec can be interlaced or progressive then we need a parser to compute duration of a packet
+ //Thus if we have no parser in such case leave duration undefined.
+ if(st->codec->ticks_per_frame>1 && !pc){
+ *pnum = *pden = 0;
+ }
}
break;
case AVMEDIA_TYPE_AUDIO: