mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
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.
This commit is contained in:
parent
22526c1f55
commit
376589e5dd
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user