Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
3b09c54b
Commit
3b09c54b
authored
Sep 07, 2008
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
output: renamed typedef AudioOutput to struct audio_output
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
parent
bed2a49f
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
142 additions
and
131 deletions
+142
-131
audio.c
src/audio.c
+5
-4
audioOutput.c
src/audioOutput.c
+16
-15
audioOutput.h
src/audioOutput.h
+22
-21
audioOutput_alsa.c
src/audioOutputs/audioOutput_alsa.c
+8
-7
audioOutput_ao.c
src/audioOutputs/audioOutput_ao.c
+7
-7
audioOutput_fifo.c
src/audioOutputs/audioOutput_fifo.c
+8
-7
audioOutput_jack.c
src/audioOutputs/audioOutput_jack.c
+12
-12
audioOutput_mvp.c
src/audioOutputs/audioOutput_mvp.c
+8
-7
audioOutput_null.c
src/audioOutputs/audioOutput_null.c
+6
-6
audioOutput_oss.c
src/audioOutputs/audioOutput_oss.c
+11
-10
audioOutput_osx.c
src/audioOutputs/audioOutput_osx.c
+8
-7
audioOutput_pulse.c
src/audioOutputs/audioOutput_pulse.c
+8
-7
audioOutput_shout.c
src/audioOutputs/audioOutput_shout.c
+11
-9
output_api.h
src/output_api.h
+12
-12
No files found.
src/audio.c
View file @
3b09c54b
...
...
@@ -19,6 +19,7 @@
#include "audio.h"
#include "audio_format.h"
#include "audioOutput.h"
#include "output_api.h"
#include "log.h"
#include "path.h"
#include "client.h"
...
...
@@ -33,7 +34,7 @@ static struct audio_format audio_format;
static
struct
audio_format
*
audio_configFormat
;
static
AudioO
utput
*
audioOutputArray
;
static
struct
audio_o
utput
*
audioOutputArray
;
static
unsigned
int
audioOutputArraySize
;
enum
ad_state
{
...
...
@@ -107,11 +108,11 @@ void initAudioDriver(void)
audioOutputArraySize
=
audio_output_count
();
audioDeviceStates
=
xmalloc
(
sizeof
(
enum
ad_state
)
*
audioOutputArraySize
);
audioOutputArray
=
xmalloc
(
sizeof
(
AudioO
utput
)
*
audioOutputArraySize
);
audioOutputArray
=
xmalloc
(
sizeof
(
struct
audio_o
utput
)
*
audioOutputArraySize
);
for
(
i
=
0
;
i
<
audioOutputArraySize
;
i
++
)
{
AudioO
utput
*
output
=
&
audioOutputArray
[
i
];
struct
audio_o
utput
*
output
=
&
audioOutputArray
[
i
];
unsigned
int
j
;
param
=
getNextConfigParam
(
CONF_AUDIO_OUTPUT
,
param
);
...
...
@@ -266,7 +267,7 @@ int isCurrentAudioFormat(const struct audio_format *audioFormat)
static
void
syncAudioDeviceStates
(
void
)
{
AudioO
utput
*
audioOutput
;
struct
audio_o
utput
*
audioOutput
;
unsigned
int
i
;
if
(
!
audio_format
.
channels
)
...
...
src/audioOutput.c
View file @
3b09c54b
...
...
@@ -17,6 +17,7 @@
*/
#include "audioOutput.h"
#include "output_api.h"
#include "list.h"
#include "log.h"
...
...
@@ -31,7 +32,7 @@
static
List
*
audioOutputPluginList
;
void
loadAudioOutputPlugin
(
AudioOutputPlugin
*
audioOutputPlugin
)
void
loadAudioOutputPlugin
(
struct
audio_output_plugin
*
audioOutputPlugin
)
{
if
(
!
audioOutputPlugin
->
name
)
return
;
...
...
@@ -39,7 +40,7 @@ void loadAudioOutputPlugin(AudioOutputPlugin * audioOutputPlugin)
audioOutputPlugin
);
}
void
unloadAudioOutputPlugin
(
AudioOutputPlugin
*
audioOutputPlugin
)
void
unloadAudioOutputPlugin
(
struct
audio_output_plugin
*
audioOutputPlugin
)
{
if
(
!
audioOutputPlugin
->
name
)
return
;
...
...
@@ -66,14 +67,14 @@ void finishAudioOutputPlugins(void)
if(bp) str = bp->value; \
}
int
initAudioOutput
(
AudioO
utput
*
ao
,
ConfigParam
*
param
)
int
initAudioOutput
(
struct
audio_o
utput
*
ao
,
ConfigParam
*
param
)
{
void
*
data
=
NULL
;
const
char
*
name
=
NULL
;
char
*
format
=
NULL
;
const
char
*
type
=
NULL
;
BlockParam
*
bp
=
NULL
;
AudioOutputP
lugin
*
plugin
=
NULL
;
struct
audio_output_p
lugin
*
plugin
=
NULL
;
if
(
param
)
{
getBlockParam
(
AUDIO_OUTPUT_NAME
,
name
,
1
);
...
...
@@ -85,7 +86,7 @@ int initAudioOutput(AudioOutput *ao, ConfigParam * param)
"
\"
%s
\"
at line %i
\n
"
,
type
,
param
->
line
);
}
plugin
=
(
AudioOutputP
lugin
*
)
data
;
plugin
=
(
struct
audio_output_p
lugin
*
)
data
;
}
else
{
ListNode
*
node
=
audioOutputPluginList
->
firstNode
;
...
...
@@ -94,7 +95,7 @@ int initAudioOutput(AudioOutput *ao, ConfigParam * param)
WARNING
(
"Attempt to detect audio output device
\n
"
);
while
(
node
)
{
plugin
=
(
AudioOutputP
lugin
*
)
node
->
data
;
plugin
=
(
struct
audio_output_p
lugin
*
)
node
->
data
;
if
(
plugin
->
testDefaultDeviceFunc
)
{
WARNING
(
"Attempting to detect a %s audio "
"device
\n
"
,
plugin
->
name
);
...
...
@@ -152,7 +153,7 @@ int initAudioOutput(AudioOutput *ao, ConfigParam * param)
return
1
;
}
int
openAudioOutput
(
AudioOutput
*
audioOutput
,
int
openAudioOutput
(
struct
audio_output
*
audioOutput
,
const
struct
audio_format
*
audioFormat
)
{
int
ret
=
0
;
...
...
@@ -184,7 +185,7 @@ int openAudioOutput(AudioOutput * audioOutput,
return
ret
;
}
static
void
convertAudioFormat
(
AudioOutput
*
audioOutput
,
static
void
convertAudioFormat
(
struct
audio_output
*
audioOutput
,
const
char
**
chunkArgPtr
,
size_t
*
sizeArgPtr
)
{
size_t
size
=
pcm_sizeOfConvBuffer
(
&
(
audioOutput
->
inAudioFormat
),
...
...
@@ -207,7 +208,7 @@ static void convertAudioFormat(AudioOutput * audioOutput,
*
chunkArgPtr
=
audioOutput
->
convBuffer
;
}
int
playAudioOutput
(
AudioOutput
*
audioOutput
,
int
playAudioOutput
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
int
ret
;
...
...
@@ -224,19 +225,19 @@ int playAudioOutput(AudioOutput * audioOutput,
return
ret
;
}
void
dropBufferedAudioOutput
(
AudioOutput
*
audioOutput
)
void
dropBufferedAudioOutput
(
struct
audio_output
*
audioOutput
)
{
if
(
audioOutput
->
open
)
audioOutput
->
dropBufferedAudioFunc
(
audioOutput
);
}
void
closeAudioOutput
(
AudioOutput
*
audioOutput
)
void
closeAudioOutput
(
struct
audio_output
*
audioOutput
)
{
if
(
audioOutput
->
open
)
audioOutput
->
closeDeviceFunc
(
audioOutput
);
}
void
finishAudioOutput
(
AudioOutput
*
audioOutput
)
void
finishAudioOutput
(
struct
audio_output
*
audioOutput
)
{
closeAudioOutput
(
audioOutput
);
if
(
audioOutput
->
finishDriverFunc
)
...
...
@@ -245,7 +246,7 @@ void finishAudioOutput(AudioOutput * audioOutput)
free
(
audioOutput
->
convBuffer
);
}
void
sendMetadataToAudioOutput
(
AudioOutput
*
audioOutput
,
void
sendMetadataToAudioOutput
(
struct
audio_output
*
audioOutput
,
const
struct
tag
*
tag
)
{
if
(
!
audioOutput
->
sendMetdataFunc
)
...
...
@@ -256,10 +257,10 @@ void sendMetadataToAudioOutput(AudioOutput * audioOutput,
void
printAllOutputPluginTypes
(
FILE
*
fp
)
{
ListNode
*
node
=
audioOutputPluginList
->
firstNode
;
AudioOutputP
lugin
*
plugin
;
struct
audio_output_p
lugin
*
plugin
;
while
(
node
)
{
plugin
=
(
AudioOutputP
lugin
*
)
node
->
data
;
plugin
=
(
struct
audio_output_p
lugin
*
)
node
->
data
;
fprintf
(
fp
,
"%s "
,
plugin
->
name
);
node
=
node
->
nextNode
;
}
...
...
src/audioOutput.h
View file @
3b09c54b
...
...
@@ -19,44 +19,45 @@
#ifndef AUDIO_OUTPUT_H
#define AUDIO_OUTPUT_H
#include "output_api.h"
#include "../config.h"
#include "conf.h"
#include "os_compat.h"
struct
audio_output
;
struct
audio_output_plugin
;
struct
audio_format
;
struct
tag
;
void
initAudioOutputPlugins
(
void
);
void
finishAudioOutputPlugins
(
void
);
void
loadAudioOutputPlugin
(
AudioOutputPlugin
*
audioOutputPlugin
);
void
unloadAudioOutputPlugin
(
AudioOutputPlugin
*
audioOutputPlugin
);
void
loadAudioOutputPlugin
(
struct
audio_output_plugin
*
audioOutputPlugin
);
void
unloadAudioOutputPlugin
(
struct
audio_output_plugin
*
audioOutputPlugin
);
int
initAudioOutput
(
AudioO
utput
*
,
ConfigParam
*
param
);
int
openAudioOutput
(
AudioOutput
*
audioOutput
,
int
initAudioOutput
(
struct
audio_o
utput
*
,
ConfigParam
*
param
);
int
openAudioOutput
(
struct
audio_output
*
audioOutput
,
const
struct
audio_format
*
audioFormat
);
int
playAudioOutput
(
AudioOutput
*
audioOutput
,
int
playAudioOutput
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
);
void
dropBufferedAudioOutput
(
AudioOutput
*
audioOutput
);
void
closeAudioOutput
(
AudioOutput
*
audioOutput
);
void
finishAudioOutput
(
AudioOutput
*
audioOutput
);
int
keepAudioOutputAlive
(
AudioOutput
*
audioOutput
,
int
ms
);
void
sendMetadataToAudioOutput
(
AudioOutput
*
audioOutput
,
void
dropBufferedAudioOutput
(
struct
audio_output
*
audioOutput
);
void
closeAudioOutput
(
struct
audio_output
*
audioOutput
);
void
finishAudioOutput
(
struct
audio_output
*
audioOutput
);
int
keepAudioOutputAlive
(
struct
audio_output
*
audioOutput
,
int
ms
);
void
sendMetadataToAudioOutput
(
struct
audio_output
*
audioOutput
,
const
struct
tag
*
tag
);
void
printAllOutputPluginTypes
(
FILE
*
fp
);
extern
AudioOutputP
lugin
shoutPlugin
;
extern
AudioOutputP
lugin
nullPlugin
;
extern
AudioOutputP
lugin
fifoPlugin
;
extern
AudioOutputP
lugin
alsaPlugin
;
extern
AudioOutputP
lugin
aoPlugin
;
extern
AudioOutputP
lugin
ossPlugin
;
extern
AudioOutputP
lugin
osxPlugin
;
extern
AudioOutputP
lugin
pulsePlugin
;
extern
AudioOutputP
lugin
mvpPlugin
;
extern
AudioOutputP
lugin
jackPlugin
;
extern
struct
audio_output_p
lugin
shoutPlugin
;
extern
struct
audio_output_p
lugin
nullPlugin
;
extern
struct
audio_output_p
lugin
fifoPlugin
;
extern
struct
audio_output_p
lugin
alsaPlugin
;
extern
struct
audio_output_p
lugin
aoPlugin
;
extern
struct
audio_output_p
lugin
ossPlugin
;
extern
struct
audio_output_p
lugin
osxPlugin
;
extern
struct
audio_output_p
lugin
pulsePlugin
;
extern
struct
audio_output_p
lugin
mvpPlugin
;
extern
struct
audio_output_p
lugin
jackPlugin
;
#endif
src/audioOutputs/audioOutput_alsa.c
View file @
3b09c54b
...
...
@@ -72,7 +72,8 @@ static void freeAlsaData(AlsaData * ad)
free
(
ad
);
}
static
int
alsa_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
alsa_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
AlsaData
*
ad
=
newAlsaData
();
...
...
@@ -94,7 +95,7 @@ static int alsa_initDriver(AudioOutput * audioOutput, ConfigParam * param)
return
0
;
}
static
void
alsa_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
alsa_finishDriver
(
struct
audio_output
*
audioOutput
)
{
AlsaData
*
ad
=
audioOutput
->
data
;
...
...
@@ -119,7 +120,7 @@ static int alsa_testDefault(void)
return
0
;
}
static
int
alsa_openDevice
(
AudioOutput
*
audioOutput
)
static
int
alsa_openDevice
(
struct
audio_output
*
audioOutput
)
{
AlsaData
*
ad
=
audioOutput
->
data
;
struct
audio_format
*
audioFormat
=
&
audioOutput
->
outAudioFormat
;
...
...
@@ -358,14 +359,14 @@ static int alsa_errorRecovery(AlsaData * ad, int err)
return
err
;
}
static
void
alsa_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
alsa_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
AlsaData
*
ad
=
audioOutput
->
data
;
alsa_errorRecovery
(
ad
,
snd_pcm_drop
(
ad
->
pcmHandle
));
}
static
void
alsa_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
alsa_closeDevice
(
struct
audio_output
*
audioOutput
)
{
AlsaData
*
ad
=
audioOutput
->
data
;
...
...
@@ -380,7 +381,7 @@ static void alsa_closeDevice(AudioOutput * audioOutput)
audioOutput
->
open
=
0
;
}
static
int
alsa_playAudio
(
AudioOutput
*
audioOutput
,
static
int
alsa_playAudio
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
AlsaData
*
ad
=
audioOutput
->
data
;
...
...
@@ -412,7 +413,7 @@ static int alsa_playAudio(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
alsaPlugin
=
{
struct
audio_output_p
lugin
alsaPlugin
=
{
"alsa"
,
alsa_testDefault
,
alsa_initDriver
,
...
...
src/audioOutputs/audioOutput_ao.c
View file @
3b09c54b
...
...
@@ -54,7 +54,7 @@ static void audioOutputAo_error(void)
}
}
static
int
audioOutputAo_initDriver
(
AudioOutput
*
audioOutput
,
static
int
audioOutputAo_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
ao_info
*
ai
;
...
...
@@ -146,7 +146,7 @@ static void freeAoData(AoData * ad)
free
(
ad
);
}
static
void
audioOutputAo_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
audioOutputAo_finishDriver
(
struct
audio_output
*
audioOutput
)
{
AoData
*
ad
=
(
AoData
*
)
audioOutput
->
data
;
freeAoData
(
ad
);
...
...
@@ -157,12 +157,12 @@ static void audioOutputAo_finishDriver(AudioOutput * audioOutput)
ao_shutdown
();
}
static
void
audioOutputAo_dropBufferedAudio
(
mpd_unused
AudioOutput
*
audioOutput
)
static
void
audioOutputAo_dropBufferedAudio
(
mpd_unused
struct
audio_output
*
audioOutput
)
{
/* not supported by libao */
}
static
void
audioOutputAo_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
audioOutputAo_closeDevice
(
struct
audio_output
*
audioOutput
)
{
AoData
*
ad
=
(
AoData
*
)
audioOutput
->
data
;
...
...
@@ -174,7 +174,7 @@ static void audioOutputAo_closeDevice(AudioOutput * audioOutput)
audioOutput
->
open
=
0
;
}
static
int
audioOutputAo_openDevice
(
AudioOutput
*
audioOutput
)
static
int
audioOutputAo_openDevice
(
struct
audio_output
*
audioOutput
)
{
ao_sample_format
format
;
AoData
*
ad
=
(
AoData
*
)
audioOutput
->
data
;
...
...
@@ -215,7 +215,7 @@ static int ao_play_deconst(ao_device *device, const void *output_samples,
return
ao_play
(
device
,
u
.
out
,
num_bytes
);
}
static
int
audioOutputAo_play
(
AudioOutput
*
audioOutput
,
static
int
audioOutputAo_play
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
size_t
chunk_size
;
...
...
@@ -242,7 +242,7 @@ static int audioOutputAo_play(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
aoPlugin
=
{
struct
audio_output_p
lugin
aoPlugin
=
{
"ao"
,
NULL
,
audioOutputAo_initDriver
,
...
...
src/audioOutputs/audioOutput_fifo.c
View file @
3b09c54b
...
...
@@ -151,7 +151,8 @@ static int openFifo(FifoData *fd)
return
0
;
}
static
int
fifo_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
fifo_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
FifoData
*
fd
;
BlockParam
*
blockParam
;
...
...
@@ -181,7 +182,7 @@ static int fifo_initDriver(AudioOutput *audioOutput, ConfigParam *param)
return
0
;
}
static
void
fifo_finishDriver
(
AudioO
utput
*
audioOutput
)
static
void
fifo_finishDriver
(
struct
audio_o
utput
*
audioOutput
)
{
FifoData
*
fd
=
(
FifoData
*
)
audioOutput
->
data
;
...
...
@@ -189,7 +190,7 @@ static void fifo_finishDriver(AudioOutput *audioOutput)
freeFifoData
(
fd
);
}
static
int
fifo_openDevice
(
AudioO
utput
*
audioOutput
)
static
int
fifo_openDevice
(
struct
audio_o
utput
*
audioOutput
)
{
FifoData
*
fd
=
(
FifoData
*
)
audioOutput
->
data
;
...
...
@@ -203,7 +204,7 @@ static int fifo_openDevice(AudioOutput *audioOutput)
return
0
;
}
static
void
fifo_closeDevice
(
AudioO
utput
*
audioOutput
)
static
void
fifo_closeDevice
(
struct
audio_o
utput
*
audioOutput
)
{
FifoData
*
fd
=
(
FifoData
*
)
audioOutput
->
data
;
...
...
@@ -215,7 +216,7 @@ static void fifo_closeDevice(AudioOutput *audioOutput)
audioOutput
->
open
=
0
;
}
static
void
fifo_dropBufferedAudio
(
AudioO
utput
*
audioOutput
)
static
void
fifo_dropBufferedAudio
(
struct
audio_o
utput
*
audioOutput
)
{
FifoData
*
fd
=
(
FifoData
*
)
audioOutput
->
data
;
char
buf
[
FIFO_BUFFER_SIZE
];
...
...
@@ -232,7 +233,7 @@ static void fifo_dropBufferedAudio(AudioOutput *audioOutput)
}
}
static
int
fifo_playAudio
(
AudioO
utput
*
audioOutput
,
static
int
fifo_playAudio
(
struct
audio_o
utput
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
FifoData
*
fd
=
(
FifoData
*
)
audioOutput
->
data
;
...
...
@@ -271,7 +272,7 @@ static int fifo_playAudio(AudioOutput *audioOutput,
return
0
;
}
AudioOutputP
lugin
fifoPlugin
=
{
struct
audio_output_p
lugin
fifoPlugin
=
{
"fifo"
,
NULL
,
/* testDefaultDeviceFunc */
fifo_initDriver
,
...
...
src/audioOutputs/audioOutput_jack.c
View file @
3b09c54b
...
...
@@ -87,7 +87,7 @@ static void freeJackClient(JackData *jd)
pthread_cond_destroy
(
&
jd
->
play_audio
);
}
static
void
freeJackData
(
AudioO
utput
*
audioOutput
)
static
void
freeJackData
(
struct
audio_o
utput
*
audioOutput
)
{
JackData
*
jd
=
audioOutput
->
data
;
int
i
;
...
...
@@ -108,7 +108,7 @@ static void freeJackData(AudioOutput *audioOutput)
free
(
jd
);
}
static
void
jack_finishDriver
(
AudioO
utput
*
audioOutput
)
static
void
jack_finishDriver
(
struct
audio_o
utput
*
audioOutput
)
{
freeJackData
(
audioOutput
);
DEBUG
(
"disconnect_jack (pid=%d)
\n
"
,
getpid
());
...
...
@@ -116,8 +116,8 @@ static void jack_finishDriver(AudioOutput *audioOutput)
static
int
srate
(
mpd_unused
jack_nframes_t
rate
,
void
*
data
)
{
JackData
*
jd
=
(
JackData
*
)
((
AudioOutput
*
)
data
)
->
data
;
struct
audio_format
*
audioFormat
=
&
(((
AudioOutput
*
)
data
)
->
outAudioFormat
);
JackData
*
jd
=
(
JackData
*
)
((
struct
audio_output
*
)
data
)
->
data
;
struct
audio_format
*
audioFormat
=
&
(((
struct
audio_output
*
)
data
)
->
outAudioFormat
);
audioFormat
->
sampleRate
=
(
int
)
jack_get_sample_rate
(
jd
->
client
);
...
...
@@ -179,7 +179,7 @@ static void shutdown_callback(void *arg)
jd
->
shutdown
=
1
;
}
static
void
set_audioformat
(
AudioO
utput
*
audioOutput
)
static
void
set_audioformat
(
struct
audio_o
utput
*
audioOutput
)
{
JackData
*
jd
=
audioOutput
->
data
;
struct
audio_format
*
audioFormat
=
&
audioOutput
->
outAudioFormat
;
...
...
@@ -198,7 +198,7 @@ static void error_callback(const char *msg)
ERROR
(
"jack: %s
\n
"
,
msg
);
}
static
int
jack_initDriver
(
AudioO
utput
*
audioOutput
,
ConfigParam
*
param
)
static
int
jack_initDriver
(
struct
audio_o
utput
*
audioOutput
,
ConfigParam
*
param
)
{
JackData
*
jd
;
BlockParam
*
bp
;
...
...
@@ -264,7 +264,7 @@ static int jack_testDefault(void)
return
0
;
}
static
int
connect_jack
(
AudioO
utput
*
audioOutput
)
static
int
connect_jack
(
struct
audio_o
utput
*
audioOutput
)
{
JackData
*
jd
=
audioOutput
->
data
;
const
char
**
jports
;
...
...
@@ -345,7 +345,7 @@ static int connect_jack(AudioOutput *audioOutput)
return
1
;
}
static
int
jack_openDevice
(
AudioO
utput
*
audioOutput
)
static
int
jack_openDevice
(
struct
audio_o
utput
*
audioOutput
)
{
JackData
*
jd
=
audioOutput
->
data
;
...
...
@@ -365,18 +365,18 @@ static int jack_openDevice(AudioOutput *audioOutput)
}
static
void
jack_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
jack_closeDevice
(
struct
audio_output
*
audioOutput
)
{
/*jack_finishDriver(audioOutput);*/
audioOutput
->
open
=
0
;
DEBUG
(
"jack_closeDevice (pid=%d)
\n
"
,
getpid
());
}
static
void
jack_dropBufferedAudio
(
mpd_unused
AudioOutput
*
audioOutput
)
static
void
jack_dropBufferedAudio
(
mpd_unused
struct
audio_output
*
audioOutput
)
{
}
static
int
jack_playAudio
(
AudioOutput
*
audioOutput
,
static
int
jack_playAudio
(
struct
audio_output
*
audioOutput
,
const
char
*
buff
,
size_t
size
)
{
JackData
*
jd
=
audioOutput
->
data
;
...
...
@@ -430,7 +430,7 @@ static int jack_playAudio(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
jackPlugin
=
{
struct
audio_output_p
lugin
jackPlugin
=
{
"jack"
,
jack_testDefault
,
jack_initDriver
,
...
...
src/audioOutputs/audioOutput_mvp.c
View file @
3b09c54b
...
...
@@ -93,7 +93,8 @@ static int mvp_testDefault(void)
return
-
1
;
}
static
int
mvp_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
mvp_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
MvpData
*
md
=
xmalloc
(
sizeof
(
MvpData
));
md
->
fd
=
-
1
;
...
...
@@ -102,7 +103,7 @@ static int mvp_initDriver(AudioOutput * audioOutput, ConfigParam * param)
return
0
;
}
static
void
mvp_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
mvp_finishDriver
(
struct
audio_output
*
audioOutput
)
{
MvpData
*
md
=
audioOutput
->
data
;
free
(
md
);
...
...
@@ -171,7 +172,7 @@ static int mvp_setPcmParams(MvpData * md, unsigned long rate, int channels,
return
0
;
}
static
int
mvp_openDevice
(
AudioOutput
*
audioOutput
)
static
int
mvp_openDevice
(
struct
audio_output
*
audioOutput
)
{
long
long
int
stc
=
0
;
MvpData
*
md
=
audioOutput
->
data
;
...
...
@@ -210,7 +211,7 @@ static int mvp_openDevice(AudioOutput * audioOutput)
return
0
;
}
static
void
mvp_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
mvp_closeDevice
(
struct
audio_output
*
audioOutput
)
{
MvpData
*
md
=
audioOutput
->
data
;
if
(
md
->
fd
>=
0
)
...
...
@@ -219,7 +220,7 @@ static void mvp_closeDevice(AudioOutput * audioOutput)
audioOutput
->
open
=
0
;
}
static
void
mvp_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
mvp_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
MvpData
*
md
=
audioOutput
->
data
;
if
(
md
->
fd
>=
0
)
{
...
...
@@ -230,7 +231,7 @@ static void mvp_dropBufferedAudio(AudioOutput * audioOutput)
}
}
static
int
mvp_playAudio
(
AudioOutput
*
audioOutput
,
static
int
mvp_playAudio
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
MvpData
*
md
=
audioOutput
->
data
;
...
...
@@ -256,7 +257,7 @@ static int mvp_playAudio(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
mvpPlugin
=
{
struct
audio_output_p
lugin
mvpPlugin
=
{
"mvp"
,
mvp_testDefault
,
mvp_initDriver
,
...
...
src/audioOutputs/audioOutput_null.c
View file @
3b09c54b
...
...
@@ -19,21 +19,21 @@
#include "../output_api.h"
#include "../timer.h"
static
int
null_initDriver
(
AudioO
utput
*
audioOutput
,
static
int
null_initDriver
(
struct
audio_o
utput
*
audioOutput
,
mpd_unused
ConfigParam
*
param
)
{
audioOutput
->
data
=
NULL
;
return
0
;
}
static
int
null_openDevice
(
AudioO
utput
*
audioOutput
)
static
int
null_openDevice
(
struct
audio_o
utput
*
audioOutput
)
{
audioOutput
->
data
=
timer_new
(
&
audioOutput
->
outAudioFormat
);
audioOutput
->
open
=
1
;
return
0
;
}
static
void
null_closeDevice
(
AudioO
utput
*
audioOutput
)
static
void
null_closeDevice
(
struct
audio_o
utput
*
audioOutput
)
{
if
(
audioOutput
->
data
)
{
timer_free
(
audioOutput
->
data
);
...
...
@@ -43,7 +43,7 @@ static void null_closeDevice(AudioOutput *audioOutput)
audioOutput
->
open
=
0
;
}
static
int
null_playAudio
(
AudioO
utput
*
audioOutput
,
static
int
null_playAudio
(
struct
audio_o
utput
*
audioOutput
,
mpd_unused
const
char
*
playChunk
,
size_t
size
)
{
Timer
*
timer
=
audioOutput
->
data
;
...
...
@@ -58,12 +58,12 @@ static int null_playAudio(AudioOutput *audioOutput,
return
0
;
}
static
void
null_dropBufferedAudio
(
AudioO
utput
*
audioOutput
)
static
void
null_dropBufferedAudio
(
struct
audio_o
utput
*
audioOutput
)
{
timer_reset
(
audioOutput
->
data
);
}
AudioOutputP
lugin
nullPlugin
=
{
struct
audio_output_p
lugin
nullPlugin
=
{
"null"
,
NULL
,
null_initDriver
,
...
...
src/audioOutputs/audioOutput_oss.c
View file @
3b09c54b
...
...
@@ -333,8 +333,8 @@ static int oss_testDefault(void)
return
-
1
;
}
static
int
oss_open_default
(
mpd_unused
AudioOutput
*
ao
,
ConfigParam
*
param
,
OssData
*
od
)
static
int
oss_open_default
(
mpd_unused
struct
audio_output
*
ao
,
ConfigParam
*
param
,
OssData
*
od
)
{
int
i
;
int
err
[
ARRAY_SIZE
(
default_devices
)];
...
...
@@ -374,7 +374,8 @@ static int oss_open_default(mpd_unused AudioOutput *ao, ConfigParam *param,
return
0
;
/* some compilers can be dumb... */
}
static
int
oss_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
oss_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
OssData
*
od
=
newOssData
();
audioOutput
->
data
=
od
;
...
...
@@ -388,7 +389,7 @@ static int oss_initDriver(AudioOutput * audioOutput, ConfigParam * param)
return
oss_open_default
(
audioOutput
,
param
,
od
);
}
static
void
oss_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
oss_finishDriver
(
struct
audio_output
*
audioOutput
)
{
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -432,7 +433,7 @@ static void oss_close(OssData * od)
od
->
fd
=
-
1
;
}
static
int
oss_open
(
AudioOutput
*
audioOutput
)
static
int
oss_open
(
struct
audio_output
*
audioOutput
)
{
int
tmp
;
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -479,7 +480,7 @@ fail:
return
-
1
;
}
static
int
oss_openDevice
(
AudioOutput
*
audioOutput
)
static
int
oss_openDevice
(
struct
audio_output
*
audioOutput
)
{
int
ret
;
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -502,7 +503,7 @@ static int oss_openDevice(AudioOutput * audioOutput)
return
ret
;
}
static
void
oss_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
oss_closeDevice
(
struct
audio_output
*
audioOutput
)
{
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -511,7 +512,7 @@ static void oss_closeDevice(AudioOutput * audioOutput)
audioOutput
->
open
=
0
;
}
static
void
oss_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
oss_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -521,7 +522,7 @@ static void oss_dropBufferedAudio(AudioOutput * audioOutput)
}
}
static
int
oss_playAudio
(
AudioOutput
*
audioOutput
,
static
int
oss_playAudio
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
OssData
*
od
=
audioOutput
->
data
;
...
...
@@ -548,7 +549,7 @@ static int oss_playAudio(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
ossPlugin
=
{
struct
audio_output_p
lugin
ossPlugin
=
{
"oss"
,
oss_testDefault
,
oss_initDriver
,
...
...
src/audioOutputs/audioOutput_osx.c
View file @
3b09c54b
...
...
@@ -80,7 +80,8 @@ static int osx_testDefault()
return
0
;
}
static
int
osx_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
osx_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
OsxData
*
od
=
newOsxData
();
...
...
@@ -98,13 +99,13 @@ static void freeOsxData(OsxData * od)
free
(
od
);
}
static
void
osx_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
osx_finishDriver
(
struct
audio_output
*
audioOutput
)
{
OsxData
*
od
=
(
OsxData
*
)
audioOutput
->
data
;
freeOsxData
(
od
);
}
static
void
osx_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
osx_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
OsxData
*
od
=
(
OsxData
*
)
audioOutput
->
data
;
...
...
@@ -113,7 +114,7 @@ static void osx_dropBufferedAudio(AudioOutput * audioOutput)
pthread_mutex_unlock
(
&
od
->
mutex
);
}
static
void
osx_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
osx_closeDevice
(
struct
audio_output
*
audioOutput
)
{
OsxData
*
od
=
(
OsxData
*
)
audioOutput
->
data
;
...
...
@@ -215,7 +216,7 @@ static OSStatus osx_render(void *vdata,
return
0
;
}
static
int
osx_openDevice
(
AudioOutput
*
audioOutput
)
static
int
osx_openDevice
(
struct
audio_output
*
audioOutput
)
{
OsxData
*
od
=
(
OsxData
*
)
audioOutput
->
data
;
ComponentDescription
desc
;
...
...
@@ -295,7 +296,7 @@ static int osx_openDevice(AudioOutput * audioOutput)
return
0
;
}
static
int
osx_play
(
AudioOutput
*
audioOutput
,
static
int
osx_play
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
OsxData
*
od
=
(
OsxData
*
)
audioOutput
->
data
;
...
...
@@ -354,7 +355,7 @@ static int osx_play(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
osxPlugin
=
{
struct
audio_output_p
lugin
osxPlugin
=
{
"osx"
,
osx_testDefault
,
osx_initDriver
,
...
...
src/audioOutputs/audioOutput_pulse.c
View file @
3b09c54b
...
...
@@ -61,7 +61,8 @@ static void freePulseData(PulseData * pd)
free
(
pd
);
}
static
int
pulse_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
pulse_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
BlockParam
*
server
=
NULL
;
BlockParam
*
sink
=
NULL
;
...
...
@@ -80,7 +81,7 @@ static int pulse_initDriver(AudioOutput * audioOutput, ConfigParam * param)
return
0
;
}
static
void
pulse_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
pulse_finishDriver
(
struct
audio_output
*
audioOutput
)
{
freePulseData
((
PulseData
*
)
audioOutput
->
data
);
}
...
...
@@ -108,7 +109,7 @@ static int pulse_testDefault(void)
return
0
;
}
static
int
pulse_openDevice
(
AudioOutput
*
audioOutput
)
static
int
pulse_openDevice
(
struct
audio_output
*
audioOutput
)
{
PulseData
*
pd
;
struct
audio_format
*
audioFormat
;
...
...
@@ -157,7 +158,7 @@ static int pulse_openDevice(AudioOutput * audioOutput)
return
0
;
}
static
void
pulse_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
pulse_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
PulseData
*
pd
;
int
error
;
...
...
@@ -168,7 +169,7 @@ static void pulse_dropBufferedAudio(AudioOutput * audioOutput)
audioOutput
->
name
,
pa_strerror
(
error
));
}
static
void
pulse_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
pulse_closeDevice
(
struct
audio_output
*
audioOutput
)
{
PulseData
*
pd
;
...
...
@@ -181,7 +182,7 @@ static void pulse_closeDevice(AudioOutput * audioOutput)
audioOutput
->
open
=
0
;
}
static
int
pulse_playAudio
(
AudioOutput
*
audioOutput
,
static
int
pulse_playAudio
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
PulseData
*
pd
;
...
...
@@ -199,7 +200,7 @@ static int pulse_playAudio(AudioOutput * audioOutput,
return
0
;
}
AudioOutputP
lugin
pulsePlugin
=
{
struct
audio_output_p
lugin
pulsePlugin
=
{
"pulse"
,
pulse_testDefault
,
pulse_initDriver
,
...
...
src/audioOutputs/audioOutput_shout.c
View file @
3b09c54b
...
...
@@ -107,7 +107,8 @@ static void freeShoutData(ShoutData * sd)
} \
}
static
int
myShout_initDriver
(
AudioOutput
*
audioOutput
,
ConfigParam
*
param
)
static
int
myShout_initDriver
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
)
{
ShoutData
*
sd
;
char
*
test
;
...
...
@@ -351,7 +352,7 @@ static void myShout_closeShoutConn(ShoutData * sd)
sd
->
opened
=
0
;
}
static
void
myShout_finishDriver
(
AudioOutput
*
audioOutput
)
static
void
myShout_finishDriver
(
struct
audio_output
*
audioOutput
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
...
...
@@ -365,7 +366,7 @@ static void myShout_finishDriver(AudioOutput * audioOutput)
shout_shutdown
();
}
static
void
myShout_dropBufferedAudio
(
AudioOutput
*
audioOutput
)
static
void
myShout_dropBufferedAudio
(
struct
audio_output
*
audioOutput
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
timer_reset
(
sd
->
timer
);
...
...
@@ -373,7 +374,7 @@ static void myShout_dropBufferedAudio(AudioOutput * audioOutput)
/* needs to be implemented for shout */
}
static
void
myShout_closeDevice
(
AudioOutput
*
audioOutput
)
static
void
myShout_closeDevice
(
struct
audio_output
*
audioOutput
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
...
...
@@ -509,7 +510,7 @@ static int myShout_connect(ShoutData *sd)
}
}
static
int
myShout_openShoutConn
(
AudioOutput
*
audioOutput
)
static
int
myShout_openShoutConn
(
struct
audio_output
*
audioOutput
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
int
status
;
...
...
@@ -550,7 +551,7 @@ static int myShout_openShoutConn(AudioOutput * audioOutput)
return
0
;
}
static
int
myShout_openDevice
(
AudioOutput
*
audioOutput
)
static
int
myShout_openDevice
(
struct
audio_output
*
audioOutput
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
...
...
@@ -598,7 +599,7 @@ static void myShout_sendMetadata(ShoutData * sd)
sd
->
tagToSend
=
0
;
}
static
int
myShout_play
(
AudioOutput
*
audioOutput
,
static
int
myShout_play
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
)
{
unsigned
int
i
;
...
...
@@ -662,7 +663,8 @@ static int myShout_play(AudioOutput * audioOutput,
return
0
;
}
static
void
myShout_setTag
(
AudioOutput
*
audioOutput
,
const
struct
tag
*
tag
)
static
void
myShout_setTag
(
struct
audio_output
*
audioOutput
,
const
struct
tag
*
tag
)
{
ShoutData
*
sd
=
(
ShoutData
*
)
audioOutput
->
data
;
...
...
@@ -678,7 +680,7 @@ static void myShout_setTag(AudioOutput * audioOutput, const struct tag *tag)
sd
->
tagToSend
=
1
;
}
AudioOutputP
lugin
shoutPlugin
=
{
struct
audio_output_p
lugin
shoutPlugin
=
{
"shout"
,
NULL
,
myShout_initDriver
,
...
...
src/output_api.h
View file @
3b09c54b
...
...
@@ -28,30 +28,30 @@
#include "log.h"
#include "os_compat.h"
#define DISABLED_AUDIO_OUTPUT_PLUGIN(plugin)
AudioOutputP
lugin plugin;
#define DISABLED_AUDIO_OUTPUT_PLUGIN(plugin)
struct audio_output_p
lugin plugin;
typedef
struct
_AudioOutput
AudioO
utput
;
struct
audio_o
utput
;
typedef
int
(
*
AudioOutputTestDefaultDeviceFunc
)
(
void
);
typedef
int
(
*
AudioOutputInitDriverFunc
)
(
AudioOutput
*
audioOutput
,
typedef
int
(
*
AudioOutputInitDriverFunc
)
(
struct
audio_output
*
audioOutput
,
ConfigParam
*
param
);
typedef
void
(
*
AudioOutputFinishDriverFunc
)
(
AudioOutput
*
audioOutput
);
typedef
void
(
*
AudioOutputFinishDriverFunc
)
(
struct
audio_output
*
audioOutput
);
typedef
int
(
*
AudioOutputOpenDeviceFunc
)
(
AudioOutput
*
audioOutput
);
typedef
int
(
*
AudioOutputOpenDeviceFunc
)
(
struct
audio_output
*
audioOutput
);
typedef
int
(
*
AudioOutputPlayFunc
)
(
AudioOutput
*
audioOutput
,
typedef
int
(
*
AudioOutputPlayFunc
)
(
struct
audio_output
*
audioOutput
,
const
char
*
playChunk
,
size_t
size
);
typedef
void
(
*
AudioOutputDropBufferedAudioFunc
)
(
AudioOutput
*
audioOutput
);
typedef
void
(
*
AudioOutputDropBufferedAudioFunc
)
(
struct
audio_output
*
audioOutput
);
typedef
void
(
*
AudioOutputCloseDeviceFunc
)
(
AudioOutput
*
audioOutput
);
typedef
void
(
*
AudioOutputCloseDeviceFunc
)
(
struct
audio_output
*
audioOutput
);
typedef
void
(
*
AudioOutputSendMetadataFunc
)
(
AudioOutput
*
audioOutput
,
typedef
void
(
*
AudioOutputSendMetadataFunc
)
(
struct
audio_output
*
audioOutput
,
const
struct
tag
*
tag
);
typedef
struct
_AudioOutputP
lugin
{
struct
audio_output_p
lugin
{
const
char
*
name
;
AudioOutputTestDefaultDeviceFunc
testDefaultDeviceFunc
;
...
...
@@ -62,9 +62,9 @@ typedef struct _AudioOutputPlugin {
AudioOutputDropBufferedAudioFunc
dropBufferedAudioFunc
;
AudioOutputCloseDeviceFunc
closeDeviceFunc
;
AudioOutputSendMetadataFunc
sendMetdataFunc
;
}
AudioOutputPlugin
;
};
struct
_AudioO
utput
{
struct
audio_o
utput
{
int
open
;
const
char
*
name
;
const
char
*
type
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment