fix duration for ima4
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 25 Feb 2008 11:34:26 +0000 (11:34 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 25 Feb 2008 11:34:26 +0000 (11:34 +0000)
Originally committed as revision 12197 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/aiff.c

index 1fcfd88..dede1d6 100644 (file)
@@ -131,6 +131,7 @@ static unsigned int get_aiff_header(ByteIOContext *pb, AVCodecContext *codec,
             break;
         case CODEC_ID_ADPCM_IMA_QT:
             codec->block_align = 34*codec->channels;
             break;
         case CODEC_ID_ADPCM_IMA_QT:
             codec->block_align = 34*codec->channels;
+            codec->frame_size = 64;
             break;
         default:
             break;
             break;
         default:
             break;
@@ -390,7 +391,8 @@ got_sound:
 
     av_set_pts_info(st, 64, 1, st->codec->sample_rate);
     st->start_time = 0;
 
     av_set_pts_info(st, 64, 1, st->codec->sample_rate);
     st->start_time = 0;
-    st->duration = st->nb_frames;
+    st->duration = st->codec->frame_size ?
+        st->nb_frames * st->codec->frame_size : st->nb_frames;
 
     /* Position the stream at the first block */
     url_fseek(pb, offset, SEEK_SET);
 
     /* Position the stream at the first block */
     url_fseek(pb, offset, SEEK_SET);