Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Unified Diff: patched-ffmpeg-mt/libavformat/avienc.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patched-ffmpeg-mt/libavformat/avienc.c
===================================================================
--- patched-ffmpeg-mt/libavformat/avienc.c (revision 41250)
+++ patched-ffmpeg-mt/libavformat/avienc.c (working copy)
@@ -21,6 +21,7 @@
#include "avformat.h"
#include "avi.h"
#include "riff.h"
+#include "libavutil/intreadwrite.h"
/*
* TODO:
@@ -114,15 +115,6 @@
}
}
-static void avi_write_info_tag2(AVFormatContext *s, const char *fourcc, const char *key1, const char *key2)
-{
- AVMetadataTag *tag= av_metadata_get(s->metadata, key1, NULL, 0);
- if(!tag && key2)
- tag= av_metadata_get(s->metadata, key2, NULL, 0);
- if(tag)
- avi_write_info_tag(s->pb, fourcc, tag->value);
-}
-
static int avi_write_counters(AVFormatContext* s, int riff_id)
{
ByteIOContext *pb = s->pb;
@@ -164,6 +156,7 @@
int bitrate, n, i, nb_frames, au_byterate, au_ssize, au_scale;
AVCodecContext *stream, *video_enc;
int64_t list1, list2, strh, strf;
+ AVMetadataTag *t = NULL;
for(n=0;n<s->nb_streams;n++) {
s->streams[n]->priv_data= av_mallocz(sizeof(AVIStream));
@@ -294,6 +287,15 @@
return -1;
}
ff_end_tag(pb, strf);
+ if ((t = av_metadata_get(s->streams[i]->metadata, "strn", NULL, 0))) {
+ avi_write_info_tag(s->pb, t->key, t->value);
+ t = NULL;
+ }
+ //FIXME a limitation of metadata conversion system
+ else if ((t = av_metadata_get(s->streams[i]->metadata, "INAM", NULL, 0))) {
+ avi_write_info_tag(s->pb, "strn", t->value);
+ t = NULL;
+ }
}
if (!url_is_streamed(pb)) {
@@ -370,15 +372,10 @@
list2 = ff_start_tag(pb, "LIST");
put_tag(pb, "INFO");
- avi_write_info_tag2(s, "INAM", "Title", NULL);
- avi_write_info_tag2(s, "IART", "Artist", "Author");
- avi_write_info_tag2(s, "ICOP", "Copyright", NULL);
- avi_write_info_tag2(s, "ICMT", "Comment", NULL);
- avi_write_info_tag2(s, "IPRD", "Album", NULL);
- avi_write_info_tag2(s, "IGNR", "Genre", NULL);
- avi_write_info_tag2(s, "IPRT", "Track", NULL);
- if(!(s->streams[0]->codec->flags & CODEC_FLAG_BITEXACT))
- avi_write_info_tag(pb, "ISFT", LIBAVFORMAT_IDENT);
+ for (i = 0; *ff_avi_tags[i]; i++) {
+ if ((t = av_metadata_get(s->metadata, ff_avi_tags[i], NULL, AV_METADATA_MATCH_CASE)))
+ avi_write_info_tag(s->pb, t->key, t->value);
+ }
ff_end_tag(pb, list2);
/* some padding for easier tag editing */
@@ -647,4 +644,5 @@
avi_write_trailer,
.codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, 0},
.flags= AVFMT_VARIABLE_FPS,
+ .metadata_conv = ff_avi_metadata_conv,
};

Powered by Google App Engine
This is Rietveld 408576698