arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
Video
VideoPlayerFull.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
AudioTools/AudioCodecs/CodecAACHelix.h
"
4
#include "
AudioTools/AudioCodecs/CodecMP2.h
"
5
#include "
AudioTools/AudioCodecs/CodecMP3Helix.h
"
6
#include "
AudioTools/Video/CodecH264.h
"
7
#include "
AudioTools/Video/CodecJPEG.h
"
8
#include "
AudioTools/Video/CodecMPG.h
"
9
#include "
AudioTools/Video/VideoPlayer.h
"
10
11
namespace
audio_tools
{
12
48
class
VideoPlayerFull
:
public
VideoPlayer
{
49
public
:
56
VideoPlayerFull
() {
57
registerVideoDecoders
();
58
registerAudioDecoders
();
59
}
60
69
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput)
70
:
VideoPlayer
(
demuxer
, videoOutput) {
71
registerVideoDecoders
();
72
registerAudioDecoders
();
73
}
74
82
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
83
AudioOutput
& audioOutput)
84
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
85
registerVideoDecoders
();
86
registerAudioDecoders
();
87
}
88
96
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
97
Print
& audioOutput)
98
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
99
registerVideoDecoders
();
100
registerAudioDecoders
();
101
}
102
110
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
111
AudioStream
& audioOutput)
112
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
113
registerVideoDecoders
();
114
registerAudioDecoders
();
115
}
116
117
protected
:
118
H264Decoder
h264_decoder
;
119
MJPEGDecoder
mjpeg_decoder
;
120
MPGDecoder
mpeg_decoder
;
121
122
MP3DecoderHelix
mp3_decoder
;
123
AACDecoderHelix
aac_decoder
;
124
MP2Decoder
mp2_decoder
;
125
130
void
registerVideoDecoders
() {
131
addVideoDecoder
(
h264_decoder
);
132
addVideoDecoder
(
mjpeg_decoder
);
133
addVideoDecoder
(
mpeg_decoder
);
134
}
135
140
void
registerAudioDecoders
() {
141
// mp3_decoder must be registered before mp2_decoder: a plain
142
// "audio/mpeg" match still resolves to it via MultiDecoder::
143
// selectDecoder()'s base-mime-type fallback, which is correct since
144
// MP2 only shows up in an MPEG-PS (.mpg) container, reporting the
145
// more specific "...codecs=mpeg1-layer2" mime mp2_decoder is keyed on.
146
addAudioDecoder
(
mp3_decoder
,
"audio/mpeg"
);
147
addAudioDecoder
(
aac_decoder
,
"audio/aac"
);
148
addAudioDecoder
(
mp2_decoder
,
"audio/mpeg; codecs=\"mpeg1-layer2\""
);
149
}
150
};
151
152
}
// namespace audio_tools
CodecAACHelix.h
CodecH264.h
CodecJPEG.h
CodecMP2.h
CodecMP3Helix.h
CodecMPG.h
VideoPlayer.h
Print
Definition
Arduino.h:56
audio_tools::AACDecoderHelix
AAC Decoder using libhelix: https://github.com/pschatzmann/codec-helix This is basically just a simpl...
Definition
CodecAACHelix.h:20
audio_tools::AudioOutput
Abstract Audio Ouptut class.
Definition
AudioOutput.h:25
audio_tools::AudioStream
Base class for all Audio Streams. It support the boolean operator to test if the object is ready with...
Definition
BaseStream.h:120
audio_tools::Demuxer
Common interface for demuxers (DemuxerAVI, DemuxerMP4) that split a container's video and (optional) ...
Definition
ContainerCommon.h:164
audio_tools::H264Decoder
H.264 video decoder: wraps TinyH264Decoder (https://github.com/pschatzmann/TinyH264) as a VideoOutput...
Definition
CodecH264.h:58
audio_tools::MJPEGDecoder
Motion-JPEG video decoder: wraps TinyJPEGDecoder (https://github.com/pschatzmann/TinyJPEG,...
Definition
CodecJPEG.h:53
audio_tools::MP2Decoder
Decoder for MPEG-1 Layer II (MP2) audio using the TinyMP2 library. Compressed data provided via write...
Definition
CodecMP2.h:23
audio_tools::MP3DecoderHelix
MP3 Decoder using libhelix: https://github.com/pschatzmann/codec-helix This is basically just a simpl...
Definition
CodecMP3Helix.h:20
audio_tools::MPGDecoder
MPEG-1 (part 2) video decoder wrapper around TinyMPGDecoder.
Definition
CodecMPG.h:48
audio_tools::VideoOutput
Abstract class for video playback. This class is used to assemble a complete video frame in memory....
Definition
VideoOutput.h:107
audio_tools::VideoPlayerFull
VideoPlayer subclass pre-registered with every video/audio codec this library ships a portable decode...
Definition
VideoPlayerFull.h:48
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, Print &audioOutput)
Definition
VideoPlayerFull.h:96
audio_tools::VideoPlayerFull::mp3_decoder
MP3DecoderHelix mp3_decoder
Definition
VideoPlayerFull.h:122
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput)
Definition
VideoPlayerFull.h:69
audio_tools::VideoPlayerFull::mjpeg_decoder
MJPEGDecoder mjpeg_decoder
Definition
VideoPlayerFull.h:119
audio_tools::VideoPlayerFull::h264_decoder
H264Decoder h264_decoder
Definition
VideoPlayerFull.h:118
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, AudioStream &audioOutput)
Definition
VideoPlayerFull.h:110
audio_tools::VideoPlayerFull::mpeg_decoder
MPGDecoder mpeg_decoder
Definition
VideoPlayerFull.h:120
audio_tools::VideoPlayerFull::registerAudioDecoders
void registerAudioDecoders()
Definition
VideoPlayerFull.h:140
audio_tools::VideoPlayerFull::registerVideoDecoders
void registerVideoDecoders()
Definition
VideoPlayerFull.h:130
audio_tools::VideoPlayerFull::aac_decoder
AACDecoderHelix aac_decoder
Definition
VideoPlayerFull.h:123
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, AudioOutput &audioOutput)
Definition
VideoPlayerFull.h:82
audio_tools::VideoPlayerFull::mp2_decoder
MP2Decoder mp2_decoder
Definition
VideoPlayerFull.h:124
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull()
Definition
VideoPlayerFull.h:56
audio_tools::VideoPlayer
High-level video playback pipeline and controller - the video counterpart of AudioPlayer (CoreAudio/A...
Definition
VideoPlayer.h:50
audio_tools::VideoPlayer::addVideoDecoder
void addVideoDecoder(VideoDecoder &decoder)
Definition
VideoPlayer.h:136
audio_tools::VideoPlayer::addAudioDecoder
void addAudioDecoder(AudioDecoder &decoder, const char *mime=nullptr)
Definition
VideoPlayer.h:157
audio_tools::VideoPlayer::demuxer
MultiVideoDemuxer & demuxer()
Definition
VideoPlayer.h:479
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
LMSEchoCancellationStream.h:6
Generated by
1.9.8