vdr-plugin-softhddevice-drm-gles 1.6.2
codec_audio.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
13#ifndef __CODEC_AUDIO_H
14#define __CODEC_AUDIO_H
15
16#include <cstdint>
17
18extern "C" {
19#include <libavcodec/avcodec.h>
20}
21
22class cSoftHdAudio;
23
35 CODEC_AC3 = (1 << 2),
36 CODEC_EAC3 = (1 << 3),
37 CODEC_DTS = (1 << 4),
38};
39
53
63
77
112
115#endif
Audio Decoder.
Definition codec_audio.h:81
AVCodecContext * m_pAudioCtx
ffmpeg audio codec context
Definition codec_audio.h:94
int m_currentHwSampleRate
current hw sample rate
int m_currentHwNumChannels
current number of hw channels
AVFrame * m_pFrame
decoded ffmpeg audio frame
Definition codec_audio.h:96
int m_spdifIndex
index into SPDIF output buffer
int m_passthroughMask
passthrough mask to be set
Definition codec_audio.h:98
AVCodecID m_codecId
current codec id
Definition codec_audio.h:95
int m_currentPassthrough
current passthrough mask
Definition codec_audio.h:99
AVCodecID GetCodecId() const
Definition codec_audio.h:90
int m_spdifRepeatCount
SPDIF repeat counter.
uint16_t m_spdifOutput[(MAX_FRAME_SIZE *4+16)/2]
SPDIF output buffer.
int64_t m_lastPts
last seen PTS
Definition codec_audio.h:97
int m_currentSampleRate
current sample rate
cSoftHdAudio * m_pAudio
audio module
Definition codec_audio.h:93
int m_currentNumChannels
current number of channels
Audio Interface.
Definition audio.h:46
CodecFrameSizes
Codec frame sizes for spdif.
Definition codec_audio.h:67
int DecodePassthrough(const AVPacket *, AVFrame *)
Passthrough audio data.
int UpdateFormat(void)
Handle audio format changes.
void FlushBuffers(void)
Flush the audio decoder buffers.
IEC61937Type
IEC Data type.
Definition codec_audio.h:43
IEC61937Preamble
IEC Preambles.
Definition codec_audio.h:57
void Decode(const AVPacket *)
Decode an audio packet.
void SetPassthroughMask(int)
Set audio pass-through mask.
PassthroughMask
Bits used for the passthrough mask.
Definition codec_audio.h:34
void ResetSpdif(void)
void Open(AVCodecID, AVCodecParameters *=nullptr, AVRational={ .num=1,.den=90000 })
Open and initiate the audio decoder.
void Close(void)
Close the audio decoder.
@ EAC3_FRAME_SIZE
Definition codec_audio.h:72
@ TRUEHD_FRAME_SIZE
(not used)
Definition codec_audio.h:75
@ AC3_FRAME_SIZE
Definition codec_audio.h:71
@ DTS3_FRAME_SIZE
Definition codec_audio.h:70
@ DTS2_FRAME_SIZE
Definition codec_audio.h:69
@ DTS1_FRAME_SIZE
Definition codec_audio.h:68
@ MAX_FRAME_SIZE
Definition codec_audio.h:73
@ IEC61937_TRUEHD
TrueHD data (not used)
Definition codec_audio.h:51
@ IEC61937_DTS3
DTS type III (2048 samples)
Definition codec_audio.h:49
@ IEC61937_DTS2
DTS type II (1024 samples)
Definition codec_audio.h:48
@ IEC61937_AC3
AC-3 data.
Definition codec_audio.h:45
@ IEC61937_NULL
no data
Definition codec_audio.h:44
@ IEC61937_DTSHD
DTS HD data (not used)
Definition codec_audio.h:50
@ IEC61937_EAC3
E-AC-3 data.
Definition codec_audio.h:46
@ IEC61937_DTS1
DTS type I (512 samples)
Definition codec_audio.h:47
@ IEC61937_PREAMBLE1
Definition codec_audio.h:58
@ DTS_PREAMBLE_16BE_2
Definition codec_audio.h:61
@ DTS_PREAMBLE_16BE_1
Definition codec_audio.h:60
@ IEC61937_PREAMBLE2
Definition codec_audio.h:59
@ CODEC_EAC3
E-AC-3 bit mask.
Definition codec_audio.h:36
@ CODEC_AC3
AC-3 bit mask.
Definition codec_audio.h:35
@ CODEC_DTS
DTS bit mask.
Definition codec_audio.h:37
#define AV_NOPTS_VALUE
Definition misc.h:74