ffmpeg | branch: master | Steven Liu <[email protected]> | Tue Mar 14 18:11:20 2017 +0800| [4e3cc4bdd8acedbcc703607ed0efbb64bb5c3cc4] | committer: Steven Liu
avformat/flvenc: flx flvflags no_metadata bug When use flvflags no_metadata , the FLV header will be cover by write tailer This commit fix the bug Signed-off-by: Steven Liu <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4e3cc4bdd8acedbcc703607ed0efbb64bb5c3cc4 --- libavformat/flvenc.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index d7506c5..899b07e 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -848,20 +848,22 @@ end: avio_seek(pb, flv->datasize_offset, SEEK_SET); put_amf_double(pb, flv->datasize); } - if (!(flv->flags & FLV_NO_DURATION_FILESIZE)) { - /* update information */ - if (avio_seek(pb, flv->duration_offset, SEEK_SET) < 0) { - av_log(s, AV_LOG_WARNING, "Failed to update header with correct duration.\n"); - } else { - put_amf_double(pb, flv->duration / (double)1000); - } - if (avio_seek(pb, flv->filesize_offset, SEEK_SET) < 0) { - av_log(s, AV_LOG_WARNING, "Failed to update header with correct filesize.\n"); - } else { - put_amf_double(pb, file_size); + if (!(flv->flags & FLV_NO_METADATA)) { + if (!(flv->flags & FLV_NO_DURATION_FILESIZE)) { + /* update information */ + if (avio_seek(pb, flv->duration_offset, SEEK_SET) < 0) { + av_log(s, AV_LOG_WARNING, "Failed to update header with correct duration.\n"); + } else { + put_amf_double(pb, flv->duration / (double)1000); + } + if (avio_seek(pb, flv->filesize_offset, SEEK_SET) < 0) { + av_log(s, AV_LOG_WARNING, "Failed to update header with correct filesize.\n"); + } else { + put_amf_double(pb, file_size); + } } } - avio_seek(pb, file_size, SEEK_SET); + return 0; } _______________________________________________ ffmpeg-cvslog mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
