# HG changeset patch # User alex # Date 1195171774 0 # Node ID 8258fb5a6aa0de087d78f6812b176f9bfba3f7bb # Parent bb9c77d499dde24a3ff7ed63ab4c2672151675f6 Honor the 8bit extension (now 32bit instaed 24bit) of the pts field introduced in FLV specification v9. diff -r bb9c77d499dd -r 8258fb5a6aa0 flvdec.c --- a/flvdec.c Thu Nov 15 23:53:19 2007 +0000 +++ b/flvdec.c Fri Nov 16 00:09:34 2007 +0000 @@ -275,10 +275,11 @@ 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 -r bb9c77d499dd -r 8258fb5a6aa0 flvenc.c --- a/flvenc.c Thu Nov 15 23:53:19 2007 +0000 +++ b/flvenc.c Fri Nov 16 00:09:34 2007 +0000 @@ -307,7 +307,8 @@ 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);