OSDN Git Service

amr: Set the pkt->pos field properly to the start of the packet
authorMartin Storsjö <martin@martin.st>
Wed, 9 Feb 2011 10:16:51 +0000 (12:16 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Mon, 21 Mar 2011 20:31:34 +0000 (21:31 +0100)
Previously, the field pointed to the second byte of the packet
(which is the first byte of the actual AMR payload).

libavformat/amr.c

index f2fecf3..76136e6 100644 (file)
@@ -121,6 +121,7 @@ static int amr_read_packet(AVFormatContext *s,
 {
     AVCodecContext *enc = s->streams[0]->codec;
     int read, size = 0, toc, mode;
+    int64_t pos = avio_tell(s->pb);
 
     if (s->pb->eof_reached)
     {
@@ -157,7 +158,7 @@ static int amr_read_packet(AVFormatContext *s,
     s->streams[0]->codec->bit_rate = size*8*50;
 
     pkt->stream_index = 0;
-    pkt->pos= avio_tell(s->pb);
+    pkt->pos = pos;
     pkt->data[0]=toc;
     pkt->duration= enc->codec_id == CODEC_ID_AMR_NB ? 160 : 320;
     read = avio_read(s->pb, pkt->data+1, size-1);