summaryrefslogtreecommitdiff
path: root/libavformat/flvenc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/flvenc.c')
-rw-r--r--libavformat/flvenc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index bbf91ff00b..29b7b1d1ef 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -22,6 +22,7 @@
#include "flv.h"
#include "internal.h"
#include "avc.h"
+#include "metadata.h"
#undef NDEBUG
#include <assert.h>
@@ -176,6 +177,7 @@ static int flv_write_header(AVFormatContext *s)
int i;
double framerate = 0.0;
int metadata_size_pos, data_size;
+ AVMetadataTag *tag = NULL;
for(i=0; i<s->nb_streams; i++){
AVCodecContext *enc = s->streams[i]->codec;
@@ -272,6 +274,12 @@ static int flv_write_header(AVFormatContext *s)
put_amf_double(pb, audio_enc->codec_tag);
}
+ while ((tag = av_metadata_get(s->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX))) {
+ put_amf_string(pb, tag->key);
+ put_byte(pb, AMF_DATA_TYPE_STRING);
+ put_amf_string(pb, tag->value);
+ }
+
put_amf_string(pb, "filesize");
flv->filesize_offset= url_ftell(pb);
put_amf_double(pb, 0); // delayed write