Commit 0ecec744 authored by Hendrik Leppkes's avatar Hendrik Leppkes

Merge commit 'a0fa6d06'

* commit 'a0fa6d06':
  matroska: Warn when metadata references a non-existent element
Merged-by: 's avatarHendrik Leppkes <h.leppkes@gmail.com>
parents 255f8966 a0fa6d06
......@@ -1405,24 +1405,55 @@ static void matroska_convert_tags(AVFormatContext *s)
for (i = 0; i < matroska->tags.nb_elem; i++) {
if (tags[i].target.attachuid) {
MatroskaAttachment *attachment = matroska->attachments.elem;
for (j = 0; j < matroska->attachments.nb_elem; j++)
int found = 0;
for (j = 0; j < matroska->attachments.nb_elem; j++) {
if (attachment[j].uid == tags[i].target.attachuid &&
attachment[j].stream)
attachment[j].stream) {
matroska_convert_tag(s, &tags[i].tag,
&attachment[j].stream->metadata, NULL);
found = 1;
}
}
if (!found) {
av_log(NULL, AV_LOG_WARNING,
"The tags at index %d refer to a "
"non-existent attachment %"PRId64".\n",
i, tags[i].target.attachuid);
}
} else if (tags[i].target.chapteruid) {
MatroskaChapter *chapter = matroska->chapters.elem;
for (j = 0; j < matroska->chapters.nb_elem; j++)
int found = 0;
for (j = 0; j < matroska->chapters.nb_elem; j++) {
if (chapter[j].uid == tags[i].target.chapteruid &&
chapter[j].chapter)
chapter[j].chapter) {
matroska_convert_tag(s, &tags[i].tag,
&chapter[j].chapter->metadata, NULL);
found = 1;
}
}
if (!found) {
av_log(NULL, AV_LOG_WARNING,
"The tags at index %d refer to a non-existent chapter "
"%"PRId64".\n",
i, tags[i].target.chapteruid);
}
} else if (tags[i].target.trackuid) {
MatroskaTrack *track = matroska->tracks.elem;
for (j = 0; j < matroska->tracks.nb_elem; j++)
if (track[j].uid == tags[i].target.trackuid && track[j].stream)
int found = 0;
for (j = 0; j < matroska->tracks.nb_elem; j++) {
if (track[j].uid == tags[i].target.trackuid &&
track[j].stream) {
matroska_convert_tag(s, &tags[i].tag,
&track[j].stream->metadata, NULL);
found = 1;
}
}
if (!found) {
av_log(NULL, AV_LOG_WARNING,
"The tags at index %d refer to a non-existent track "
"%"PRId64".\n",
i, tags[i].target.trackuid);
}
} else {
matroska_convert_tag(s, &tags[i].tag, &s->metadata,
tags[i].target.type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment