# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_input.h>
#include <vlc_sout.h>
if( psz_fmt == NULL || !*psz_fmt )
{
- psz_fmt = "stream-%n-%c.%m";
+ psz_fmt = (char*)"stream-%n-%c.%m";
}
p = psz_dst = malloc( 4096 );
+ if( !psz_dst )
+ return NULL;
memset( p, 0, 4096 );
for( ;; )
{
_("There is no suitable stream-output access module for \"%s/%s://%s\"."),
psz_access,
psz_mux, psz_dst );
+ free( psz_dst );
return( NULL );
}
"for \"%s/%s://%s\"."),
psz_access, psz_mux, psz_dst );
sout_AccessOutDelete( p_access );
+ free( psz_dst );
return( NULL );
}
+ free( psz_dst );
id = malloc( sizeof( sout_stream_id_t ) );
+ if( !id )
+ {
+ sout_MuxDelete( p_mux );
+ sout_AccessOutDelete( p_access );
+ return NULL;
+ }
id->p_mux = p_mux;
id->p_input = sout_MuxAddStream( p_mux, p_fmt );
if( id->p_input == NULL )
{
- free( id );
-
sout_MuxDelete( p_mux );
sout_AccessOutDelete( p_access );
free( id );
return NULL;
}
+ if( !sout_AccessOutCanControlPace( p_access ) )
+ p_sout->i_out_pace_nocontrol++;
+
return id;
}
sout_access_out_t *p_access = id->p_mux->p_access;
sout_MuxDelete( id->p_mux );
sout_MuxDeleteStream( id->p_mux, id->p_input );
+ if( !sout_AccessOutCanControlPace( p_access ) )
+ p_stream->p_sout->i_out_pace_nocontrol--;
sout_AccessOutDelete( p_access );
free( id );