Commit 890a4fb7 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Add pf_control to access_output

parent 31456021
/***************************************************************************** /*****************************************************************************
* stream_output.h : stream output module * stream_output.h : stream output module
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2005 the VideoLAN team * Copyright (C) 2002-2007 the VideoLAN team
* $Id$ * $Id$
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
...@@ -69,11 +69,7 @@ struct sout_access_out_t ...@@ -69,11 +69,7 @@ struct sout_access_out_t
VLC_COMMON_MEMBERS VLC_COMMON_MEMBERS
module_t *p_module; module_t *p_module;
sout_instance_t *p_sout;
char *psz_access; char *psz_access;
config_chain_t *p_cfg;
int i_writes; int i_writes;
/** Local counter reset each time it is transferred to stats */ /** Local counter reset each time it is transferred to stats */
...@@ -84,6 +80,10 @@ struct sout_access_out_t ...@@ -84,6 +80,10 @@ struct sout_access_out_t
int (*pf_seek)( sout_access_out_t *, off_t ); int (*pf_seek)( sout_access_out_t *, off_t );
int (*pf_read)( sout_access_out_t *, block_t * ); int (*pf_read)( sout_access_out_t *, block_t * );
int (*pf_write)( sout_access_out_t *, block_t * ); int (*pf_write)( sout_access_out_t *, block_t * );
int (*pf_control)( sout_access_out_t *, int, va_list);
config_chain_t *p_cfg;
sout_instance_t *p_sout;
}; };
VLC_EXPORT( sout_access_out_t *,sout_AccessOutNew, ( sout_instance_t *, char *psz_access, char *psz_name ) ); VLC_EXPORT( sout_access_out_t *,sout_AccessOutNew, ( sout_instance_t *, char *psz_access, char *psz_name ) );
...@@ -91,6 +91,7 @@ VLC_EXPORT( void, sout_AccessOutDelete, ( sout_access_out_t * ) ); ...@@ -91,6 +91,7 @@ VLC_EXPORT( void, sout_AccessOutDelete, ( sout_access_out_t * ) );
VLC_EXPORT( int, sout_AccessOutSeek, ( sout_access_out_t *, off_t ) ); VLC_EXPORT( int, sout_AccessOutSeek, ( sout_access_out_t *, off_t ) );
VLC_EXPORT( int, sout_AccessOutRead, ( sout_access_out_t *, block_t * ) ); VLC_EXPORT( int, sout_AccessOutRead, ( sout_access_out_t *, block_t * ) );
VLC_EXPORT( int, sout_AccessOutWrite, ( sout_access_out_t *, block_t * ) ); VLC_EXPORT( int, sout_AccessOutWrite, ( sout_access_out_t *, block_t * ) );
VLC_EXPORT( int, sout_AccessOutControl,( sout_access_out_t *, int, va_list ) );
/** Muxer structure */ /** Muxer structure */
struct sout_mux_t struct sout_mux_t
......
/***************************************************************************** /*****************************************************************************
* stream_output.c : stream output module * stream_output.c : stream output module
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2004 the VideoLAN team * Copyright (C) 2002-2007 the VideoLAN team
* $Id$ * $Id$
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
...@@ -299,6 +299,7 @@ sout_access_out_t *sout_AccessOutNew( sout_instance_t *p_sout, ...@@ -299,6 +299,7 @@ sout_access_out_t *sout_AccessOutNew( sout_instance_t *p_sout,
p_access->pf_seek = NULL; p_access->pf_seek = NULL;
p_access->pf_read = NULL; p_access->pf_read = NULL;
p_access->pf_write = NULL; p_access->pf_write = NULL;
p_access->pf_control = NULL;
p_access->p_module = NULL; p_access->p_module = NULL;
p_access->i_writes = 0; p_access->i_writes = 0;
...@@ -385,6 +386,15 @@ int sout_AccessOutWrite( sout_access_out_t *p_access, block_t *p_buffer ) ...@@ -385,6 +386,15 @@ int sout_AccessOutWrite( sout_access_out_t *p_access, block_t *p_buffer )
return p_access->pf_write( p_access, p_buffer ); return p_access->pf_write( p_access, p_buffer );
} }
/**
* sout_AccessOutControl
*/
int sout_AccessOutControl (sout_access_out_t *access, int query, va_list args)
{
return (access->pf_control) ? access->pf_control (access, query, args)
: VLC_EGENERIC;
}
/***************************************************************************** /*****************************************************************************
* sout_MuxNew: create a new mux * sout_MuxNew: create a new mux
*****************************************************************************/ *****************************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment