MythTV
master
mythtv
libs
libmyth
audio
audiooutputoss.h
Go to the documentation of this file.
1
#ifndef AUDIOOUTPUTOSS
2
#define AUDIOOUTPUTOSS
3
4
#if __has_include(<sys/soundcard.h>)
5
# include <sys/soundcard.h>
6
#elif __has_include(<soundcard.h>)
7
# include <soundcard.h>
8
#else
9
# error attemping to compile OSS support without soundcard.h
10
#endif
11
12
#include "
audiooutputbase.h
"
13
14
class
AudioOutputOSS
:
public
AudioOutputBase
15
{
16
public
:
17
explicit
AudioOutputOSS
(
const
AudioSettings
&settings);
18
~AudioOutputOSS
()
override
;
19
20
// Volume control
21
int
GetVolumeChannel
(
int
channel)
const override
;
// VolumeBase
22
void
SetVolumeChannel
(
int
channel,
int
volume)
override
;
// VolumeBase
23
24
protected
:
25
// You need to implement the following functions
26
bool
OpenDevice
(
void
)
override
;
// AudioOutputBase
27
void
CloseDevice
(
void
)
override
;
// AudioOutputBase
28
void
WriteAudio
(
unsigned
char
*aubuf,
int
size)
override
;
// AudioOutputBase
29
int
GetBufferedOnSoundcard
(
void
)
const override
;
// AudioOutputBase
30
AudioOutputSettings
*
GetOutputSettings
(
bool
digital)
override
;
// AudioOutputBase
31
32
private
:
33
void
VolumeInit
(
void
);
34
void
VolumeCleanup
(
void
);
35
36
void
SetFragSize
(
void
);
37
38
int
m_audioFd
{-1};
39
mutable
int
m_numBadIoctls
{0};
40
41
// Volume related
42
int
m_mixerFd
{-1};
43
int
m_control
{SOUND_MIXER_VOLUME};
44
};
45
46
#endif
47
AudioOutputOSS::WriteAudio
void WriteAudio(unsigned char *aubuf, int size) override
Definition:
audiooutputoss.cpp:240
AudioOutputOSS::VolumeCleanup
void VolumeCleanup(void)
Definition:
audiooutputoss.cpp:317
AudioOutputOSS::~AudioOutputOSS
~AudioOutputOSS() override
Definition:
audiooutputoss.cpp:32
AudioOutputOSS::m_numBadIoctls
int m_numBadIoctls
Definition:
audiooutputoss.h:39
AudioOutputOSS::SetVolumeChannel
void SetVolumeChannel(int channel, int volume) override
Definition:
audiooutputoss.cpp:351
AudioOutputOSS::VolumeInit
void VolumeInit(void)
Definition:
audiooutputoss.cpp:277
AudioOutputOSS::m_mixerFd
int m_mixerFd
Definition:
audiooutputoss.h:42
AudioSettings
Definition:
audiosettings.h:28
AudioOutputOSS::AudioOutputOSS
AudioOutputOSS(const AudioSettings &settings)
Definition:
audiooutputoss.cpp:23
AudioOutputBase
Definition:
audiooutputbase.h:40
AudioOutputOSS::GetVolumeChannel
int GetVolumeChannel(int channel) const override
Definition:
audiooutputoss.cpp:326
AudioOutputOSS::m_audioFd
int m_audioFd
Definition:
audiooutputoss.h:38
AudioOutputOSS::CloseDevice
void CloseDevice(void) override
Definition:
audiooutputoss.cpp:229
AudioOutputOSS
Definition:
audiooutputoss.h:14
AudioOutputOSS::GetBufferedOnSoundcard
int GetBufferedOnSoundcard(void) const override
Return the size in bytes of frames currently in the audio buffer adjusted with the audio playback lat...
Definition:
audiooutputoss.cpp:266
audiooutputbase.h
AudioOutputSettings
Definition:
audiooutputsettings.h:48
AudioOutputOSS::GetOutputSettings
AudioOutputSettings * GetOutputSettings(bool digital) override
Definition:
audiooutputoss.cpp:37
AudioOutputOSS::m_control
int m_control
Definition:
audiooutputoss.h:43
AudioOutputOSS::OpenDevice
bool OpenDevice(void) override
Definition:
audiooutputoss.cpp:104
AudioOutputOSS::SetFragSize
void SetFragSize(void)
Generated on Wed Feb 26 2025 03:17:52 for MythTV by
1.8.17