Skip to content

Commit 4e3cc4b

Browse files
committed
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]>
1 parent d3ce067 commit 4e3cc4b

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

libavformat/flvenc.c

+14-12
Original file line numberDiff line numberDiff line change
@@ -848,20 +848,22 @@ static int flv_write_trailer(AVFormatContext *s)
848848
avio_seek(pb, flv->datasize_offset, SEEK_SET);
849849
put_amf_double(pb, flv->datasize);
850850
}
851-
if (!(flv->flags & FLV_NO_DURATION_FILESIZE)) {
852-
/* update information */
853-
if (avio_seek(pb, flv->duration_offset, SEEK_SET) < 0) {
854-
av_log(s, AV_LOG_WARNING, "Failed to update header with correct duration.\n");
855-
} else {
856-
put_amf_double(pb, flv->duration / (double)1000);
857-
}
858-
if (avio_seek(pb, flv->filesize_offset, SEEK_SET) < 0) {
859-
av_log(s, AV_LOG_WARNING, "Failed to update header with correct filesize.\n");
860-
} else {
861-
put_amf_double(pb, file_size);
851+
if (!(flv->flags & FLV_NO_METADATA)) {
852+
if (!(flv->flags & FLV_NO_DURATION_FILESIZE)) {
853+
/* update information */
854+
if (avio_seek(pb, flv->duration_offset, SEEK_SET) < 0) {
855+
av_log(s, AV_LOG_WARNING, "Failed to update header with correct duration.\n");
856+
} else {
857+
put_amf_double(pb, flv->duration / (double)1000);
858+
}
859+
if (avio_seek(pb, flv->filesize_offset, SEEK_SET) < 0) {
860+
av_log(s, AV_LOG_WARNING, "Failed to update header with correct filesize.\n");
861+
} else {
862+
put_amf_double(pb, file_size);
863+
}
862864
}
863865
}
864-
avio_seek(pb, file_size, SEEK_SET);
866+
865867
return 0;
866868
}
867869

0 commit comments

Comments
 (0)