- if ( !newval.i_int )
- {
- msg_Warn( p_this, "Received invalid key event %d", newval.i_int );
- return VLC_EGENERIC;
- }
- vlc_mutex_lock( &p_intf->p_sys->change_lock );
- if ( p_intf->p_sys->i_size == BUFFER_SIZE )
- {
- msg_Warn( p_intf, "event buffer full, dropping keypress" );
- vlc_mutex_unlock( &p_intf->p_sys->change_lock );
- return VLC_EGENERIC;
- }
- else
- {
- p_intf->p_sys->p_keys[ p_intf->p_sys->i_size ] = newval.i_int;
- p_intf->p_sys->i_size++;
- }
- vlc_mutex_lock( &p_intf->object_lock );
- vlc_cond_signal( &p_intf->object_wait );
- vlc_mutex_unlock( &p_intf->object_lock );
- vlc_mutex_unlock( &p_intf->p_sys->change_lock );