Module: libav Branch: master Commit: 376589e5dd72aa2dd42500f456fca303fcdcad85
Author: Vittorio Giovara <[email protected]> Committer: Vittorio Giovara <[email protected]> Date: Tue Apr 7 15:06:04 2015 +0200 mov: Read alternate absolute path in dref alis Absolute paths can be stored in alis type 2 and 18 according to my research: the first is the canonical MacOS filepath, with path level separated by colons, and the volume name within the filepath, while the second should be the absolute filesystem path from the mount point. --- libavformat/mov.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 98822af..2704dfb 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -518,12 +518,14 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom) av_log(c->fc, AV_LOG_DEBUG, "type %d, len %d\n", type, len); if (len&1) len += 1; - if (type == 2) { // absolute path + if (type == 2 || type == 18) { // absolute path av_free(dref->path); dref->path = av_mallocz(len+1); if (!dref->path) return AVERROR(ENOMEM); avio_read(pb, dref->path, len); + if (type == 18) // no additional processing needed + continue; if (len > volume_len && !strncmp(dref->path, dref->volume, volume_len)) { len -= volume_len; memmove(dref->path, dref->path+volume_len, len); _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
