diff options
author | Max Kellermann <max@duempel.org> | 2013-01-04 09:46:41 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-01-04 09:46:41 +0100 |
commit | de0ab43bc12be345d85779e444266153ff5be007 (patch) | |
tree | ce024a0c25c6fc75c65438b562b6300c06737a33 | |
parent | e12cc01aa4b25798a2887ac6c5e01309e744ea8b (diff) |
output_*: convert to C++
-rw-r--r-- | Makefile.am | 28 | ||||
-rw-r--r-- | src/CommandLine.cxx | 2 | ||||
-rw-r--r-- | src/OutputAll.cxx (renamed from src/output_all.c) | 17 | ||||
-rw-r--r-- | src/OutputCommand.cxx (renamed from src/output_command.c) | 5 | ||||
-rw-r--r-- | src/OutputCommand.hxx (renamed from src/output_command.h) | 8 | ||||
-rw-r--r-- | src/OutputCommands.cxx | 5 | ||||
-rw-r--r-- | src/OutputControl.cxx (renamed from src/output_control.c) | 12 | ||||
-rw-r--r-- | src/OutputControl.hxx (renamed from src/output_control.h) | 7 | ||||
-rw-r--r-- | src/OutputError.hxx (renamed from src/output_error.h) | 6 | ||||
-rw-r--r-- | src/OutputFinish.cxx (renamed from src/output_finish.c) | 5 | ||||
-rw-r--r-- | src/OutputInit.cxx (renamed from src/output_init.c) | 15 | ||||
-rw-r--r-- | src/OutputList.cxx (renamed from src/output_list.c) | 4 | ||||
-rw-r--r-- | src/OutputList.hxx (renamed from src/output_list.h) | 6 | ||||
-rw-r--r-- | src/OutputPlugin.cxx (renamed from src/output_plugin.c) | 6 | ||||
-rw-r--r-- | src/OutputThread.cxx (renamed from src/output_thread.c) | 31 | ||||
-rw-r--r-- | src/OutputThread.hxx (renamed from src/output_thread.h) | 6 | ||||
-rw-r--r-- | test/run_output.cxx (renamed from test/run_output.c) | 12 |
17 files changed, 99 insertions, 76 deletions
diff --git a/Makefile.am b/Makefile.am index 12841d02d..5ec3ec122 100644 --- a/Makefile.am +++ b/Makefile.am @@ -52,11 +52,7 @@ mpd_headers = \ src/audio_parser.h \ src/output_internal.h \ src/output_api.h \ - src/output_list.h \ src/output_all.h \ - src/output_thread.h \ - src/output_control.h \ - src/output_command.h \ src/filter_internal.h \ src/filter_config.h \ src/filter_plugin.h \ @@ -785,17 +781,17 @@ OUTPUT_LIBS = \ $(SHOUT_LIBS) OUTPUT_API_SRC = \ - src/output_list.c \ - src/output_all.c \ - src/output_thread.c \ - src/output_error.h \ - src/output_control.c \ + src/OutputList.cxx src/OutputList.hxx \ + src/OutputAll.cxx \ + src/OutputThread.cxx src/OutputThread.hxx \ + src/OutputError.hxx \ + src/OutputControl.cxx src/OutputControl.hxx \ src/OutputState.cxx src/OutputState.hxx \ src/OutputPrint.cxx src/OutputPrint.hxx \ - src/output_command.c \ - src/output_plugin.c src/output_plugin.h \ - src/output_finish.c \ - src/output_init.c + src/OutputCommand.cxx src/OutputCommand.hxx \ + src/OutputPlugin.cxx src/output_plugin.h \ + src/OutputFinish.cxx \ + src/OutputInit.cxx liboutput_plugins_a_SOURCES = \ src/output/null_output_plugin.h \ @@ -1265,7 +1261,7 @@ test_run_output_LDADD = $(MPD_LIBS) \ $(FILTER_LIBS) \ libutil.a \ $(GLIB_LIBS) -test_run_output_SOURCES = test/run_output.c \ +test_run_output_SOURCES = test/run_output.cxx \ test/stdbin.h \ src/conf.c src/tokenizer.c src/utils.c src/string_util.c src/log.c \ src/io_thread.c src/io_thread.h \ @@ -1278,8 +1274,8 @@ test_run_output_SOURCES = test/run_output.c \ src/page.c \ src/socket_util.c \ src/resolver.c \ - src/output_init.c src/output_finish.c src/output_list.c \ - src/output_plugin.c \ + src/OutputInit.cxx src/OutputFinish.cxx src/OutputList.cxx \ + src/OutputPlugin.cxx \ src/mixer_api.c \ src/mixer_control.c \ src/mixer_type.c \ diff --git a/src/CommandLine.cxx b/src/CommandLine.cxx index a588ad5b2..4d9d2ca9d 100644 --- a/src/CommandLine.cxx +++ b/src/CommandLine.cxx @@ -29,7 +29,7 @@ extern "C" { #include "decoder_list.h" #include "decoder_plugin.h" -#include "output_list.h" +#include "OutputList.hxx" #include "output_plugin.h" #include "input_registry.h" #include "input_plugin.h" diff --git a/src/output_all.c b/src/OutputAll.cxx index b2ef1561f..ec716a411 100644 --- a/src/output_all.c +++ b/src/OutputAll.cxx @@ -18,17 +18,24 @@ */ #include "config.h" + +extern "C" { #include "output_all.h" -#include "output_error.h" #include "output_internal.h" -#include "output_control.h" -#include "chunk.h" +} + +#include "OutputControl.hxx" +#include "OutputError.hxx" +#include "mpd_error.h" + +extern "C" { +#include "player_control.h" #include "conf.h" +#include "chunk.h" #include "pipe.h" #include "buffer.h" -#include "player_control.h" -#include "mpd_error.h" #include "notify.h" +} #ifndef NDEBUG #include "chunk.h" diff --git a/src/output_command.c b/src/OutputCommand.cxx index 3988f350a..ed4cd8e88 100644 --- a/src/output_command.c +++ b/src/OutputCommand.cxx @@ -25,13 +25,16 @@ */ #include "config.h" -#include "output_command.h" +#include "OutputCommand.hxx" + +extern "C" { #include "output_all.h" #include "output_internal.h" #include "output_plugin.h" #include "mixer_control.h" #include "player_control.h" #include "idle.h" +} extern unsigned audio_output_state_version; diff --git a/src/output_command.h b/src/OutputCommand.hxx index eda30acc8..74eaf8f1c 100644 --- a/src/output_command.h +++ b/src/OutputCommand.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -24,10 +24,8 @@ * */ -#ifndef OUTPUT_COMMAND_H -#define OUTPUT_COMMAND_H - -#include <stdbool.h> +#ifndef MPD_OUTPUT_COMMAND_HXX +#define MPD_OUTPUT_COMMAND_HXX /** * Enables an audio output. Returns false if the specified output diff --git a/src/OutputCommands.cxx b/src/OutputCommands.cxx index 4dd689c4e..7d626477a 100644 --- a/src/OutputCommands.cxx +++ b/src/OutputCommands.cxx @@ -20,13 +20,10 @@ #include "config.h" #include "OutputCommands.hxx" #include "OutputPrint.hxx" +#include "OutputCommand.hxx" #include "protocol/Result.hxx" #include "protocol/ArgParser.hxx" -extern "C" { -#include "output_command.h" -} - #include <string.h> enum command_return diff --git a/src/output_control.c b/src/OutputControl.cxx index 7b95be49b..36e80a014 100644 --- a/src/output_control.c +++ b/src/OutputControl.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,14 +18,18 @@ */ #include "config.h" -#include "output_control.h" +#include "OutputControl.hxx" +#include "OutputThread.hxx" + +extern "C" { #include "output_api.h" #include "output_internal.h" -#include "output_thread.h" #include "mixer_control.h" #include "mixer_plugin.h" -#include "filter_plugin.h" #include "notify.h" +} + +#include "filter_plugin.h" #include <assert.h> #include <stdlib.h> diff --git a/src/output_control.h b/src/OutputControl.hxx index 874a53518..90769180f 100644 --- a/src/output_control.h +++ b/src/OutputControl.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -17,13 +17,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MPD_OUTPUT_CONTROL_H -#define MPD_OUTPUT_CONTROL_H +#ifndef MPD_OUTPUT_CONTROL_HXX +#define MPD_OUTPUT_CONTROL_HXX #include <glib.h> #include <stddef.h> -#include <stdbool.h> struct audio_output; struct audio_format; diff --git a/src/output_error.h b/src/OutputError.hxx index ccc784f89..451df9857 100644 --- a/src/output_error.h +++ b/src/OutputError.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2012 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -17,8 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MPD_OUTPUT_ERROR_H -#define MPD_OUTPUT_ERROR_H +#ifndef MPD_OUTPUT_ERROR_HXX +#define MPD_OUTPUT_ERROR_HXX #include <glib.h> diff --git a/src/output_finish.c b/src/OutputFinish.cxx index e11b43675..ac6ad6977 100644 --- a/src/output_finish.c +++ b/src/OutputFinish.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,10 +18,13 @@ */ #include "config.h" + +extern "C" { #include "output_internal.h" #include "output_plugin.h" #include "mixer_control.h" #include "filter_plugin.h" +} #include <assert.h> diff --git a/src/output_init.c b/src/OutputInit.cxx index a6d191920..5fc800d19 100644 --- a/src/output_init.c +++ b/src/OutputInit.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,10 +18,12 @@ */ #include "config.h" -#include "output_control.h" +#include "OutputControl.hxx" +#include "OutputList.hxx" + +extern "C" { #include "output_api.h" #include "output_internal.h" -#include "output_list.h" #include "audio_parser.h" #include "mixer_control.h" #include "mixer_type.h" @@ -33,6 +35,7 @@ #include "filter/chain_filter_plugin.h" #include "filter/autoconvert_filter_plugin.h" #include "filter/replay_gain_filter_plugin.h" +} #include <glib.h> @@ -298,14 +301,14 @@ audio_output_new(const struct config_param *param, if (p == NULL) { g_set_error(error_r, audio_output_quark(), 0, "Missing \"type\" configuration"); - return false; + return nullptr; } plugin = audio_output_plugin_get(p); if (plugin == NULL) { g_set_error(error_r, audio_output_quark(), 0, "No such audio output plugin: %s", p); - return false; + return nullptr; } } else { g_warning("No \"%s\" defined in config file\n", @@ -313,7 +316,7 @@ audio_output_new(const struct config_param *param, plugin = audio_output_detect(error_r); if (plugin == NULL) - return false; + return nullptr; g_message("Successfully detected a %s audio device", plugin->name); diff --git a/src/output_list.c b/src/OutputList.cxx index 835c02bba..3e469385f 100644 --- a/src/output_list.c +++ b/src/OutputList.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ */ #include "config.h" -#include "output_list.h" +#include "OutputList.hxx" #include "output_api.h" #include "output/alsa_output_plugin.h" #include "output/ao_output_plugin.h" diff --git a/src/output_list.h b/src/OutputList.hxx index 185ada716..b7716c67e 100644 --- a/src/output_list.h +++ b/src/OutputList.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -17,8 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MPD_OUTPUT_LIST_H -#define MPD_OUTPUT_LIST_H +#ifndef MPD_OUTPUT_LIST_HXX +#define MPD_OUTPUT_LIST_HXX extern const struct audio_output_plugin *const audio_output_plugins[]; diff --git a/src/output_plugin.c b/src/OutputPlugin.cxx index 221570c1c..9aa0f7792 100644 --- a/src/output_plugin.c +++ b/src/OutputPlugin.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,11 @@ */ #include "config.h" + +extern "C" { #include "output_plugin.h" +} + #include "output_internal.h" struct audio_output * diff --git a/src/output_thread.c b/src/OutputThread.cxx index cd1a8a878..75394703b 100644 --- a/src/output_thread.c +++ b/src/OutputThread.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,9 @@ */ #include "config.h" -#include "output_thread.h" +#include "OutputThread.hxx" + +extern "C" { #include "output_api.h" #include "output_internal.h" #include "chunk.h" @@ -28,8 +30,10 @@ #include "filter_plugin.h" #include "filter/convert_filter_plugin.h" #include "filter/replay_gain_filter_plugin.h" -#include "mpd_error.h" #include "notify.h" +} + +#include "mpd_error.h" #include "gcc.h" #include <glib.h> @@ -315,7 +319,7 @@ ao_wait(struct audio_output *ao) } } -static const char * +static const void * ao_chunk_data(struct audio_output *ao, const struct music_chunk *chunk, struct filter *replay_gain_filter, unsigned *replay_gain_serial_p, @@ -325,7 +329,7 @@ ao_chunk_data(struct audio_output *ao, const struct music_chunk *chunk, assert(!music_chunk_is_empty(chunk)); assert(music_chunk_check_format(chunk, &ao->in_audio_format)); - const char *data = chunk->data; + const void *data = chunk->data; size_t length = chunk->length; (void)ao; @@ -356,14 +360,14 @@ ao_chunk_data(struct audio_output *ao, const struct music_chunk *chunk, return data; } -static const char * +static const void * ao_filter_chunk(struct audio_output *ao, const struct music_chunk *chunk, size_t *length_r) { GError *error = NULL; size_t length; - const char *data = ao_chunk_data(ao, chunk, ao->replay_gain_filter, + const void *data = ao_chunk_data(ao, chunk, ao->replay_gain_filter, &ao->replay_gain_serial, &length); if (data == NULL) return NULL; @@ -378,7 +382,7 @@ ao_filter_chunk(struct audio_output *ao, const struct music_chunk *chunk, if (chunk->other != NULL) { size_t other_length; - const char *other_data = + const void *other_data = ao_chunk_data(ao, chunk->other, ao->other_replay_gain_filter, &ao->other_replay_gain_serial, @@ -399,13 +403,14 @@ ao_filter_chunk(struct audio_output *ao, const struct music_chunk *chunk, if (length > other_length) length = other_length; - char *dest = pcm_buffer_get(&ao->cross_fade_buffer, + void *dest = pcm_buffer_get(&ao->cross_fade_buffer, other_length); memcpy(dest, other_data, other_length); - if (!pcm_mix(dest, data, length, ao->in_audio_format.format, + if (!pcm_mix(dest, data, length, + sample_format(ao->in_audio_format.format), 1.0 - chunk->mix_ratio)) { g_warning("Cannot cross-fade format %s", - sample_format_to_string(ao->in_audio_format.format)); + sample_format_to_string(sample_format(ao->in_audio_format.format))); return NULL; } @@ -446,7 +451,7 @@ ao_play_chunk(struct audio_output *ao, const struct music_chunk *chunk) /* workaround -Wmaybe-uninitialized false positive */ size = 0; #endif - const char *data = ao_filter_chunk(ao, chunk, &size); + const char *data = (const char *)ao_filter_chunk(ao, chunk, &size); if (data == NULL) { ao_close(ao, false); @@ -578,7 +583,7 @@ static void ao_pause(struct audio_output *ao) static gpointer audio_output_task(gpointer arg) { - struct audio_output *ao = arg; + struct audio_output *ao = (struct audio_output *)arg; g_mutex_lock(ao->mutex); diff --git a/src/output_thread.h b/src/OutputThread.hxx index 5ad9a7527..1a7932162 100644 --- a/src/output_thread.h +++ b/src/OutputThread.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -17,8 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef MPD_OUTPUT_THREAD_H -#define MPD_OUTPUT_THREAD_H +#ifndef MPD_OUTPUT_THREAD_HXX +#define MPD_OUTPUT_THREAD_HXX struct audio_output; diff --git a/test/run_output.c b/test/run_output.cxx index bbb1be7d2..2b0fdd5f0 100644 --- a/test/run_output.c +++ b/test/run_output.cxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2011 The Music Player Daemon Project + * Copyright (C) 2003-2013 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -18,16 +18,20 @@ */ #include "config.h" -#include "io_thread.h" +#include "OutputControl.hxx" + +extern "C" { #include "output_plugin.h" #include "output_internal.h" -#include "output_control.h" +#include "io_thread.h" #include "conf.h" #include "audio_parser.h" #include "filter_registry.h" #include "pcm_convert.h" #include "event_pipe.h" #include "idle.h" +} + #include "playlist.h" #include "player_control.h" #include "stdbin.h" @@ -103,7 +107,7 @@ load_audio_output(const char *name) param = find_named_config_block(CONF_AUDIO_OUTPUT, name); if (param == NULL) { g_printerr("No such configured audio output: %s\n", name); - return false; + return nullptr; } static struct player_control dummy_player_control; |