On 9/21/11 7:15 AM, Martin Storsjö wrote:
--- libavformat/flvdec.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index cafbeb5..569d734 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -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; + }
Not sure if might make sense adding a private option to disable this quirkmode. is this creator widespread enough to be useful to support it?
lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
