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
a0103dd0
Commit
a0103dd0
authored
Sep 07, 2008
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
output: replace audio_output.*Func with audio_output.plugin
Instead of copying all that stuff from the audio output plugin to the audio output structure, store a pointer to the plugin.
parent
3b09c54b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
24 deletions
+12
-24
audioOutput.c
src/audioOutput.c
+11
-17
output_api.h
src/output_api.h
+1
-7
No files found.
src/audioOutput.c
View file @
a0103dd0
...
...
@@ -72,11 +72,12 @@ int initAudioOutput(struct audio_output *ao, ConfigParam * param)
void
*
data
=
NULL
;
const
char
*
name
=
NULL
;
char
*
format
=
NULL
;
const
char
*
type
=
NULL
;
BlockParam
*
bp
=
NULL
;
struct
audio_output_plugin
*
plugin
=
NULL
;
if
(
param
)
{
const
char
*
type
=
NULL
;
getBlockParam
(
AUDIO_OUTPUT_NAME
,
name
,
1
);
getBlockParam
(
AUDIO_OUTPUT_TYPE
,
type
,
1
);
getBlockParam
(
AUDIO_OUTPUT_FORMAT
,
format
,
0
);
...
...
@@ -114,17 +115,10 @@ int initAudioOutput(struct audio_output *ao, ConfigParam * param)
}
name
=
"default detected output"
;
type
=
plugin
->
name
;
}
ao
->
name
=
name
;
ao
->
type
=
type
;
ao
->
finishDriverFunc
=
plugin
->
finishDriverFunc
;
ao
->
openDeviceFunc
=
plugin
->
openDeviceFunc
;
ao
->
playFunc
=
plugin
->
playFunc
;
ao
->
dropBufferedAudioFunc
=
plugin
->
dropBufferedAudioFunc
;
ao
->
closeDeviceFunc
=
plugin
->
closeDeviceFunc
;
ao
->
sendMetdataFunc
=
plugin
->
sendMetdataFunc
;
ao
->
plugin
=
plugin
;
ao
->
open
=
0
;
ao
->
convertAudioFormat
=
0
;
...
...
@@ -176,7 +170,7 @@ int openAudioOutput(struct audio_output *audioOutput,
}
if
(
!
audioOutput
->
open
)
ret
=
audioOutput
->
openDeviceFunc
(
audioOutput
);
ret
=
audioOutput
->
plugin
->
openDeviceFunc
(
audioOutput
);
audioOutput
->
sameInAndOutFormats
=
!
cmpAudioFormat
(
&
audioOutput
->
inAudioFormat
,
...
...
@@ -220,7 +214,7 @@ int playAudioOutput(struct audio_output *audioOutput,
convertAudioFormat
(
audioOutput
,
&
playChunk
,
&
size
);
}
ret
=
audioOutput
->
playFunc
(
audioOutput
,
playChunk
,
size
);
ret
=
audioOutput
->
pl
ugin
->
pl
ayFunc
(
audioOutput
,
playChunk
,
size
);
return
ret
;
}
...
...
@@ -228,20 +222,20 @@ int playAudioOutput(struct audio_output *audioOutput,
void
dropBufferedAudioOutput
(
struct
audio_output
*
audioOutput
)
{
if
(
audioOutput
->
open
)
audioOutput
->
dropBufferedAudioFunc
(
audioOutput
);
audioOutput
->
plugin
->
dropBufferedAudioFunc
(
audioOutput
);
}
void
closeAudioOutput
(
struct
audio_output
*
audioOutput
)
{
if
(
audioOutput
->
open
)
audioOutput
->
closeDeviceFunc
(
audioOutput
);
audioOutput
->
plugin
->
closeDeviceFunc
(
audioOutput
);
}
void
finishAudioOutput
(
struct
audio_output
*
audioOutput
)
{
closeAudioOutput
(
audioOutput
);
if
(
audioOutput
->
finishDriverFunc
)
audioOutput
->
finishDriverFunc
(
audioOutput
);
if
(
audioOutput
->
plugin
->
finishDriverFunc
)
audioOutput
->
plugin
->
finishDriverFunc
(
audioOutput
);
if
(
audioOutput
->
convBuffer
)
free
(
audioOutput
->
convBuffer
);
}
...
...
@@ -249,9 +243,9 @@ void finishAudioOutput(struct audio_output *audioOutput)
void
sendMetadataToAudioOutput
(
struct
audio_output
*
audioOutput
,
const
struct
tag
*
tag
)
{
if
(
!
audioOutput
->
sendMetdataFunc
)
if
(
!
audioOutput
->
plugin
->
sendMetdataFunc
)
return
;
audioOutput
->
sendMetdataFunc
(
audioOutput
,
tag
);
audioOutput
->
plugin
->
sendMetdataFunc
(
audioOutput
,
tag
);
}
void
printAllOutputPluginTypes
(
FILE
*
fp
)
...
...
src/output_api.h
View file @
a0103dd0
...
...
@@ -67,14 +67,8 @@ struct audio_output_plugin {
struct
audio_output
{
int
open
;
const
char
*
name
;
const
char
*
type
;
AudioOutputFinishDriverFunc
finishDriverFunc
;
AudioOutputOpenDeviceFunc
openDeviceFunc
;
AudioOutputPlayFunc
playFunc
;
AudioOutputDropBufferedAudioFunc
dropBufferedAudioFunc
;
AudioOutputCloseDeviceFunc
closeDeviceFunc
;
AudioOutputSendMetadataFunc
sendMetdataFunc
;
const
struct
audio_output_plugin
*
plugin
;
int
convertAudioFormat
;
struct
audio_format
inAudioFormat
;
...
...
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