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

Reply via email to