You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
mov: Pick up "com.apple.quicktime.artwork" as cover art
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
@@ -402,7 +402,18 @@ retry:
|
|||||||
str_size = data_size - 16;
|
str_size = data_size - 16;
|
||||||
atom.size -= 16;
|
atom.size -= 16;
|
||||||
|
|
||||||
if (atom.type == MKTAG('c', 'o', 'v', 'r')) {
|
if (!key && c->found_hdlr_mdta && c->meta_keys) {
|
||||||
|
uint32_t index = AV_RB32(&atom.type);
|
||||||
|
if (index < c->meta_keys_count && index > 0) {
|
||||||
|
key = c->meta_keys[index];
|
||||||
|
} else if (atom.type != MKTAG('c', 'o', 'v', 'r')) {
|
||||||
|
av_log(c->fc, AV_LOG_WARNING,
|
||||||
|
"The index of 'data' is out of range: %"PRId32" < 1 or >= %d.\n",
|
||||||
|
index, c->meta_keys_count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (atom.type == MKTAG('c', 'o', 'v', 'r') ||
|
||||||
|
(key && !strcmp(key, "com.apple.quicktime.artwork"))) {
|
||||||
int ret = mov_read_covr(c, pb, data_type, str_size);
|
int ret = mov_read_covr(c, pb, data_type, str_size);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
av_log(c->fc, AV_LOG_ERROR, "Error parsing cover art.\n");
|
av_log(c->fc, AV_LOG_ERROR, "Error parsing cover art.\n");
|
||||||
@@ -412,15 +423,6 @@ retry:
|
|||||||
if (atom.size > 8)
|
if (atom.size > 8)
|
||||||
goto retry;
|
goto retry;
|
||||||
return ret;
|
return ret;
|
||||||
} else if (!key && c->found_hdlr_mdta && c->meta_keys) {
|
|
||||||
uint32_t index = AV_RB32(&atom.type);
|
|
||||||
if (index < c->meta_keys_count && index > 0) {
|
|
||||||
key = c->meta_keys[index];
|
|
||||||
} else {
|
|
||||||
av_log(c->fc, AV_LOG_WARNING,
|
|
||||||
"The index of 'data' is out of range: %"PRId32" < 1 or >= %d.\n",
|
|
||||||
index, c->meta_keys_count);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else return 0;
|
} else return 0;
|
||||||
} else if (atom.size > 4 && key && !c->itunes_metadata && !raw) {
|
} else if (atom.size > 4 && key && !c->itunes_metadata && !raw) {
|
||||||
|
Reference in New Issue
Block a user