struct sout_stream_sys_t
{
- sout_stream_t *p_out;
int i_gop;
int i_qscale;
int i_aspect;
if( !p_sys )
return VLC_ENOMEM;
- p_sys->p_out = sout_StreamNew( p_stream->p_sout, p_stream->psz_next );
- if( !p_sys->p_out )
+ if( !p_stream->p_next )
{
msg_Err( p_stream, "cannot create chain" );
free( p_sys );
sout_stream_t *p_stream = (sout_stream_t *)p_this;
sout_stream_sys_t *p_sys = p_stream->p_sys;
- sout_StreamDelete( p_sys->p_out );
-
free( p_sys );
}
memcpy( &id->f_src, p_fmt, sizeof( es_format_t ) );
/* open output stream */
- id->id = p_sys->p_out->pf_add( p_sys->p_out, p_fmt );
+ id->id = p_stream->p_next->pf_add( p_stream->p_next, p_fmt );
if( id->id != NULL )
return id;
if ( id->id )
{
- p_sys->p_out->pf_del( p_sys->p_out, id->id );
+ p_stream->p_next->pf_del( p_stream->p_next, id->id );
}
free( id );
if ( !id->b_switcher_video && !id->b_switcher_audio )
{
- return p_sys->p_out->pf_send( p_sys->p_out, id->id, p_buffer );
+ return p_stream->p_next->pf_send( p_stream->p_next, id->id, p_buffer );
}
block_ChainAppend( &id->p_queued, p_buffer );
{
/* Full forward */
if ( p_blocks != NULL )
- p_sys->p_out->pf_send( p_sys->p_out, id->id, p_blocks );
+ p_stream->p_next->pf_send( p_stream->p_next, id->id, p_blocks );
return i_dts;
}
}
if ( p_blocks_out != NULL )
- p_sys->p_out->pf_send( p_sys->p_out, id->id, p_blocks_out );
+ p_stream->p_next->pf_send( p_stream->p_next, id->id, p_blocks_out );
return i_dts;
}