mov: Implement support for multiple sample description tables
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 15 Jun 2016 19:24:30 +0000 (15:24 -0400)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Fri, 17 Jun 2016 15:38:33 +0000 (11:38 -0400)
commit76729970049fe95659346503f7401a5d869f9959
treebb83104f83e15a06cddf287e00f0320af3548074
parent187d719760bd130f848194ec4a6bd476341914bb
mov: Implement support for multiple sample description tables

Store data from each stsd in a separate extradata buffer, keep track of
the stsc index for read and seek operations, switch buffers when the
index differs. Decoder is notified with an AV_PKT_DATA_NEW_EXTRADATA
packet side data.

Since H264 supports this notification, and can be reset midstream, enable
this feature only for multiple avcC's. All other stsd types (such as
hvc1 and hev1) need decoder-side changes, so they are left disabled for
now.

This is implemented only in non-fragmented MOVs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavformat/isom.h
libavformat/mov.c