mirror of https://git.ffmpeg.org/ffmpeg.git
lavf: Rewrite metadata printing from dump_metadata().
This code contained several bugs that mis-formated the output. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
8c6ebab747
commit
789d6b73cf
|
@ -3483,11 +3483,19 @@ static void dump_metadata(void *ctx, AVDictionary *m, const char *indent)
|
|||
av_log(ctx, AV_LOG_INFO, "%sMetadata:\n", indent);
|
||||
while((tag=av_dict_get(m, "", tag, AV_DICT_IGNORE_SUFFIX))) {
|
||||
if(strcmp("language", tag->key)){
|
||||
char tmp[256];
|
||||
int i;
|
||||
av_strlcpy(tmp, tag->value, sizeof(tmp));
|
||||
for(i=0; i<strlen(tmp); i++) if(tmp[i]==0xd) tmp[i]=' ';
|
||||
av_log(ctx, AV_LOG_INFO, "%s %-16s: %s\n", indent, tag->key, tmp);
|
||||
const char *p = tag->value;
|
||||
av_log(ctx, AV_LOG_INFO, "%s %-16s: ", indent, tag->key);
|
||||
while(*p) {
|
||||
char tmp[256];
|
||||
size_t len = strcspn(p, "\xd\xa");
|
||||
av_strlcpy(tmp, p, FFMIN(sizeof(tmp), len+1));
|
||||
av_log(ctx, AV_LOG_INFO, "%s", tmp);
|
||||
p += len;
|
||||
if (*p == 0xd) av_log(ctx, AV_LOG_INFO, " ");
|
||||
if (*p == 0xa) av_log(ctx, AV_LOG_INFO, "\n%s %-16s: ", indent, "");
|
||||
if (*p) p++;
|
||||
}
|
||||
av_log(ctx, AV_LOG_INFO, "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue