aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-08-18 10:12:37 +0200
committerMax Kellermann <max@duempel.org>2014-08-18 10:12:37 +0200
commit636f5d4a1d983cdbb43b23da0da9c5db4a91f71f (patch)
treeaf88f1829d5d3f4883545b2af3db87682c9d5a40
parent41a4b280eea21dd584225bb394a0522ddf504964 (diff)
downloadmpd-636f5d4a1d983cdbb43b23da0da9c5db4a91f71f.tar.gz
mpd-636f5d4a1d983cdbb43b23da0da9c5db4a91f71f.tar.xz
mpd-636f5d4a1d983cdbb43b23da0da9c5db4a91f71f.zip
{input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxx
Eliminate duplicate definition (in input plugin and decoder plugin).
-rw-r--r--Makefile.am13
-rw-r--r--src/decoder/plugins/FfmpegDecoderPlugin.cxx3
-rw-r--r--src/input/plugins/FfmpegInputPlugin.cxx4
-rw-r--r--src/lib/ffmpeg/Domain.cxx24
-rw-r--r--src/lib/ffmpeg/Domain.hxx27
5 files changed, 64 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index 44ce20fff..dbf8fb738 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -776,6 +776,15 @@ libtag_a_SOURCES += \
src/tag/Aiff.cxx src/tag/Aiff.hxx
endif
+# ffmpeg
+
+if HAVE_FFMPEG
+noinst_LIBRARIES += libffmpeg.a
+libffmpeg_a_SOURCES = \
+ src/lib/ffmpeg/Domain.cxx src/lib/ffmpeg/Domain.hxx
+FFMPEG_LIBS2 = libffmpeg.a $(FFMPEG_LIBS)
+endif
+
# decoder plugins
libdecoder_a_SOURCES = \
@@ -825,7 +834,7 @@ DECODER_LIBS = \
$(MPG123_LIBS) \
$(MP4V2_LIBS) \
$(OPUS_LIBS) \
- $(FFMPEG_LIBS) \
+ $(FFMPEG_LIBS2) \
$(MPCDEC_LIBS) \
$(ADPLUG_LIBS) \
$(FAAD_LIBS)
@@ -1104,7 +1113,7 @@ INPUT_LIBS = \
$(SMBCLIENT_LIBS) \
$(NFS_LIBS) \
$(CDIO_PARANOIA_LIBS) \
- $(FFMPEG_LIBS) \
+ $(FFMPEG_LIBS2) \
$(DESPOTIFY_LIBS) \
$(MMS_LIBS)
diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
index 3c0747514..097ec919f 100644
--- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
@@ -22,6 +22,7 @@
#include "config.h"
#include "FfmpegDecoderPlugin.hxx"
+#include "lib/ffmpeg/Domain.hxx"
#include "../DecoderAPI.hxx"
#include "FfmpegMetaData.hxx"
#include "tag/TagHandler.hxx"
@@ -47,8 +48,6 @@ extern "C" {
#include <assert.h>
#include <string.h>
-static constexpr Domain ffmpeg_domain("ffmpeg");
-
/* suppress the ffmpeg compatibility macro */
#ifdef SampleFormat
#undef SampleFormat
diff --git a/src/input/plugins/FfmpegInputPlugin.cxx b/src/input/plugins/FfmpegInputPlugin.cxx
index 05ad20c36..130521ca2 100644
--- a/src/input/plugins/FfmpegInputPlugin.cxx
+++ b/src/input/plugins/FfmpegInputPlugin.cxx
@@ -22,11 +22,11 @@
#include "config.h"
#include "FfmpegInputPlugin.hxx"
+#include "lib/ffmpeg/Domain.hxx"
#include "../InputStream.hxx"
#include "../InputPlugin.hxx"
#include "util/StringUtil.hxx"
#include "util/Error.hxx"
-#include "util/Domain.hxx"
extern "C" {
#include <libavformat/avio.h>
@@ -63,8 +63,6 @@ struct FfmpegInputStream final : public InputStream {
bool Seek(offset_type offset, Error &error) override;
};
-static constexpr Domain ffmpeg_domain("ffmpeg");
-
static inline bool
input_ffmpeg_supported(void)
{
diff --git a/src/lib/ffmpeg/Domain.cxx b/src/lib/ffmpeg/Domain.cxx
new file mode 100644
index 000000000..78db30bae
--- /dev/null
+++ b/src/lib/ffmpeg/Domain.cxx
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "config.h"
+#include "Domain.hxx"
+#include "util/Domain.hxx"
+
+const Domain ffmpeg_domain("ffmpeg");
diff --git a/src/lib/ffmpeg/Domain.hxx b/src/lib/ffmpeg/Domain.hxx
new file mode 100644
index 000000000..f21498a32
--- /dev/null
+++ b/src/lib/ffmpeg/Domain.hxx
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef MPD_FFMPEG_DOMAIN_HXX
+#define MPD_FFMPEG_DOMAIN_HXX
+
+class Domain;
+
+extern const Domain ffmpeg_domain;
+
+#endif