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
47
class
VideoPlayerFull
:
public
VideoPlayer
{
48
public
:
49
VideoPlayerFull
() {
50
registerVideoDecoders
();
51
registerAudioDecoders
();
52
}
53
59
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput)
60
:
VideoPlayer
(
demuxer
, videoOutput) {
61
registerVideoDecoders
();
62
registerAudioDecoders
();
63
}
64
65
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
66
AudioOutput
& audioOutput)
67
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
68
registerVideoDecoders
();
69
registerAudioDecoders
();
70
}
71
72
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
73
Print
& audioOutput)
74
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
75
registerVideoDecoders
();
76
registerAudioDecoders
();
77
}
78
79
VideoPlayerFull
(
Demuxer
&
demuxer
,
VideoOutput
& videoOutput,
80
AudioStream
& audioOutput)
81
:
VideoPlayer
(
demuxer
, videoOutput, audioOutput) {
82
registerVideoDecoders
();
83
registerAudioDecoders
();
84
}
85
86
protected
:
87
H264Decoder
h264_decoder
;
88
MJPEGDecoder
mjpeg_decoder
;
89
MPGDecoder
mpeg_decoder
;
90
91
MP3DecoderHelix
mp3_decoder
;
92
AACDecoderHelix
aac_decoder
;
93
MP2Decoder
mp2_decoder
;
94
95
void
registerVideoDecoders
() {
96
addVideoDecoder
(
h264_decoder
);
97
addVideoDecoder
(
mjpeg_decoder
);
98
addVideoDecoder
(
mpeg_decoder
);
99
}
100
101
void
registerAudioDecoders
() {
102
// mp3_decoder must be registered before mp2_decoder: a plain
103
// "audio/mpeg" match still resolves to it via MultiDecoder::
104
// selectDecoder()'s base-mime-type fallback, which is correct since
105
// MP2 only shows up in an MPEG-PS (.mpg) container, reporting the
106
// more specific "...codecs=mpeg1-layer2" mime mp2_decoder is keyed on.
107
addAudioDecoder
(
mp3_decoder
,
"audio/mpeg"
);
108
addAudioDecoder
(
aac_decoder
,
"audio/aac"
);
109
addAudioDecoder
(
mp2_decoder
,
"audio/mpeg; codecs=\"mpeg1-layer2\""
);
110
}
111
};
112
113
}
// 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/arduino-libhelix This is basically just a ...
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/arduino-libhelix This is basically just a ...
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
Video.h:210
audio_tools::VideoPlayerFull
VideoPlayer subclass pre-registered with every video/audio codec this library ships a portable decode...
Definition
VideoPlayerFull.h:47
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, Print &audioOutput)
Definition
VideoPlayerFull.h:72
audio_tools::VideoPlayerFull::mp3_decoder
MP3DecoderHelix mp3_decoder
Definition
VideoPlayerFull.h:91
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput)
Definition
VideoPlayerFull.h:59
audio_tools::VideoPlayerFull::mjpeg_decoder
MJPEGDecoder mjpeg_decoder
Definition
VideoPlayerFull.h:88
audio_tools::VideoPlayerFull::h264_decoder
H264Decoder h264_decoder
Definition
VideoPlayerFull.h:87
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, AudioStream &audioOutput)
Definition
VideoPlayerFull.h:79
audio_tools::VideoPlayerFull::mpeg_decoder
MPGDecoder mpeg_decoder
Definition
VideoPlayerFull.h:89
audio_tools::VideoPlayerFull::registerAudioDecoders
void registerAudioDecoders()
Definition
VideoPlayerFull.h:101
audio_tools::VideoPlayerFull::registerVideoDecoders
void registerVideoDecoders()
Definition
VideoPlayerFull.h:95
audio_tools::VideoPlayerFull::aac_decoder
AACDecoderHelix aac_decoder
Definition
VideoPlayerFull.h:92
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull(Demuxer &demuxer, VideoOutput &videoOutput, AudioOutput &audioOutput)
Definition
VideoPlayerFull.h:65
audio_tools::VideoPlayerFull::mp2_decoder
MP2Decoder mp2_decoder
Definition
VideoPlayerFull.h:93
audio_tools::VideoPlayerFull::VideoPlayerFull
VideoPlayerFull()
Definition
VideoPlayerFull.h:49
audio_tools::VideoPlayer
High-level video playback pipeline and controller - the video counterpart of AudioPlayer (CoreAudio/A...
Definition
VideoPlayer.h:125
audio_tools::VideoPlayer::addVideoDecoder
void addVideoDecoder(VideoDecoder &decoder)
Definition
VideoPlayer.h:188
audio_tools::VideoPlayer::addAudioDecoder
void addAudioDecoder(AudioDecoder &decoder, const char *mime=nullptr)
Definition
VideoPlayer.h:203
audio_tools::VideoPlayer::demuxer
MultiVideoDemuxer & demuxer()
Definition
VideoPlayer.h:375
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
LMSEchoCancellationStream.h:6
Generated by
1.9.8