7#include "libavutil/mem.h"
16 throw std::bad_alloc();
21 : m_size(old.m_size), m_realsize(old.m_realsize),
22 m_frames(old.m_frames), m_time(old.m_time)
27 throw std::bad_alloc();
38 std::chrono::milliseconds time)
49 throw std::bad_alloc();
65 int audio_channels,
bool passthru)
66 : m_initpassthru(passthru)
69 const AudioSettings settings(audio_format, audio_channels, AV_CODEC_ID_NONE, 0,
false);
140 auto *buf = (
unsigned char *)buffer;
161 timecode += std::chrono::milliseconds(out_frames * 1000 /
m_eff_audiorate);
166 out_frames, timecode);
190 timecode += std::chrono::milliseconds(frames * 1000 /
m_eff_audiorate);
230 if (ab->m_time <= time)
static constexpr size_t ABLOCK_SIZE
std::chrono::milliseconds m_time
void appendData(unsigned char *buffer, int len, int frames, std::chrono::milliseconds time)
static int SampleSize(AudioFormat format)
std::chrono::milliseconds m_last_audiotime
void SetTimecode(std::chrono::milliseconds timecode) override
AudioBuffer * m_saveBuffer
bool AddData(void *buffer, int len, std::chrono::milliseconds timecode, int frames) override
Add data to the audiobuffer for playback.
~AudioReencodeBuffer() override
void SetEffDsp(int dsprate) override
QList< AudioBuffer * > m_bufferList
bool AddFrames(void *buffer, int frames, std::chrono::milliseconds timecode) override
Add frames to the audiobuffer for playback.
AudioBuffer * GetData(std::chrono::milliseconds time)
void Reconfigure(const AudioSettings &settings) override
reconfigure sound out for new params
void Reset(void) override
long long GetSamples(std::chrono::milliseconds time)
AudioReencodeBuffer(AudioFormat audio_format, int audio_channels, bool passthru)
static const std::array< const uint64_t, 4 > samples