9#include <QCoreApplication>
10#include <QRecursiveMutex>
35 void DeleteOutput(
void);
36 QString ReinitAudio(
void);
38 void SetAudioInfo(
const QString &main_device,
39 const QString &passthru_device,
41 int codec_profile = -1);
42 void SetAudioParams(
AudioFormat format,
int orig_channels,
int channels,
43 AVCodecID codec,
int samplerate,
bool passthru,
44 int codec_profile = -1);
45 void SetEffDsp(
int dsprate);
47 void CheckFormat(
void);
53 bool Pause(
bool pause);
55 void PauseAudioUntilBuffered(
void);
56 AVCodecID
GetCodec(
void)
const {
return m_state.m_codec; }
60 uint AdjustVolume(
int change);
61 uint SetVolume(
int newvolume);
63 void SetStretchFactor(
float factor);
64 bool IsUpmixing(
void);
65 bool EnableUpmix(
bool enable,
bool toggle =
false);
67 bool CanPassthrough(
int samplerate,
int channels, AVCodecID codec,
int profile);
68 bool CanDownmix(
void);
74 uint GetMaxChannels(
void);
75 int GetMaxHDRate(
void);
76 std::chrono::milliseconds GetAudioTime(
void);
79 uint32_t CanProcess(
void);
80 int DecodeAudio(AVCodecContext *ctx,
81 uint8_t *buffer,
int &data_size,
85 bool SetMuted(
bool mute);
90 void AddAudioData(
char *buffer,
int len, std::chrono::milliseconds timecode,
int frames);
91 bool NeedDecodingBeforePassthrough(
void);
92 std::chrono::milliseconds LengthLastData(
void);
93 bool GetBufferStatus(
uint &fill,
uint &total);
94 bool IsBufferAlmostFull(
void);
95 std::chrono::milliseconds GetAudioBufferedTime(
void);
103 void AddVisuals(
void);
104 void RemoveVisuals(
void);
105 void ResetVisuals(
void);
111 float m_stretchFactor {1.0F};
113 bool m_mutedOnCreation {
false};
116 bool m_noAudioIn {
false};
117 bool m_noAudioOut {
true};
118 bool m_controlsVolume {
true};
void AudioPlayerStateChanged(MythAudioPlayerState State)
AudioOutput * GetAudioOutput(void) const
Return internal AudioOutput object.
std::vector< Visualization * > m_visuals
float GetStretchFactor(void) const
AudioFormat GetFormat(void) const
int GetSampleRate(void) const
MythAudioPlayerState m_state
bool HasAudioOut(void) const
bool HasAudioIn(void) const
int GetOrigChannels(void) const
bool ControlsVolume(void) const
AVCodecID GetCodec(void) const