Changeset 01993028a69da43a21962371aa35124262e73335
- 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
| r25d2a66 |
r0199302 |
|
| 407 | 407 | ppp_title = (input_title_t***)va_arg( args, input_title_t*** ); |
|---|
| 408 | 408 | 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 */ |
|---|
| 411 | 411 | |
|---|
| 412 | 412 | /* Duplicate title infos */ |
|---|
| … | … | |
| 551 | 551 | break; |
|---|
| 552 | 552 | } |
|---|
| | 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 | |
|---|
| 553 | 572 | case DVDNAV_SPU_STREAM_CHANGE: |
|---|
| 554 | 573 | { |
|---|
| 555 | 574 | dvdnav_spu_stream_change_event_t *event = |
|---|
| 556 | 575 | (dvdnav_spu_stream_change_event_t*)packet; |
|---|
| | 576 | int i; |
|---|
| | 577 | |
|---|
| 557 | 578 | msg_Dbg( p_demux, "DVDNAV_SPU_STREAM_CHANGE" ); |
|---|
| 558 | 579 | msg_Dbg( p_demux, " - physical_wide=%d", |
|---|
| … | … | |
| 564 | 585 | |
|---|
| 565 | 586 | 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 */ |
|---|
| 566 | 595 | break; |
|---|
| 567 | 596 | } |
|---|
| | 597 | |
|---|
| 568 | 598 | case DVDNAV_AUDIO_STREAM_CHANGE: |
|---|
| 569 | 599 | { |
|---|
| … | … | |
| 575 | 605 | break; |
|---|
| 576 | 606 | } |
|---|
| | 607 | |
|---|
| 577 | 608 | case DVDNAV_VTS_CHANGE: |
|---|
| 578 | 609 | { |
|---|
| … | … | |
| 616 | 647 | break; |
|---|
| 617 | 648 | } |
|---|
| | 649 | |
|---|
| 618 | 650 | case DVDNAV_CELL_CHANGE: |
|---|
| 619 | 651 | { |
|---|
| … | … | |
| 660 | 692 | break; |
|---|
| 661 | 693 | } |
|---|
| | 694 | |
|---|
| 662 | 695 | case DVDNAV_STOP: /* EOF */ |
|---|
| 663 | 696 | msg_Dbg( p_demux, "DVDNAV_STOP" ); |
|---|
| … | … | |
| 674 | 707 | } |
|---|
| 675 | 708 | |
|---|
| 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 | | |
|---|
| 694 | 709 | case DVDNAV_HOP_CHANNEL: |
|---|
| 695 | 710 | msg_Dbg( p_demux, "DVDNAV_HOP_CHANNEL" ); |
|---|
| … | … | |
| 852 | 867 | |
|---|
| 853 | 868 | 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; |
|---|
| 858 | 870 | |
|---|
| 859 | 871 | if( i_spu >= 0 && i_spu <= 0x1f ) |
|---|
| … | … | |
| 861 | 873 | ps_track_t *tk = &p_sys->tk[PS_ID_TO_TK(0xbd20 + i_spu)]; |
|---|
| 862 | 874 | |
|---|
| 863 | | if( !tk->b_seen ) |
|---|
| 864 | | { |
|---|
| 865 | | ESNew( p_demux, 0xbd20 + i_spu); |
|---|
| 866 | | } |
|---|
| | 875 | ESNew( p_demux, 0xbd20 + i_spu ); |
|---|
| | 876 | |
|---|
| 867 | 877 | /* be sure to unselect it (reset) */ |
|---|
| 868 | 878 | es_out_Control( p_demux->out, ES_OUT_SET_ES_STATE, tk->es, |
|---|
| … | … | |
| 982 | 992 | vlc_bool_t b_select = VLC_FALSE; |
|---|
| 983 | 993 | |
|---|
| 984 | | if( tk->b_seen ) |
|---|
| 985 | | { |
|---|
| 986 | | return; |
|---|
| 987 | | } |
|---|
| | 994 | if( tk->b_seen ) return; |
|---|
| 988 | 995 | |
|---|
| 989 | 996 | if( ps_track_fill( tk, i_id ) ) |
|---|
| … | … | |
| 1070 | 1077 | } |
|---|
| 1071 | 1078 | tk->b_seen = VLC_TRUE; |
|---|
| | 1079 | |
|---|
| | 1080 | if( tk->fmt.i_cat == VIDEO_ES ) ButtonUpdate( p_demux ); |
|---|
| 1072 | 1081 | } |
|---|
| 1073 | 1082 | |
|---|