Browse code

avformat/flvenc: add no_metadata to flvflags

some flv have no metadata,
ffmpeg will same with the source flv stream.

Signed-off-by: Steven Liu <lingjiujianke@gmail.com>

Steven Liu authored on 2016/11/21 21:26:11
Showing 2 changed files
... ...
@@ -148,6 +148,9 @@ Place AAC sequence header based on audio stream data.
148 148
 @item no_sequence_end
149 149
 Disable sequence end tag.
150 150
 
151
+@item no_metadata
152
+Disable metadata tag.
153
+
151 154
 @item add_keyframe_index
152 155
 Used to facilitate seeking; particularly for HTTP pseudo streaming.
153 156
 @end table
... ...
@@ -67,6 +67,7 @@ typedef enum {
67 67
     FLV_AAC_SEQ_HEADER_DETECT = (1 << 0),
68 68
     FLV_NO_SEQUENCE_END = (1 << 1),
69 69
     FLV_ADD_KEYFRAME_INDEX = (1 << 2),
70
+    FLV_NO_METADATA = (1 << 3),
70 71
 } FLVFlags;
71 72
 
72 73
 typedef struct FLVFileposition {
... ...
@@ -744,7 +745,11 @@ static int flv_write_header(AVFormatContext *s)
744 744
             flv->reserved = 5;
745 745
         }
746 746
 
747
-    write_metadata(s, 0);
747
+    if (flv->flags & FLV_NO_METADATA) {
748
+        pb->seekable = 0;
749
+    } else {
750
+        write_metadata(s, 0);
751
+    }
748 752
 
749 753
     for (i = 0; i < s->nb_streams; i++) {
750 754
         flv_write_codec_header(s, s->streams[i]->codecpar);
... ...
@@ -1055,6 +1060,7 @@ static const AVOption options[] = {
1055 1055
     { "flvflags", "FLV muxer flags", offsetof(FLVContext, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" },
1056 1056
     { "aac_seq_header_detect", "Put AAC sequence header based on stream data", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_AAC_SEQ_HEADER_DETECT}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" },
1057 1057
     { "no_sequence_end", "disable sequence end for FLV", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_NO_SEQUENCE_END}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" },
1058
+    { "no_metadata", "disable metadata for FLV", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_NO_METADATA}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" },
1058 1059
     { "add_keyframe_index", "Add keyframe index metadata", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_ADD_KEYFRAME_INDEX}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" },
1059 1060
     { NULL },
1060 1061
 };