MythTV
master
mythtv
libs
libmyth
audio
audiosettings.h
Go to the documentation of this file.
1
/* -*- Mode: c++ -*-
2
*
3
* Copyright (C) Daniel Kristjansson 2008
4
* Copyright (C) Jean-Yves Avenard 2010
5
*
6
* Licensed under the GPL v2 or a later version at your choosing.
7
*/
8
9
#ifndef AUDIO_SETTINGS_H
10
#define AUDIO_SETTINGS_H
11
12
#include <utility>
13
14
// Qt headers
15
#include <QString>
16
17
// MythTV headers
18
#include "
libmyth/mythexp.h
"
19
#include "
libmyth/audio/audiooutputsettings.h
"
20
21
enum
AudioOutputSource
: std::uint8_t {
22
AUDIOOUTPUT_UNKNOWN
,
23
AUDIOOUTPUT_VIDEO
,
24
AUDIOOUTPUT_MUSIC
,
25
AUDIOOUTPUT_TELEPHONY
,
26
};
27
28
class
MPUBLIC
AudioSettings
29
{
30
public
:
31
AudioSettings
() =
default
;
32
AudioSettings
&operator=(
const
AudioSettings
&) =
delete
;
33
AudioSettings
(
const
AudioSettings
&other);
34
AudioSettings
(
35
QString main_device,
36
QString passthru_device,
37
AudioFormat
format,
38
int
channels,
39
AVCodecID codec,
40
int
samplerate,
41
AudioOutputSource
source,
42
bool
set_initial_vol,
43
bool
use_passthru,
44
int
upmixer_startup = 0,
45
const
AudioOutputSettings
*custom =
nullptr
);
46
47
AudioSettings
(
AudioFormat
format,
48
int
channels,
49
AVCodecID codec,
50
int
samplerate,
51
bool
use_passthru,
52
int
upmixer_startup = 0,
53
int
codec_profile = 0);
54
55
explicit
AudioSettings
(QString main_device,
56
QString passthru_device = QString())
57
: m_mainDevice(std::move(main_device)),
58
m_passthruDevice(std::move(passthru_device)) {}
59
60
~
AudioSettings
();
61
void
FixPassThrough(
void
);
62
void
TrimDeviceType(
void
);
63
64
QString
GetMainDevice
(
void
)
const
65
{
return
m_mainDevice; }
66
QString
GetPassthruDevice
(
void
)
const
67
{
return
m_passthruDevice; }
68
69
public
:
70
QString
m_mainDevice
;
71
QString
m_passthruDevice
;
72
AudioFormat
m_format {
FORMAT_NONE
};
73
int
m_channels {-1};
74
AVCodecID m_codec {AV_CODEC_ID_NONE};
75
int
m_codecProfile {-1};
76
int
m_sampleRate {-1};
77
bool
m_setInitialVol {
false
};
78
bool
m_usePassthru {
false
};
79
AudioOutputSource
m_source {
AUDIOOUTPUT_UNKNOWN
};
80
int
m_upmixer {0};
85
bool
m_init {
false
};
92
AudioOutputSettings
*m_custom {
nullptr
};
93
};
94
95
#endif // AUDIO_SETTINGS_H
MPUBLIC
#define MPUBLIC
Definition:
mythexp.h:10
AUDIOOUTPUT_TELEPHONY
@ AUDIOOUTPUT_TELEPHONY
Definition:
audiosettings.h:25
AudioSettings::GetPassthruDevice
QString GetPassthruDevice(void) const
Definition:
audiosettings.h:66
mythexp.h
AudioSettings::AudioSettings
AudioSettings(QString main_device, QString passthru_device=QString())
Definition:
audiosettings.h:55
AudioSettings
Definition:
audiosettings.h:28
AUDIOOUTPUT_UNKNOWN
@ AUDIOOUTPUT_UNKNOWN
Definition:
audiosettings.h:22
FORMAT_NONE
@ FORMAT_NONE
Definition:
audiooutputsettings.h:25
AudioSettings::m_mainDevice
QString m_mainDevice
Definition:
audiosettings.h:70
AudioSettings::GetMainDevice
QString GetMainDevice(void) const
Definition:
audiosettings.h:64
AudioSettings::m_passthruDevice
QString m_passthruDevice
Definition:
audiosettings.h:71
AUDIOOUTPUT_VIDEO
@ AUDIOOUTPUT_VIDEO
Definition:
audiosettings.h:23
AudioOutputSettings
Definition:
audiooutputsettings.h:48
AudioFormat
AudioFormat
Definition:
audiooutputsettings.h:24
AUDIOOUTPUT_MUSIC
@ AUDIOOUTPUT_MUSIC
Definition:
audiosettings.h:24
audiooutputsettings.h
AudioOutputSource
AudioOutputSource
Definition:
audiosettings.h:21
Generated on Wed Feb 26 2025 03:17:52 for MythTV by
1.8.17