arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SpoolStorageFactory Class Referenceabstract

Factory DemuxerMP4 calls once per table, per track, to obtain a SpoolStorage for spool-backed sample table storage - needed (rather than a single shared file/setter, the way setSeekSource() works) because up to two tracks (video + audio) times four tables means up to eight distinct spool regions are needed, and DemuxerMP4 doesn't know how many tracks a file has, or which kind each one is, until it's actually parsing 'moov' - implement this to open/return whatever files or regions your storage scheme uses (e.g. one file per call, named by trackKind+tableKind). More...

#include <SampleTableStore.h>

Public Member Functions

virtual ~SpoolStorageFactory ()=default
 
virtual SpoolStoragecreateSpoolStorage (TrackKind trackKind, SampleTableKind tableKind)=0
 

Detailed Description

Factory DemuxerMP4 calls once per table, per track, to obtain a SpoolStorage for spool-backed sample table storage - needed (rather than a single shared file/setter, the way setSeekSource() works) because up to two tracks (video + audio) times four tables means up to eight distinct spool regions are needed, and DemuxerMP4 doesn't know how many tracks a file has, or which kind each one is, until it's actually parsing 'moov' - implement this to open/return whatever files or regions your storage scheme uses (e.g. one file per call, named by trackKind+tableKind).

Constructor & Destructor Documentation

◆ ~SpoolStorageFactory()

virtual ~SpoolStorageFactory ( )
virtualdefault

Member Function Documentation

◆ createSpoolStorage()

virtual SpoolStorage * createSpoolStorage ( TrackKind  trackKind,
SampleTableKind  tableKind 
)
pure virtual

Called once per table as each track's kind becomes known (i.e. once 'hdlr' has been parsed) - must return a freshly usable, empty SpoolStorage dedicated to this table; ownership stays with the factory (DemuxerMP4 only uses it, never deletes it).


The documentation for this class was generated from the following file: