MythTV master
audiooutputaudiotrack.h
Go to the documentation of this file.
1#ifndef _AUDIOOUTPUTAUDIOTRACK_H_
2#define _AUDIOOUTPUTAUDIOTRACK_H_
3
4#include "audiooutputbase.h"
5
7/*
8
9 Audio output for android based on android.media.AudioTrack.
10
11 This uses the java class org.mythtv.audio.AudioOutputAudioTrack
12 to invoke android media playback methods.
13
14*/
15
17{
18 public:
19 explicit AudioOutputAudioTrack(const AudioSettings &settings);
20 ~AudioOutputAudioTrack() override;
21
22 bool AddData(void *buffer, int len, std::chrono::milliseconds timecode, int frames) override; // AudioOutput
23
24 // Volume control
25 int GetVolumeChannel(int /* channel */) const override // VolumeBase
26 { return 100; }
27 void SetVolumeChannel(int /* channel */, int /* volume */) override // VolumeBase
28 {}
29 void Pause(bool paused) override; // AudioOutput
30
31 protected:
32 bool OpenDevice(void) override; // AudioOutputBase
33 void CloseDevice(void) override; // AudioOutputBase
34 void WriteAudio(unsigned char *aubuf, int size) override; // AudioOutputBase
35 int GetBufferedOnSoundcard(void) const override; // AudioOutputBase
36 AudioOutputSettings* GetOutputSettings(bool digital) override; // AudioOutputBase
37 void SetSourceBitrate(int rate) override; // AudioOutputBase
38 bool StartOutputThread(void) override; // AudioOutputBase
39 void StopOutputThread(void) override; // AudioOutputBase
42};
43
44#endif //_AUDIOOUTPUTAUDIOTRACK_H_
#define QAndroidJniObject
void Pause(bool paused) override
AudioOutputSettings * GetOutputSettings(bool digital) override
int GetVolumeChannel(int) const override
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
void StopOutputThread(void) override
bool OpenDevice(void) override
QAndroidJniObject * m_audioTrack
bool AddData(void *buffer, int len, std::chrono::milliseconds timecode, int frames) override
Add data to the audiobuffer for playback.
AudioOutputAudioTrack(const AudioSettings &settings)
void CloseDevice(void) override
bool StartOutputThread(void) override
void WriteAudio(unsigned char *aubuf, int size) override
void SetSourceBitrate(int rate) override
void SetVolumeChannel(int, int) override