/*****************************************************************************
* stream_output.h : stream output module
*****************************************************************************
- * Copyright (C) 2002-2005 the VideoLAN team
+ * Copyright (C) 2002-2007 the VideoLAN team
* $Id$
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
VLC_COMMON_MEMBERS
module_t *p_module;
-
- sout_instance_t *p_sout;
-
char *psz_access;
- config_chain_t *p_cfg;
int i_writes;
/** Local counter reset each time it is transferred to stats */
int (*pf_seek)( sout_access_out_t *, off_t );
int (*pf_read)( 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( int, sout_AccessOutSeek, ( sout_access_out_t *, off_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_AccessOutControl,( sout_access_out_t *, int, va_list ) );
/** Muxer structure */
struct sout_mux_t
/*****************************************************************************
* stream_output.c : stream output module
*****************************************************************************
- * Copyright (C) 2002-2004 the VideoLAN team
+ * Copyright (C) 2002-2007 the VideoLAN team
* $Id$
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
p_access->pf_seek = NULL;
p_access->pf_read = NULL;
p_access->pf_write = NULL;
+ p_access->pf_control = NULL;
p_access->p_module = NULL;
p_access->i_writes = 0;
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
*****************************************************************************/