mirror of https://git.ffmpeg.org/ffmpeg.git
Merge commit '376589e5dd72aa2dd42500f456fca303fcdcad85'
* commit '376589e5dd72aa2dd42500f456fca303fcdcad85': mov: Read alternate absolute path in dref alis Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
82d9c4e578
|
@ -521,12 +521,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);
|
av_log(c->fc, AV_LOG_DEBUG, "type %d, len %d\n", type, len);
|
||||||
if (len&1)
|
if (len&1)
|
||||||
len += 1;
|
len += 1;
|
||||||
if (type == 2) { // absolute path
|
if (type == 2 || type == 18) { // absolute path
|
||||||
av_free(dref->path);
|
av_free(dref->path);
|
||||||
dref->path = av_mallocz(len+1);
|
dref->path = av_mallocz(len+1);
|
||||||
if (!dref->path)
|
if (!dref->path)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
avio_read(pb, dref->path, len);
|
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)) {
|
if (len > volume_len && !strncmp(dref->path, dref->volume, volume_len)) {
|
||||||
len -= volume_len;
|
len -= volume_len;
|
||||||
memmove(dref->path, dref->path+volume_len, len);
|
memmove(dref->path, dref->path+volume_len, len);
|
||||||
|
|
Loading…
Reference in New Issue