X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fflvenc.c;h=fb36f662b72525adb389cdb11d70002f0061bfb8;hb=587e3c3426be5f3a457c0c6542e70014e7f58402;hp=922410386e1557fa29c25dd6e7f39d8a571ec937;hpb=4dfc8f69b258f4f30bb1b3e7040f96e1ead5bd5d;p=ffmpeg diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 922410386e1..fb36f662b72 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -37,6 +37,7 @@ static const AVCodecTag flv_video_codec_ids[] = { { AV_CODEC_ID_FLASHSV, FLV_CODECID_SCREEN }, { AV_CODEC_ID_FLASHSV2, FLV_CODECID_SCREEN2 }, { AV_CODEC_ID_VP6F, FLV_CODECID_VP6 }, + { AV_CODEC_ID_VP6, FLV_CODECID_VP6 }, { AV_CODEC_ID_VP6A, FLV_CODECID_VP6A }, { AV_CODEC_ID_H264, FLV_CODECID_H264 }, { AV_CODEC_ID_NONE, 0 } @@ -460,7 +461,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) int flags = -1, flags_size, ret; if (enc->codec_id == AV_CODEC_ID_VP6F || enc->codec_id == AV_CODEC_ID_VP6A || - enc->codec_id == AV_CODEC_ID_AAC) + enc->codec_id == AV_CODEC_ID_VP6 || enc->codec_id == AV_CODEC_ID_AAC) flags_size = 2; else if (enc->codec_id == AV_CODEC_ID_H264 || enc->codec_id == AV_CODEC_ID_MPEG4) flags_size = 5; @@ -538,7 +539,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) if (enc->codec_type == AVMEDIA_TYPE_DATA) { int data_size; - int metadata_size_pos = avio_tell(pb); + int64_t metadata_size_pos = avio_tell(pb); avio_w8(pb, AMF_DATA_TYPE_STRING); put_amf_string(pb, "onTextData"); avio_w8(pb, AMF_DATA_TYPE_MIXEDARRAY); @@ -560,6 +561,8 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) } else { av_assert1(flags>=0); avio_w8(pb,flags); + if (enc->codec_id == AV_CODEC_ID_VP6) + avio_w8(pb,0); if (enc->codec_id == AV_CODEC_ID_VP6F || enc->codec_id == AV_CODEC_ID_VP6A) { if (enc->extradata_size) avio_w8(pb, enc->extradata[0]);