(void) p_this; (void) psz_var; (void) oldval;
- var_AddCallback( p_input, "intf-event", InputEvent, p_intf );
assert( p_sys->p_input == NULL );
- p_sys->p_input = vlc_object_hold( p_input );
+
+ if( p_input != NULL )
+ {
+ var_AddCallback( p_input, "intf-event", InputEvent, p_intf );
+ p_sys->p_input = vlc_object_hold( p_input );
+ }
return VLC_SUCCESS;
}
VLC_UNUSED(cmd); VLC_UNUSED(oldval); VLC_UNUSED(object);
intf_thread_t *intf = data;
intf_sys_t *sys = intf->p_sys;
-
input_thread_t *input = newval.p_address;
+
assert(sys->input == NULL);
- sys->input = vlc_object_hold(input);
- if (vlc_clone(&sys->thread, sys->is_master ? Master : Slave, intf,
- VLC_THREAD_PRIORITY_INPUT)) {
- vlc_object_release(input);
- sys->input = NULL;
- return VLC_SUCCESS;
+
+ if (input != NULL)
+ {
+ sys->input = vlc_object_hold(input);
+ if (vlc_clone(&sys->thread, sys->is_master ? Master : Slave, intf,
+ VLC_THREAD_PRIORITY_INPUT)) {
+ vlc_object_release(input);
+ sys->input = NULL;
+ return VLC_SUCCESS;
+ }
+ var_AddCallback(input, "intf-event", InputEvent, intf);
}
- var_AddCallback(input, "intf-event", InputEvent, intf);
return VLC_SUCCESS;
}
VlcProc *pThis = (VlcProc*)pParam;
input_thread_t *pInput = static_cast<input_thread_t*>(newval.p_address);
- var_AddCallback( pInput, "intf-event", onGenericCallback2, pThis );
- var_AddCallback( pInput, "bit-rate", onGenericCallback, pThis );
- var_AddCallback( pInput, "sample-rate", onGenericCallback, pThis );
- var_AddCallback( pInput, "can-record", onGenericCallback, pThis );
-
+ if( pInput != NULL )
+ {
+ var_AddCallback( pInput, "intf-event", onGenericCallback2, pThis );
+ var_AddCallback( pInput, "bit-rate", onGenericCallback, pThis );
+ var_AddCallback( pInput, "sample-rate", onGenericCallback, pThis );
+ var_AddCallback( pInput, "can-record", onGenericCallback, pThis );
+ }
return VLC_SUCCESS;
}