|
arduino-audio-tools
|
#include <string.h>#include "AudioTools/AudioCodecs/AudioCodecsBase.h"#include "AudioTools/AudioCodecs/AudioFormat.h"#include "AudioTools/AudioCodecs/ContainerCommon.h"#include "AudioTools/CoreAudio/AudioBasic/Collections/Vector.h"#include "AudioTools/Video/Video.h"Go to the source code of this file.
Classes | |
| class | DemuxerMTS |
| ISO/IEC 13818-1 MPEG Transport Stream Demuxer: parses the fixed 188-byte TS packet framing, follows PAT -> PMT to discover the video and (optional) audio elementary stream PIDs and their codec (stream_type), reassembles each PES packet's payload from the TS packets between one payload_unit_start_indicator and the next, and forwards the raw elementary-stream bytes to setOutputVideo()/setOutputAudio() - same scope and design as DemuxerMPG (ContainerMPG.h): no decoding happens here, point the outputs at whatever decoder understands the codec. More... | |
| class | MTSParseBuffer |
| Minimal byte accumulator used by DemuxerMTS to buffer incoming bytes until at least one full 188-byte TS packet is available - analogous to ContainerMPG.h's MPGParseBuffer, but without any start-code search (TS packets are fixed-size and found via their own resync logic in DemuxerMTS::parse() instead). More... | |
| class | MuxerMTS |
| ISO/IEC 13818-1 MPEG Transport Stream Encoder: packetizes an already-encoded video elementary stream (H.264 by default - see MuxerVideoConfig::format) and an optional audio elementary stream (AAC ADTS by default - see setAudioInfo()) into 188-byte TS packets, with a PAT and PMT describing the one program/two streams, written to a Print (a local File to record a .ts, or e.g. a network Client to publish a live/HLS-segment stream). More... | |
Namespaces | |
| namespace | audio_tools |
| Generic Implementation of sound input and output for desktop environments using portaudio. | |
Functions | |
| bool | isMtsAudioStreamType (uint8_t st) |
| True if 'st' is one of the audio stream_type values recognized above. | |
| bool | isMtsVideoStreamType (uint8_t st) |
| True if 'st' is one of the video stream_type values recognized above. | |
| AudioFormat | mtsAudioFormat (uint8_t st) |
| uint8_t | mtsAudioStreamType (AudioFormat format) |
| uint32_t | mtsCrc32 (const uint8_t *data, size_t len) |
| VideoFormat | mtsVideoFormat (uint8_t st) |
| uint8_t | mtsVideoStreamType (VideoFormat format) |
Variables | |
| static const uint32_t | MTS_CLOCK_HZ = 90000 |
| static const size_t | MTS_PACKET_SIZE = 188 |
| static const uint16_t | MTS_PID_AUDIO = 0x0101 |
| static const uint16_t | MTS_PID_PAT = 0x0000 |
| static const uint16_t | MTS_PID_PMT = 0x1000 |
| static const uint16_t | MTS_PID_VIDEO = 0x0100 |
| static const uint8_t | MTS_STREAM_ID_AUDIO = 0xC0 |
| static const uint8_t | MTS_STREAM_ID_VIDEO = 0xE0 |
| static const uint8_t | MTS_STREAM_TYPE_AAC_ADTS = 0x0F |
| static const uint8_t | MTS_STREAM_TYPE_H264 = 0x1B |
| static const uint8_t | MTS_STREAM_TYPE_MJPEG = MTS_STREAM_TYPE_PRIVATE |
| static const uint8_t | MTS_STREAM_TYPE_MPEG1_AUDIO = 0x03 |
| static const uint8_t | MTS_STREAM_TYPE_MPEG1_VIDEO = 0x01 |
| static const uint8_t | MTS_STREAM_TYPE_MPEG2_AUDIO = 0x04 |
| static const uint8_t | MTS_STREAM_TYPE_MPEG2_VIDEO = 0x02 |
| static const uint8_t | MTS_STREAM_TYPE_MPEG4_VIDEO = 0x10 |
| static const uint8_t | MTS_STREAM_TYPE_PRIVATE = 0x06 |
| static const uint8_t | MTS_SYNC_BYTE = 0x47 |