*****************************************************************************/
static const char *ppsz_sout_options[] = {
"title", "author", "copyright", "comment", "rating", NULL
-};;
+};
-static int Capability(sout_mux_t *, int, void *, void * );
-static int AddStream( sout_mux_t *, sout_input_t * );
-static int DelStream( sout_mux_t *, sout_input_t * );
-static int Mux ( sout_mux_t * );
+static int Control ( sout_mux_t *, int, va_list );
+static int AddStream( sout_mux_t *, sout_input_t * );
+static int DelStream( sout_mux_t *, sout_input_t * );
+static int Mux ( sout_mux_t * );
typedef struct
{
int i;
msg_Dbg( p_mux, "Asf muxer opened" );
- sout_ParseCfg( p_mux, SOUT_CFG_PREFIX, ppsz_sout_options, p_mux->p_cfg );
+ sout_CfgParse( p_mux, SOUT_CFG_PREFIX, ppsz_sout_options, p_mux->p_cfg );
- p_mux->pf_capacity = Capability;
+ p_mux->pf_control = Control;
p_mux->pf_addstream = AddStream;
p_mux->pf_delstream = DelStream;
p_mux->pf_mux = Mux;
/*****************************************************************************
* Capability:
*****************************************************************************/
-static int Capability( sout_mux_t *p_mux, int i_query,
- void *p_args, void *p_answer )
+static int Control( sout_mux_t *p_mux, int i_query, va_list args )
{
+ sout_mux_sys_t *p_sys = p_mux->p_sys;
+ vlc_bool_t *pb_bool;
+ char **ppsz;
+
switch( i_query )
{
- case SOUT_MUX_CAP_GET_ADD_STREAM_ANY_TIME:
- *(vlc_bool_t*)p_answer = VLC_FALSE;
- return( SOUT_MUX_CAP_ERR_OK );
+ case MUX_CAN_ADD_STREAM_WHILE_MUXING:
+ pb_bool = (vlc_bool_t*)va_arg( args, vlc_bool_t * );
+ *pb_bool = VLC_TRUE;
+ return VLC_SUCCESS;
+
+ case MUX_GET_ADD_STREAM_WAIT:
+ pb_bool = (vlc_bool_t*)va_arg( args, vlc_bool_t * );
+ *pb_bool = VLC_FALSE;
+ return VLC_SUCCESS;
+
+ case MUX_GET_MIME:
+ ppsz = (char**)va_arg( args, char ** );
+ if( p_sys->b_asf_http )
+ *ppsz = strdup( "video/x-ms-asf-stream" );
+ else
+ *ppsz = strdup( "video/x-ms-asf" );
+ return VLC_SUCCESS;
+
default:
- return( SOUT_MUX_CAP_ERR_UNIMPLEMENTED );
+ return VLC_EGENERIC;
}
}