[FFmpeg-cvslog] aiffdec: use av_get_audio_frame_duration() to set block_duration for AIFF-C

Justin Ruggles git at videolan.org
Thu Mar 22 21:12:07 CET 2012


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Wed Mar 21 14:36:33 2012 -0400| [2c07c1804831fa0ae6d494a63fdd10facfd6074b] | committer: Justin Ruggles

aiffdec: use av_get_audio_frame_duration() to set block_duration for AIFF-C

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2c07c1804831fa0ae6d494a63fdd10facfd6074b
---

 libavformat/aiffdec.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index bbac1ab..a48d946 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -123,28 +123,27 @@ static unsigned int get_aiff_header(AVFormatContext *s, int size,
             break;
         case CODEC_ID_ADPCM_IMA_QT:
             codec->block_align = 34*codec->channels;
-            aiff->block_duration = 64;
             break;
         case CODEC_ID_MACE3:
             codec->block_align = 2*codec->channels;
-            aiff->block_duration = 6;
             break;
         case CODEC_ID_MACE6:
             codec->block_align = 1*codec->channels;
-            aiff->block_duration = 6;
             break;
         case CODEC_ID_GSM:
             codec->block_align = 33;
-            aiff->block_duration = 160;
             break;
         case CODEC_ID_QCELP:
             codec->block_align = 35;
-            aiff->block_duration = 160;
             break;
         default:
             break;
         }
         size -= 4;
+
+        if (codec->block_align > 0)
+            aiff->block_duration = av_get_audio_frame_duration(codec,
+                                                               codec->block_align);
     } else {
         /* Need the codec type */
         codec->codec_id = aiff_codec_get_id(codec->bits_per_coded_sample);



More information about the ffmpeg-cvslog mailing list