Changeset 381646bbb8c15d32a4c5975dbe1ce5ec0c269683

Show
Ignore:
Timestamp:
27/03/08 19:46:22 (8 months ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1206643582 +0200
git-parent:

[a7db90c636021ad806c0ff6aa491f7d875051574]

git-author:
Rémi Denis-Courmont <rem@videolan.org> 1206564009 +0200
Message:

MKV: use key-action

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/demux/mkv.cpp

    rbcddfd6 r381646b  
    12821282    vlc_bool_t      b_moved; 
    12831283    vlc_bool_t      b_clicked; 
    1284     vlc_bool_t      b_key
     1284    int             i_key_action
    12851285 
    12861286} event_thread_t; 
     
    27132713} 
    27142714 
    2715 int demux_sys_t::EventKey( vlc_object_t *p_this, char const *psz_var
    2716                      vlc_value_t oldval, vlc_value_t newval, void *p_data ) 
     2715int demux_sys_t::EventKey( vlc_object_t *p_this, char const *
     2716                           vlc_value_t, vlc_value_t newval, void *p_data ) 
    27172717{ 
    27182718    event_thread_t *p_ev = (event_thread_t *) p_data; 
    27192719    vlc_mutex_lock( &p_ev->lock ); 
    2720     p_ev->b_key = VLC_TRUE
     2720    p_ev->i_key_action = newval.i_int
    27212721    vlc_mutex_unlock( &p_ev->lock ); 
    27222722    msg_Dbg( p_this, "Event Key"); 
     
    27332733    p_ev->b_moved   = VLC_FALSE; 
    27342734    p_ev->b_clicked = VLC_FALSE; 
    2735     p_ev->b_key     = VLC_FALSE
     2735    p_ev->i_key_action = 0
    27362736 
    27372737    /* catch all key event */ 
    2738     var_AddCallback( p_ev->p_libvlc, "key-pressed", EventKey, p_ev ); 
     2738    var_AddCallback( p_ev->p_libvlc, "key-action", EventKey, p_ev ); 
    27392739 
    27402740    /* main loop */ 
     
    27512751 
    27522752        /* KEY part */ 
    2753         if( p_ev->b_key ) 
    2754         { 
    2755             vlc_value_t valk; 
    2756             struct libvlc_int_t::hotkey *p_hotkeys = p_ev->p_libvlc->p_hotkeys; 
    2757             int i, i_action = -1; 
     2753        if( p_ev->i_key_action ) 
     2754        { 
     2755            int i; 
    27582756 
    27592757            msg_Dbg( p_ev->p_demux, "Handle Key Event"); 
     
    27632761            pci_t *pci = (pci_t *) &p_sys->pci_packet; 
    27642762 
    2765             var_Get( p_ev->p_libvlc, "key-pressed", &valk ); 
    2766             for( i = 0; p_hotkeys[i].psz_action != NULL; i++ ) 
    2767             { 
    2768                 if( p_hotkeys[i].i_key == valk.i_int ) 
    2769                 { 
    2770                     i_action = p_hotkeys[i].i_action; 
    2771                 } 
    2772             } 
    2773  
    27742763            uint16 i_curr_button = p_sys->dvd_interpretor.GetSPRM( 0x88 ); 
    27752764 
    2776             switch( i_action ) 
     2765            switch( p_ev->i_key_action ) 
    27772766            { 
    27782767            case ACTIONID_NAV_LEFT: 
     
    28882877                break; 
    28892878            } 
    2890             p_ev->b_key = VLC_FALSE
     2879            p_ev->i_key_action = 0
    28912880            vlc_mutex_unlock( &p_ev->lock ); 
    28922881        } 
     
    30383027        vlc_object_release( p_vout ); 
    30393028    } 
    3040     var_DelCallback( p_ev->p_libvlc, "key-pressed", EventKey, p_ev ); 
     3029    var_DelCallback( p_ev->p_libvlc, "key-action", EventKey, p_ev ); 
    30413030 
    30423031    vlc_mutex_destroy( &p_ev->lock );