changeset 5943:57789f5d12cf libavformat

Dont try to compute AVPacket duration for possibly interlaced video codecs when no parser is available. This partly fixes the frame rate misdetection in issue1756.
author michael
date Fri, 09 Apr 2010 22:39:39 +0000
parents b106b59bf663
children 88cce1b69115
files utils.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/utils.c	Thu Apr 08 09:47:32 2010 +0000
+++ b/utils.c	Fri Apr 09 22:39:39 2010 +0000
@@ -739,6 +739,11 @@
             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: