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)
release/7.1
James Almer 3 months ago
parent b08d7969c5
commit 12682eba2e
  1. 6
      libavformat/mov.c

@ -188,6 +188,10 @@ static int mov_read_mac_string(MOVContext *c, AVIOContext *pb, int len,
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)
{
AVStream *st = NULL;
@ -206,7 +210,7 @@ static AVStream *get_curr_st(MOVContext *c)
st = item->st;
break;
}
if (!st)
if (!st && c->cur_item_id == -1)
st = c->fc->streams[c->fc->nb_streams-1];
return st;

Loading…
Cancel
Save