[SCM] libav/experimental: Honor the 8bit extension (now 32bit instaed 24bit) of the pts field introduced in FLV specification v9.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:09:34 UTC 2013


The following commit has been merged in the experimental branch:
commit 018b6fb465814f63ef06044283813e971fa40c2b
Author: Alex Beregszaszi <alex at rtfs.hu>
Date:   Fri Nov 16 00:09:34 2007 +0000

    Honor the 8bit extension (now 32bit instaed 24bit) of the pts field introduced in FLV specification v9.
    
    Originally committed as revision 11043 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index e9578c2..0530335 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -275,10 +275,11 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
     type = get_byte(&s->pb);
     size = get_be24(&s->pb);
     pts = get_be24(&s->pb);
+    pts |= get_byte(&s->pb) << 24;
 //    av_log(s, AV_LOG_DEBUG, "type:%d, size:%d, pts:%d\n", type, size, pts);
     if (url_feof(&s->pb))
         return AVERROR(EIO);
-    url_fskip(&s->pb, 4); /* reserved */
+    url_fskip(&s->pb, 3); /* stream id, always 0 */
     flags = 0;
 
     if(size == 0)
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index 2adc303..3901ba7 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -307,7 +307,8 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt)
 
     put_be24(pb,size + flags_size);
     put_be24(pb,pkt->pts);
-    put_be32(pb,flv->reserved);
+    put_byte(pb,pkt->pts >> 24);
+    put_be24(pb,flv->reserved);
     put_byte(pb,flags);
     if (enc->codec_id == CODEC_ID_VP6)
         put_byte(pb,0);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list