compute pts according to the audio codec
authorAurelien Jacobs <aurel@gnuage.org>
Thu, 18 Oct 2007 23:40:03 +0000 (23:40 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Thu, 18 Oct 2007 23:40:03 +0000 (23:40 +0000)
Originally committed as revision 10803 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/electronicarts.c

index 02099545f404058a2f8383b2c5af694afa54787d..fadf2fbaa418067dcc2c532376c967748c5e1bbf 100644 (file)
@@ -304,10 +304,17 @@ static int ea_read_packet(AVFormatContext *s,
                     pkt->pts *= ea->audio_frame_counter;
                     pkt->pts /= ea->sample_rate;
 
+                    switch (ea->audio_codec) {
+                    case CODEC_ID_ADPCM_EA:
                     /* 2 samples/byte, 1 or 2 samples per frame depending
                      * on stereo; chunk also has 12-byte header */
                     ea->audio_frame_counter += ((chunk_size - 12) * 2) /
                         ea->num_channels;
+                        break;
+                    default:
+                        ea->audio_frame_counter += chunk_size /
+                            (ea->bytes * ea->num_channels);
+                    }
             }
 
             packet_read = 1;