You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-11 14:30:22 +02:00
avformat/mov: don't return the latest stream when an item stream is expected
Otherwise, things like ICC profiles as read from the colr box meant for an item
with no stream (like a grid) may end up being added to the wrong stream.
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 04182b5549
)
This commit is contained in:
@ -188,6 +188,10 @@ static int mov_read_mac_string(MOVContext *c, AVIOContext *pb, int len,
|
|||||||
return p - dst;
|
return p - dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current stream in the parsing process. This can either be the
|
||||||
|
* latest stream added to the context, or the stream referenced by an item.
|
||||||
|
*/
|
||||||
static AVStream *get_curr_st(MOVContext *c)
|
static AVStream *get_curr_st(MOVContext *c)
|
||||||
{
|
{
|
||||||
AVStream *st = NULL;
|
AVStream *st = NULL;
|
||||||
@ -206,7 +210,7 @@ static AVStream *get_curr_st(MOVContext *c)
|
|||||||
st = item->st;
|
st = item->st;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!st)
|
if (!st && c->cur_item_id == -1)
|
||||||
st = c->fc->streams[c->fc->nb_streams-1];
|
st = c->fc->streams[c->fc->nb_streams-1];
|
||||||
|
|
||||||
return st;
|
return st;
|
||||||
|
Reference in New Issue
Block a user