Go to the documentation of this file.
11 #include <sys/ioctl.h>
37 LOG(VB_GENERAL, LOG_INFO,
"Opening NULL audio device, will fail.");
55 while (
int rate = settings->GetNextRate())
57 settings->AddSupportedRate(rate);
63 settings->AddSupportedFormat(fmt);
68 settings->AddSupportedChannels(channels);
71 settings->setPassthrough(-1);
83 LOG(VB_GENERAL, LOG_ERR,
"null audio output should not have just "
84 "had data written to it");
95 size_t amount_to_read = max_length;
109 return amount_to_read;
void Reset(void) override
Reset the audiobuffer, timecode and mythmusic visualisation.
QMutex m_pcmOutputBufferMutex
void CloseDevice(void) override
AudioOutputNULL(const AudioSettings &settings)
bool m_bufferOutputDataForUse
void WriteAudio(unsigned char *aubuf, int size) override
void Reset(void) override
Reset the audiobuffer, timecode and mythmusic visualisation.
void KillAudio(void)
Kill the output thread and cleanup.
static constexpr uint8_t CHANNELS_MAX
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
bool OpenDevice(void) override
long m_soundcardBufferSize
bool m_init
If set to false, AudioOutput instance will not try to initially open the audio device.
MBASE_PUBLIC long long copy(QFile &dst, QFile &src, uint block_size=0)
Copies src file to dst file.
void Reconfigure(const AudioSettings &settings) override
(Re)Configure AudioOutputBase
std::vector< unsigned char > m_pcmOutputBuffer
static constexpr int32_t NULLAUDIO_OUTPUT_BUFFER_SIZE
static constexpr uint8_t CHANNELS_MIN
AudioOutputSettings * GetOutputSettings(bool digital) override
void InitSettings(const AudioSettings &settings)
int readOutputData(unsigned char *read_buffer, size_t max_length) override
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
~AudioOutputNULL() override