[vlc-commits] input: input_source_t doesn't need to be a vlc_object
Thomas Guillem
git at videolan.org
Thu Oct 18 12:57:26 CEST 2018
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Wed Oct 17 09:31:35 2018 +0200| [2d3ff1b619b7fe65af0c03c71135a290a63a8367] | committer: Thomas Guillem
input: input_source_t doesn't need to be a vlc_object
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2d3ff1b619b7fe65af0c03c71135a290a63a8367
---
src/input/input.c | 31 +++++++++++++++----------------
src/input/input_internal.h | 2 --
2 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/src/input/input.c b/src/input/input.c
index a21111ff32..cd8e34db44 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -2456,20 +2456,20 @@ static void UpdateTitleListfromDemux( input_thread_t *p_input )
}
static int
-InputStreamHandleAnchor( input_source_t *source, stream_t **stream,
- char const *anchor )
+InputStreamHandleAnchor( input_thread_t *p_input, input_source_t *source,
+ stream_t **stream, char const *anchor )
{
char const* extra;
if( stream_extractor_AttachParsed( stream, anchor, &extra ) )
{
- msg_Err( source, "unable to attach stream-extractors for %s",
+ msg_Err( p_input, "unable to attach stream-extractors for %s",
(*stream)->psz_url );
return VLC_EGENERIC;
}
if( vlc_stream_directory_Attach( stream, NULL ) )
- msg_Dbg( source, "attachment of directory-extractor failed for %s",
+ msg_Dbg( p_input, "attachment of directory-extractor failed for %s",
(*stream)->psz_url );
MRLSections( extra ? extra : "",
@@ -2484,7 +2484,7 @@ static demux_t *InputDemuxNew( input_thread_t *p_input,
const char *psz_demux, const char *psz_anchor )
{
input_thread_private_t *priv = input_priv(p_input );
- vlc_object_t *obj = VLC_OBJECT(p_source);
+ vlc_object_t *obj = VLC_OBJECT(p_input);
/* create the underlying access stream */
stream_t *p_stream = stream_AccessNew( obj, p_input, priv->p_es_out,
@@ -2504,7 +2504,7 @@ static demux_t *InputDemuxNew( input_thread_t *p_input,
}
/* attach explicit stream filters to stream */
- char *psz_filters = var_InheritString( obj, "stream-filter" );
+ char *psz_filters = var_InheritString( p_input, "stream-filter" );
if( psz_filters )
{
p_stream = stream_FilterChainNew( p_stream, psz_filters );
@@ -2512,11 +2512,11 @@ static demux_t *InputDemuxNew( input_thread_t *p_input,
}
/* handle anchors */
- if( InputStreamHandleAnchor( p_source, &p_stream, psz_anchor ) )
+ if( InputStreamHandleAnchor( p_input, p_source, &p_stream, psz_anchor ) )
goto error;
/* attach conditional record stream-filter */
- if( var_InheritBool( obj, "input-record-native" ) )
+ if( var_InheritBool( p_input, "input-record-native" ) )
p_stream = stream_FilterChainNew( p_stream, "record" );
/* create a regular demux with the access stream created */
@@ -2542,8 +2542,7 @@ static input_source_t *InputSourceNew( input_thread_t *p_input,
bool b_in_can_fail )
{
input_thread_private_t *priv = input_priv(p_input);
- input_source_t *in = vlc_custom_create( p_input, sizeof( *in ),
- "input source" );
+ input_source_t *in = calloc(1, sizeof(*in) );
if( unlikely(in == NULL) )
return NULL;
@@ -2555,7 +2554,7 @@ static input_source_t *InputSourceNew( input_thread_t *p_input,
if( psz_dup == NULL )
{
- vlc_object_release( in );
+ free( in );
return NULL;
}
@@ -2563,7 +2562,7 @@ static input_source_t *InputSourceNew( input_thread_t *p_input,
input_SplitMRL( &psz_access, &psz_demux, &psz_path, &psz_anchor, psz_dup );
if( psz_demux == NULL || psz_demux[0] == '\0' )
- psz_demux = psz_demux_var = var_InheritString( in, "demux" );
+ psz_demux = psz_demux_var = var_InheritString( p_input, "demux" );
if( psz_forced_demux != NULL )
psz_demux = psz_forced_demux;
@@ -2644,7 +2643,7 @@ static input_source_t *InputSourceNew( input_thread_t *p_input,
vlc_dialog_display_error( p_input, _("Your input can't be opened"),
_("VLC is unable to open the MRL '%s'."
" Check the log for details."), psz_mrl );
- vlc_object_release( in );
+ free( in );
return NULL;
}
@@ -2666,7 +2665,7 @@ static input_source_t *InputSourceNew( input_thread_t *p_input,
if( in->p_demux == NULL )
{
msg_Err(p_input, "Failed to create demux filter");
- vlc_object_release( in );
+ free( in );
return NULL;
}
}
@@ -2784,7 +2783,7 @@ static void InputSourceDestroy( input_source_t *in )
TAB_CLEAN( in->i_title, in->title );
}
- vlc_object_release( in );
+ free( in );
}
/*****************************************************************************
@@ -2814,7 +2813,7 @@ static void InputSourceMeta( input_thread_t *p_input,
return;
demux_meta_t *p_demux_meta =
- vlc_custom_create( p_source, sizeof( *p_demux_meta ), "demux meta" );
+ vlc_custom_create( p_input, sizeof( *p_demux_meta ), "demux meta" );
if( unlikely(p_demux_meta == NULL) )
return;
p_demux_meta->p_item = input_priv(p_input)->p_item;
diff --git a/src/input/input_internal.h b/src/input/input_internal.h
index d1eaa2911e..bcc8f06a91 100644
--- a/src/input/input_internal.h
+++ b/src/input/input_internal.h
@@ -46,8 +46,6 @@ struct input_stats;
/* input_source_t: gathers all information per input source */
typedef struct
{
- struct vlc_common_members obj;
-
demux_t *p_demux; /**< Demux object (most downstream) */
/* Title infos for that input */
More information about the vlc-commits
mailing list