{input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxx

Eliminate duplicate definition (in input plugin and decoder plugin).
This commit is contained in:
Max Kellermann 2014-08-18 10:12:37 +02:00
parent 41a4b280ee
commit 636f5d4a1d
5 changed files with 64 additions and 7 deletions

View File

@ -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)

View File

@ -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

View File

@ -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)
{

24
src/lib/ffmpeg/Domain.cxx Normal file
View File

@ -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");

27
src/lib/ffmpeg/Domain.hxx Normal file
View File

@ -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