p_sys->p_ev = calloc( 1, sizeof( *p_sys->p_ev ) );
if( !p_sys->p_ev )
{
- msg_Err( p_access, "failed to create event thread" );
+ msg_Err( p_access, "failed to create event thread struct" );
Close( p_this );
- return VLC_EGENERIC;
+ return VLC_ENOMEM;
}
p_sys->p_ev->p_frame = NULL;
p_sys->p_ev->pp_last = &p_sys->p_ev->p_frame;
p_sys->p_ev->p_access = p_access;
vlc_mutex_init( &p_sys->p_ev->lock );
- vlc_clone( &p_sys->p_ev->thread, Raw1394EventThread,
- p_sys->p_ev, VLC_THREAD_PRIORITY_OUTPUT );
+ if( vlc_clone( &p_sys->p_ev->thread, Raw1394EventThread,
+ p_sys->p_ev, VLC_THREAD_PRIORITY_OUTPUT ) )
+ {
+ msg_Err( p_access, "failed to clone event thread" );
+ Close( p_this );
+ return VLC_EGENERIC;
+ }
return VLC_SUCCESS;
}