diff --git a/modules/codec/avcodec/avcodec.c b/modules/codec/avcodec/avcodec.c index ed53cbd92a337bbfeff02d8b1e7843ee1e9c9516..2251cda45fc8dbdfff8052c7e8ff0d42ee4f444b 100644 --- a/modules/codec/avcodec/avcodec.c +++ b/modules/codec/avcodec/avcodec.c @@ -70,6 +70,7 @@ static const char *const enc_hq_list_text[] = { #ifdef MERGE_FFMPEG # include "../../demux/avformat/avformat.h" # include "../../access/avio.h" +# include "../../packetizer/avparser.h" #endif /***************************************************************************** @@ -238,6 +239,8 @@ vlc_module_begin () # include "../../demux/avformat/avformat.c" add_submodule () AVIO_MODULE + add_submodule () + AVPARSER_MODULE #endif vlc_module_end () diff --git a/modules/packetizer/Makefile.am b/modules/packetizer/Makefile.am index ce71ce2b264c511d801b7914478a4df5513eaefe..d67fc2113bd23e9ea8dccb8cca7c3a192404d307 100644 --- a/modules/packetizer/Makefile.am +++ b/modules/packetizer/Makefile.am @@ -14,6 +14,7 @@ libpacketizer_flac_plugin_la_SOURCES = packetizer/flac.c libpacketizer_hevc_plugin_la_SOURCES = packetizer/hevc.c libpacketizer_avparser_plugin_la_SOURCES = packetizer/avparser.c \ + packetizer/avparser.h \ codec/avcodec/avcommon.h \ codec/avcodec/avcodec.h \ codec/avcodec/fourcc.c diff --git a/modules/packetizer/avparser.c b/modules/packetizer/avparser.c index b6f41432ee4f7456735c4fb8b4f86526771b0cfb..c5d2891f6a0ecdbb2d433225c04cccf1a6b49c3d 100644 --- a/modules/packetizer/avparser.c +++ b/modules/packetizer/avparser.c @@ -37,19 +37,15 @@ #include "../codec/avcodec/avcodec.h" #include "../codec/avcodec/avcommon.h" +#include "avparser.h" /***************************************************************************** * Module descriptor *****************************************************************************/ -static int OpenPacketizer ( vlc_object_t * ); -static void ClosePacketizer( vlc_object_t * ); - +#ifndef MERGE_FFMPEG vlc_module_begin () - set_category( CAT_SOUT ) - set_subcategory( SUBCAT_SOUT_PACKETIZER ) - set_description( N_("avparser packetizer") ) - set_capability( "packetizer", 1 ) - set_callbacks( OpenPacketizer, ClosePacketizer ) + AVPARSER_MODULE vlc_module_end () +#endif /***************************************************************************** * Local prototypes @@ -69,7 +65,7 @@ static block_t * Packetize( decoder_t *, block_t ** ); * Tries to launch a decoder and return score so that the interface is able * to choose. *****************************************************************************/ -static int OpenPacketizer( vlc_object_t *p_this ) +int OpenPacketizer( vlc_object_t *p_this ) { decoder_t *p_dec = (decoder_t*)p_this; decoder_sys_t *p_sys; @@ -125,7 +121,7 @@ static int OpenPacketizer( vlc_object_t *p_this ) /***************************************************************************** * ClosePacketizer: *****************************************************************************/ -static void ClosePacketizer( vlc_object_t *p_this ) +void ClosePacketizer( vlc_object_t *p_this ) { decoder_t *p_dec = (decoder_t*)p_this; avcodec_free_context( &p_dec->p_sys->p_codec_ctx ); diff --git a/modules/packetizer/avparser.h b/modules/packetizer/avparser.h new file mode 100644 index 0000000000000000000000000000000000000000..dabbd7afbad81fa61049b0a8a4be57809b5f599c --- /dev/null +++ b/modules/packetizer/avparser.h @@ -0,0 +1,51 @@ +/***************************************************************************** + * avparser.h + ***************************************************************************** + * Copyright (C) 2015 VLC authors and VideoLAN + * $Id$ + * + * Authors: Denis Charmet <typx@videolan.org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser 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. + *****************************************************************************/ + +/***************************************************************************** + * Preamble + *****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <vlc_common.h> +#include <vlc_plugin.h> +#include <vlc_codec.h> +#include <vlc_block.h> + +#include "../codec/avcodec/avcodec.h" +#include "../codec/avcodec/avcommon.h" + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ +int OpenPacketizer ( vlc_object_t * ); +void ClosePacketizer( vlc_object_t * ); + +#define AVPARSER_MODULE \ + set_category( CAT_SOUT ) \ + set_subcategory( SUBCAT_SOUT_PACKETIZER ) \ + set_description( N_("avparser packetizer") ) \ + set_capability( "packetizer", 1 ) \ + set_callbacks( OpenPacketizer, ClosePacketizer ) diff --git a/po/POTFILES.in b/po/POTFILES.in index b679347338983bb74aa03108ea4bf1881dfb4872..0d93de1bfbd8048b46264bf25a5f3984e9cf4457 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -998,7 +998,7 @@ modules/mux/ogg.c modules/mux/wav.c modules/notify/growl.m modules/notify/notify.c -modules/packetizer/avparser.c +modules/packetizer/avparser.h modules/packetizer/copy.c modules/packetizer/dirac.c modules/packetizer/flac.c