Changeset 01993028a69da43a21962371aa35124262e73335

Show
Ignore:
Timestamp:
09/09/04 00:02:48 (4 years ago)
Author:
Gildas Bazin <gbazin@videolan.org>
git-committer:
Gildas Bazin <gbazin@videolan.org> 1094680968 +0000
git-parent:

[aadbe03cd05017077eece540db1d57bfd438308a]

git-author:
Gildas Bazin <gbazin@videolan.org> 1094680968 +0000
Message:

* modules/access/dvdnav.c: call buttonUpdate() again when the video ES is started.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/access/dvdnav.c

    r25d2a66 r0199302  
    407407            ppp_title = (input_title_t***)va_arg( args, input_title_t*** ); 
    408408            pi_int    = (int*)va_arg( args, int* ); 
    409        *((int*)va_arg( args, int* )) = 0; /* Title offset */ 
    410        *((int*)va_arg( args, int* )) = 1; /* Chapter offset */ 
     409            *((int*)va_arg( args, int* )) = 0; /* Title offset */ 
     410            *((int*)va_arg( args, int* )) = 1; /* Chapter offset */ 
    411411 
    412412            /* Duplicate title infos */ 
     
    551551        break; 
    552552    } 
     553 
     554    case DVDNAV_SPU_CLUT_CHANGE: 
     555    { 
     556        int i; 
     557 
     558        msg_Dbg( p_demux, "DVDNAV_SPU_CLUT_CHANGE" ); 
     559        /* Update color lookup table (16 *uint32_t in packet) */ 
     560        memcpy( p_sys->clut, packet, 16 * sizeof( uint32_t ) ); 
     561 
     562        /* HACK to get the SPU tracks registered in the right order */ 
     563        for( i = 0; i < 0x1f; i++ ) 
     564        { 
     565            if( dvdnav_spu_stream_to_lang( p_sys->dvdnav, i ) != 0xffff ) 
     566                ESNew( p_demux, 0xbd20 + i ); 
     567        } 
     568        /* END HACK */ 
     569        break; 
     570    } 
     571 
    553572    case DVDNAV_SPU_STREAM_CHANGE: 
    554573    { 
    555574        dvdnav_spu_stream_change_event_t *event = 
    556575            (dvdnav_spu_stream_change_event_t*)packet; 
     576        int i; 
     577 
    557578        msg_Dbg( p_demux, "DVDNAV_SPU_STREAM_CHANGE" ); 
    558579        msg_Dbg( p_demux, "     - physical_wide=%d", 
     
    564585 
    565586        ESSubtitleUpdate( p_demux ); 
     587 
     588        /* HACK to get the SPU tracks registered in the right order */ 
     589        for( i = 0; i < 0x1f; i++ ) 
     590        { 
     591            if( dvdnav_spu_stream_to_lang( p_sys->dvdnav, i ) != 0xffff ) 
     592                ESNew( p_demux, 0xbd20 + i ); 
     593        } 
     594        /* END HACK */ 
    566595        break; 
    567596    } 
     597 
    568598    case DVDNAV_AUDIO_STREAM_CHANGE: 
    569599    { 
     
    575605        break; 
    576606    } 
     607 
    577608    case DVDNAV_VTS_CHANGE: 
    578609    { 
     
    616647        break; 
    617648    } 
     649 
    618650    case DVDNAV_CELL_CHANGE: 
    619651    { 
     
    660692        break; 
    661693    } 
     694 
    662695    case DVDNAV_STOP:   /* EOF */ 
    663696        msg_Dbg( p_demux, "DVDNAV_STOP" ); 
     
    674707    } 
    675708 
    676     case DVDNAV_SPU_CLUT_CHANGE: 
    677     { 
    678         int i; 
    679  
    680         msg_Dbg( p_demux, "DVDNAV_SPU_CLUT_CHANGE" ); 
    681         /* Update color lookup table (16 *uint32_t in packet) */ 
    682         memcpy( p_sys->clut, packet, 16 * sizeof( uint32_t ) ); 
    683  
    684         /* HACK to get the SPU tracks registered in the right order */ 
    685         for( i = 0; i < 0x1f; i++ ) 
    686         { 
    687             if( dvdnav_spu_stream_to_lang( p_sys->dvdnav, i ) != 0xffff ) 
    688                 ESNew( p_demux, 0xbd20 + i ); 
    689         } 
    690         /* END HACK */ 
    691         break; 
    692     } 
    693  
    694709    case DVDNAV_HOP_CHANNEL: 
    695710        msg_Dbg( p_demux, "DVDNAV_HOP_CHANNEL" ); 
     
    852867 
    853868    dvdnav_current_title_info( p_sys->dvdnav, &i_title, &i_part ); 
    854     if( i_title > 0 ) 
    855     { 
    856         return; 
    857     } 
     869    if( i_title > 0 ) return; 
    858870 
    859871    if( i_spu >= 0 && i_spu <= 0x1f ) 
     
    861873        ps_track_t *tk = &p_sys->tk[PS_ID_TO_TK(0xbd20 + i_spu)]; 
    862874 
    863         if( !tk->b_seen ) 
    864         { 
    865             ESNew( p_demux, 0xbd20 + i_spu); 
    866         } 
     875        ESNew( p_demux, 0xbd20 + i_spu ); 
     876 
    867877        /* be sure to unselect it (reset) */ 
    868878        es_out_Control( p_demux->out, ES_OUT_SET_ES_STATE, tk->es, 
     
    982992    vlc_bool_t  b_select = VLC_FALSE; 
    983993 
    984     if( tk->b_seen ) 
    985     { 
    986         return; 
    987     } 
     994    if( tk->b_seen ) return; 
    988995 
    989996    if( ps_track_fill( tk, i_id ) ) 
     
    10701077    } 
    10711078    tk->b_seen = VLC_TRUE; 
     1079 
     1080    if( tk->fmt.i_cat == VIDEO_ES ) ButtonUpdate( p_demux ); 
    10721081} 
    10731082