Просмотр исходного кода

FLV Metadata

Patch by Tomás Touceda, chiiph gentoo org

Originally committed as revision 25101 to svn://svn.ffmpeg.org/ffmpeg/trunk
Tomás Touceda 14 лет назад
Родитель
Сommit
16f825085a
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      libavformat/flvenc.c

+ 8 - 0
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