if( in->p_stream )
stream_Delete( in->p_stream );
- if( in->p_access )
- access_Delete( in->p_access );
-
free( psz_var_demux );
free( psz_dup );
if( in->p_stream )
stream_Delete( in->p_stream );
- if( in->p_access )
- access_Delete( in->p_access );
-
if( in->i_title > 0 )
{
for( i = 0; i < in->i_title; i++ )
/* Common */
static int AStreamControl( stream_t *s, int i_query, va_list );
static void AStreamDestroy( stream_t *s );
-static void UStreamDestroy( stream_t *s );
static int ASeek( stream_t *s, uint64_t i_pos );
/****************************************************************************
{
const char *psz_access, *psz_demux, *psz_path, *psz_anchor;
access_t *p_access;
- stream_t *p_res;
if( !psz_url )
return NULL;
return NULL;
}
- if( !( p_res = stream_AccessNew( p_access, NULL ) ) )
- {
- access_Delete( p_access );
- return NULL;
- }
-
- p_res->pf_destroy = UStreamDestroy;
- return p_res;
+ return stream_AccessNew( p_access, NULL );
}
stream_t *stream_AccessNew( access_t *p_access, char **ppsz_list )
free( p_sys->list );
free( s->p_sys );
stream_CommonDelete( s );
+ access_Delete( p_access );
return NULL;
}
free( p_sys->list[p_sys->i_list]->psz_path );
free( p_sys->list[p_sys->i_list] );
}
-
free( p_sys->list );
- free( p_sys );
stream_CommonDelete( s );
-}
-
-static void UStreamDestroy( stream_t *s )
-{
- access_t *p_access = (access_t *)s->p_parent;
- AStreamDestroy( s );
- access_Delete( p_access );
+ access_Delete( p_sys->p_access );
+ free( p_sys );
}
/****************************************************************************