[FFmpeg-cvslog] amr: Set the codec->bit_rate field based on the last packet

Martin Storsjö git at videolan.org
Wed Mar 23 03:03:41 CET 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Feb  9 12:13:32 2011 +0200| [2890cba8b50cc8c6656bc5f5cd0ebb5fd80fb5e4] | committer: Luca Barbato

amr: Set the codec->bit_rate field based on the last packet

This allows libavformat to guess an estimated duration for
amr files.

For streams with varying bit rates (or with silence descriptors
or "no frame" blocks) the guess is, of course, inaccurate.

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

 libavformat/amr.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libavformat/amr.c b/libavformat/amr.c
index ba2ed4f..f2fecf3 100644
--- a/libavformat/amr.c
+++ b/libavformat/amr.c
@@ -153,6 +153,9 @@ static int amr_read_packet(AVFormatContext *s,
         return AVERROR(EIO);
     }
 
+    /* Both AMR formats have 50 frames per second */
+    s->streams[0]->codec->bit_rate = size*8*50;
+
     pkt->stream_index = 0;
     pkt->pos= avio_tell(s->pb);
     pkt->data[0]=toc;




More information about the ffmpeg-cvslog mailing list