summaryrefslogtreecommitdiff
path: root/libavformat/flvdec.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2011-10-12 00:03:20 +0300
committerMartin Storsjö <martin@martin.st>2011-10-12 10:19:47 +0300
commit5e87222fd1dd57483c2a566e6643ca601b0e4e0c (patch)
treecc1d5ce1d6d26d1296f9265095042d65f15cce50 /libavformat/flvdec.c
parentb204c46d9d31af3d8beab359efde246d293cd676 (diff)
flvdec: Don't export metadata entries that aren't proper metadata
This avoids writing these entries doubly if transcoding from flv to flv, since the muxer blindly writes any and all metadata keys set, in addition to the fixed fields that the muxer always writes. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/flvdec.c')
-rw-r--r--libavformat/flvdec.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 815618d5f8..d2f3f51d28 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -296,6 +296,20 @@ static int amf_parse_object(AVFormatContext *s, AVStream *astream, AVStream *vst
acodec->bit_rate = num_val * 1024.0;
}
+ if (!strcmp(key, "duration") ||
+ !strcmp(key, "filesize") ||
+ !strcmp(key, "width") ||
+ !strcmp(key, "height") ||
+ !strcmp(key, "videodatarate") ||
+ !strcmp(key, "framerate") ||
+ !strcmp(key, "videocodecid") ||
+ !strcmp(key, "audiodatarate") ||
+ !strcmp(key, "audiosamplerate") ||
+ !strcmp(key, "audiosamplesize") ||
+ !strcmp(key, "stereo") ||
+ !strcmp(key, "audiocodecid"))
+ return 0;
+
if(amf_type == AMF_DATA_TYPE_BOOL) {
av_strlcpy(str_val, num_val > 0 ? "true" : "false", sizeof(str_val));
av_dict_set(&s->metadata, key, str_val, 0);