[vlc-devel] [PATCH 1/3] expose demux_New
Rémi Denis-Courmont
remi at remlab.net
Fri Sep 25 17:04:16 CEST 2015
I wouldn't expose the input thread parameter because it won't work
properly outside the input thread code.
Looks OK though.
Le 2015-09-25 17:46, Francois Cartegnie a écrit :
> ---
> include/vlc_demux.h | 48 +++++++++++++++++++++++++++++++++----
> src/Makefile.am | 1 -
> src/input/demux.c | 3 ++-
> src/input/demux.h | 61
> ------------------------------------------------
> src/input/input.c | 2 +-
> src/input/stream_demux.c | 3 ++-
> src/libvlccore.sym | 2 ++
> 7 files changed, 50 insertions(+), 70 deletions(-)
> delete mode 100644 src/input/demux.h
>
> diff --git a/include/vlc_demux.h b/include/vlc_demux.h
> index e0b4c49..2c8e668 100644
> --- a/include/vlc_demux.h
> +++ b/include/vlc_demux.h
> @@ -183,7 +183,49 @@ enum demux_query_e
> DEMUX_NAV_RIGHT, /* res=can fail */
> };
>
> -VLC_API int demux_vaControlHelper( stream_t *, int64_t i_start,
> int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list
> args );
>
> +/*************************************************************************
> + * Main Demux
> +
> *************************************************************************/
> +
> +/* stream_t *s could be null and then it mean a access+demux in one
> */
> +VLC_API demux_t *demux_New( vlc_object_t *p_obj, input_thread_t
> *p_parent_input,
> + const char *psz_access, const char
> *psz_demux,
> + const char *psz_path, stream_t *s,
> es_out_t *out, bool );
> +#define demux_New( a, b, c, d, e, f, g, h )
> demux_New(VLC_OBJECT(a),b,c,d,e,f,g,h)
> +
> +VLC_API void demux_Delete( demux_t * );
> +
> +
> +VLC_API int demux_vaControlHelper( stream_t *, int64_t i_start,
> int64_t i_end,
> + int64_t i_bitrate, int i_align,
> int i_query, va_list args );
> +
> +VLC_USED static inline int demux_Demux( demux_t *p_demux )
> +{
> + if( !p_demux->pf_demux )
> + return 1;
> +
> + return p_demux->pf_demux( p_demux );
> +}
> +
> +static inline int demux_vaControl( demux_t *p_demux, int i_query,
> va_list args )
> +{
> + return p_demux->pf_control( p_demux, i_query, args );
> +}
> +
> +static inline int demux_Control( demux_t *p_demux, int i_query, ...
> )
> +{
> + va_list args;
> + int i_result;
> +
> + va_start( args, i_query );
> + i_result = demux_vaControl( p_demux, i_query, args );
> + va_end( args );
> + return i_result;
> +}
> +
>
> +/*************************************************************************
> + * Miscellaneous helpers for demuxers
> +
> *************************************************************************/
>
> static inline void demux_UpdateTitleFromStream( demux_t *demux )
> {
> @@ -205,10 +247,6 @@ static inline void demux_UpdateTitleFromStream(
> demux_t *demux )
> }
> }
>
>
> -/*************************************************************************
> - * Miscellaneous helpers for demuxers
> -
> *************************************************************************/
> -
> VLC_USED
> static inline bool demux_IsPathExtension( demux_t *p_demux, const
> char *psz_extension )
> {
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 2520d67..03d030d 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -363,7 +363,6 @@ SOURCES_libvlc_common = \
> input/meta.c \
> input/clock.h \
> input/decoder.h \
> - input/demux.h \
> input/es_out.h \
> input/es_out_timeshift.h \
> input/event.h \
> diff --git a/src/input/demux.c b/src/input/demux.c
> index 91f1742..5f0a371 100644
> --- a/src/input/demux.c
> +++ b/src/input/demux.c
> @@ -25,7 +25,8 @@
> # include "config.h"
> #endif
>
> -#include "demux.h"
> +#include <vlc_demux.h>
> +#include "stream.h"
> #include <libvlc.h>
> #include <vlc_codec.h>
> #include <vlc_meta.h>
> diff --git a/src/input/demux.h b/src/input/demux.h
> deleted file mode 100644
> index 3372f17..0000000
> --- a/src/input/demux.h
> +++ /dev/null
> @@ -1,61 +0,0 @@
>
> -/*****************************************************************************
> - * demux.h: Input demux functions
> -
>
> *****************************************************************************
> - * Copyright (C) 1998-2008 VLC authors and VideoLAN
> - * Copyright (C) 2008 Laurent Aimar
> - * $Id$
> - *
> - * Authors: Laurent Aimar <fenrir at via.ecp.fr>
> - *
> - * 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.
> -
>
> *****************************************************************************/
> -
> -#ifndef LIBVLC_INPUT_DEMUX_H
> -#define LIBVLC_INPUT_DEMUX_H 1
> -
> -#include <vlc_common.h>
> -#include <vlc_demux.h>
> -
> -#include "stream.h"
> -
> -/* stream_t *s could be null and then it mean a access+demux in one
> */
> -demux_t *demux_New( vlc_object_t *p_obj, input_thread_t
> *p_parent_input, const char *psz_access, const char *psz_demux, const
> char *psz_path, stream_t *s, es_out_t *out, bool );
> -#define demux_New( a, b, c, d, e, f, g, h )
> demux_New(VLC_OBJECT(a),b,c,d,e,f,g,h)
> -
> -void demux_Delete( demux_t * );
> -
> -static inline int demux_Demux( demux_t *p_demux )
> -{
> - if( !p_demux->pf_demux )
> - return 1;
> -
> - return p_demux->pf_demux( p_demux );
> -}
> -static inline int demux_vaControl( demux_t *p_demux, int i_query,
> va_list args )
> -{
> - return p_demux->pf_control( p_demux, i_query, args );
> -}
> -static inline int demux_Control( demux_t *p_demux, int i_query, ...
> )
> -{
> - va_list args;
> - int i_result;
> -
> - va_start( args, i_query );
> - i_result = demux_vaControl( p_demux, i_query, args );
> - va_end( args );
> - return i_result;
> -}
> -
> -#endif
> diff --git a/src/input/input.c b/src/input/input.c
> index 6b40a45..03f1a4d 100644
> --- a/src/input/input.c
> +++ b/src/input/input.c
> @@ -41,11 +41,11 @@
> #include "event.h"
> #include "es_out.h"
> #include "es_out_timeshift.h"
> -#include "demux.h"
> #include "stream.h"
> #include "item.h"
> #include "resource.h"
>
> +#include <vlc_demux.h>
> #include <vlc_sout.h>
> #include <vlc_dialog.h>
> #include <vlc_url.h>
> diff --git a/src/input/stream_demux.c b/src/input/stream_demux.c
> index e25814c..8f377aa 100644
> --- a/src/input/stream_demux.c
> +++ b/src/input/stream_demux.c
> @@ -26,7 +26,8 @@
> #endif
> #include <limits.h>
>
> -#include "demux.h"
> +#include "stream.h"
> +#include <vlc_demux.h>
> #include <libvlc.h>
> #include <vlc_codec.h>
> #include <vlc_atomic.h>
> diff --git a/src/libvlccore.sym b/src/libvlccore.sym
> index 6d64c8e..6cf99e3 100644
> --- a/src/libvlccore.sym
> +++ b/src/libvlccore.sym
> @@ -89,8 +89,10 @@ decoder_SynchroReset
> decoder_SynchroTrash
> decode_URI
> decode_URI_duplicate
> +demux_Delete
> demux_PacketizerDestroy
> demux_PacketizerNew
> +demux_New
> demux_vaControlHelper
> dialog_ExtensionUpdate
> dialog_Login
--
Rémi Denis-Courmont
http://www.remlab.net/
More information about the vlc-devel
mailing list