MPEG-TS (MTS) decoder. Extracts (demuxes) the indicated audio/video data from a MPEG-TS (MTS) data stream. You can define the relevant stream types via the API: addStreamType(MTSStreamType). By default, the decoder selects the AUDIO_AAC, AUDIO_AAC_LATM stream types.
More...
|
| MTSDecoder ()=default |
| Default constructor.
|
|
| MTSDecoder (AudioDecoder &dec) |
| Provide the AAC decoder (or MP3 Decoder) to receive the extracted content.
|
|
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes.
|
|
void | addStreamType (MTSStreamType type) |
| Defines the stream type that should be extracted.
|
|
AudioInfo | audioInfo () override |
| provides the actual input AudioInfo
|
|
virtual AudioInfo | audioInfoOut () |
|
bool | begin () override |
| Start the prcessor.
|
|
virtual bool | begin (AudioInfo info) override |
|
virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions.
|
|
void | clearStreamTypes () |
| Clears the stream type filter.
|
|
void | end () override |
| Stops the processing.
|
|
Print * | getOutput () |
|
bool | isNotifyActive () |
| Checks if the automatic AudioInfo update is active.
|
|
virtual bool | isResultPCM () |
| Returns true to indicate that the decoding result is PCM data.
|
|
bool | isStreamTypeActive (MTSStreamType type) |
| Checks if the stream type is active.
|
|
const char * | mime () |
| Provides the mime type: "video/MP2T";.
|
|
virtual | operator bool () override |
|
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
| Removes a target in order not to be notified about audio changes.
|
|
void | resizeBuffer (int size) |
| Set a new write buffer size (default is 2000)
|
|
void | setAudioInfo (AudioInfo from) override |
| for most decoders this is not needed
|
|
virtual bool | setCodecConfig (const uint8_t *data, size_t len) |
| Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
|
|
void | setNotifyActive (bool flag) |
| Deactivate/Reactivate automatic AudioInfo updates: (default is active)
|
|
void | setOutput (AudioOutput &out_stream) override |
| Defines where the decoded result is written to.
|
|
void | setOutput (AudioStream &out_stream) override |
| Defines where the decoded result is written to.
|
|
void | setOutput (Print &out_stream) override |
| Defines where the decoded result is written to.
|
|
size_t | write (const uint8_t *data, size_t len) override |
|
|
void | addPID (uint16_t pid) |
|
void | demux () |
| demux the available data
|
|
int | findSyncWord (const uint8_t *buf, size_t nBytes, uint8_t synch=0xFF, uint8_t syncl=0xF0) |
| Finds the mp3/aac sync word.
|
|
int | getPayloadStart (uint8_t *packet, bool isPES, bool &payloadUnitStartIndicator) |
|
bool | isPESStartCodeValid (uint8_t *pes) |
| check for PES packet start code prefix
|
|
void | notifyAudioChange (AudioInfo info) |
|
bool | parse () |
| Parse a single packet and remove the processed data.
|
|
void | parsePacket (uint8_t *packet, int pid) |
| Detailed processing for parsing a single packet.
|
|
void | parsePAT (uint8_t *pat, int len) |
|
void | parsePES (uint8_t *packet, int pid) |
|
void | parsePMT (uint8_t *pmt, int len) |
|
int | syncPos () |
| Find the position of the next sync byte: Usually on position 0.
|
|
const char * | toStr (MTSStreamType type) |
| Convert the relevant MTSStreamType to a string.
|
|
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
|
MPEG-TS (MTS) decoder. Extracts (demuxes) the indicated audio/video data from a MPEG-TS (MTS) data stream. You can define the relevant stream types via the API: addStreamType(MTSStreamType). By default, the decoder selects the AUDIO_AAC, AUDIO_AAC_LATM stream types.
- Author
- Phil Schatzmann
- Copyright
- GPLv3