mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
flvdec: Ignore the index if it's from a creator known to be different
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
e1b1015581
commit
bafff1668c
@ -140,6 +140,18 @@ static int parse_keyframes_index(AVFormatContext *s, AVIOContext *ioc, AVStream
|
||||
int64_t *filepositions = NULL;
|
||||
int ret = AVERROR(ENOSYS);
|
||||
int64_t initial_pos = avio_tell(ioc);
|
||||
AVDictionaryEntry *creator = av_dict_get(s->metadata, "metadatacreator",
|
||||
NULL, 0);
|
||||
|
||||
if (creator && !strcmp(creator->value, "MEGA")) {
|
||||
/* Files with this metadatacreator tag seem to have filepositions
|
||||
* pointing at the 4 trailer bytes of the previous packet,
|
||||
* which isn't the norm (nor what we expect here, nor what
|
||||
* jwplayer + lighttpd expect, nor what flvtool2 produces).
|
||||
* Just ignore the index in this case, instead of risking trying
|
||||
* to adjust it to something that might or might not work. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (avio_tell(ioc) < max_pos - 2 && amf_get_string(ioc, str_val, sizeof(str_val)) > 0) {
|
||||
int64_t* current_array;
|
||||
|
Loading…
Reference in New Issue
Block a user