[FFmpeg-cvslog] r11043 - in trunk/libavformat: flvdec.c flvenc.c

alex subversion
Fri Nov 16 01:09:35 CET 2007


Author: alex
Date: Fri Nov 16 01:09:34 2007
New Revision: 11043

Log:
Honor the 8bit extension (now 32bit instaed 24bit) of the pts field introduced in FLV specification v9.

Modified:
   trunk/libavformat/flvdec.c
   trunk/libavformat/flvenc.c

Modified: trunk/libavformat/flvdec.c
==============================================================================
--- trunk/libavformat/flvdec.c	(original)
+++ trunk/libavformat/flvdec.c	Fri Nov 16 01:09:34 2007
@@ -275,10 +275,11 @@ static int flv_read_packet(AVFormatConte
     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)

Modified: trunk/libavformat/flvenc.c
==============================================================================
--- trunk/libavformat/flvenc.c	(original)
+++ trunk/libavformat/flvenc.c	Fri Nov 16 01:09:34 2007
@@ -307,7 +307,8 @@ static int flv_write_packet(AVFormatCont
 
     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);




More information about the ffmpeg-cvslog mailing list