-
Jussi Lindgren authored
- Refactored streams in a way that they can both encode and decode to EBML chunks - Renamed Track to StreamBundle: it is an array of multiple decoded streams, each with a unique index - StreamBundle now has a factory for creating the streams. - Added a 'Demuxer' class. The Demuxer takes as input a multiplexed EBML stream (e.g. from an .ov file) and produces as its result a StreamBundle class - There is no *multiplexer* class for sending data out. Instead, the encoded EBML chunks are pushed to the external processing box (sink) by stream indexes. - Added EBMLSourceFile class that reads EBML from a file. In the future, EBMLSourceFile can be one of several available EBML sources. - All chunk types now derive from a base type that has the chunk timestamps - Refactored the codecs to have more clean and understandable interfaces - Moved the EBML getters away from the basic type definitions - Note that Encoder and Decoder concepts are not similarly implemented yet. The Decoders rely on openvibe toolkit whileas the Encoders have a lower level implementation. - Fixed issue with several times of playback in a row
97260b66