mirror of https://github.com/mpv-player/mpv
small changes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4964 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
e2c91bcfcf
commit
94a0c1f661
|
@ -53,6 +53,12 @@ void guiGetEvent( int type,char * arg )
|
||||||
gtkEventHandling();
|
gtkEventHandling();
|
||||||
break;
|
break;
|
||||||
case guiCEvent:
|
case guiCEvent:
|
||||||
|
switch ( (int)arg )
|
||||||
|
{
|
||||||
|
case guiSetPlay: guiIntfStruct.Playing=1; mplState(); break;
|
||||||
|
case guiSetStop: guiIntfStruct.Playing=0; mplState(); break;
|
||||||
|
case guiSetPause: guiIntfStruct.Playing=2; mplState(); break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case guiIEvent:
|
case guiIEvent:
|
||||||
printf( "cmd: %d\n",(int)arg );
|
printf( "cmd: %d\n",(int)arg );
|
||||||
|
@ -76,4 +82,5 @@ void guiEventHandling( void )
|
||||||
if ( use_gui && !guiIntfStruct.Playing ) wsHandleEvents();
|
if ( use_gui && !guiIntfStruct.Playing ) wsHandleEvents();
|
||||||
gtkEventHandling();
|
gtkEventHandling();
|
||||||
mplTimerHandler(); // handle GUI timer events
|
mplTimerHandler(); // handle GUI timer events
|
||||||
|
mplState();
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,10 @@ extern guiInterface_t guiIntfStruct;
|
||||||
#define guiCEvent 1
|
#define guiCEvent 1
|
||||||
#define guiIEvent 2
|
#define guiIEvent 2
|
||||||
|
|
||||||
|
#define guiSetStop 0
|
||||||
|
#define guiSetPlay 1
|
||||||
|
#define guiSetPause 2
|
||||||
|
|
||||||
extern void guiInit( int argc,char* argv[], char *envp[] );
|
extern void guiInit( int argc,char* argv[], char *envp[] );
|
||||||
extern void guiGetEvent( int type,char * arg );
|
extern void guiGetEvent( int type,char * arg );
|
||||||
extern void guiEventHandling( void );
|
extern void guiEventHandling( void );
|
||||||
|
|
|
@ -222,11 +222,8 @@ play_dvd_2:
|
||||||
#endif
|
#endif
|
||||||
case evPlay:
|
case evPlay:
|
||||||
case evPlaySwitchToPause:
|
case evPlaySwitchToPause:
|
||||||
// btnModify( evPlaySwitchToPause,btnDisabled );
|
|
||||||
// btnModify( evPauseSwitchToPlay,btnReleased );
|
|
||||||
mplMainAutoPlay=0;
|
mplMainAutoPlay=0;
|
||||||
if ( ( msg == evPlaySwitchToPause )&( guiIntfStruct.Playing == 1 ) ) goto NoPause;
|
if ( ( msg == evPlaySwitchToPause )&( guiIntfStruct.Playing == 1 ) ) goto NoPause;
|
||||||
mplMainRender=1;
|
|
||||||
|
|
||||||
switch ( guiIntfStruct.StreamType )
|
switch ( guiIntfStruct.StreamType )
|
||||||
{
|
{
|
||||||
|
@ -242,7 +239,7 @@ play_dvd_2:
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
mplPlay();
|
mplPlay();
|
||||||
mplState();
|
mplMainRender=1;
|
||||||
break;
|
break;
|
||||||
#ifdef USE_DVDREAD
|
#ifdef USE_DVDREAD
|
||||||
case evSetDVDSubtitle:
|
case evSetDVDSubtitle:
|
||||||
|
@ -279,19 +276,14 @@ play_dvd_2:
|
||||||
|
|
||||||
case evPause:
|
case evPause:
|
||||||
case evPauseSwitchToPlay:
|
case evPauseSwitchToPlay:
|
||||||
// btnModify( evPlaySwitchToPause,btnReleased );
|
|
||||||
// btnModify( evPauseSwitchToPlay,btnDisabled );
|
|
||||||
NoPause:
|
NoPause:
|
||||||
mplMainRender=1;
|
|
||||||
mplPause();
|
mplPause();
|
||||||
|
mplMainRender=1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evStop:
|
case evStop:
|
||||||
// btnModify( evPlaySwitchToPause,btnReleased );
|
|
||||||
// btnModify( evPauseSwitchToPlay,btnDisabled );
|
|
||||||
mplMainRender=1;
|
|
||||||
mplStop();
|
mplStop();
|
||||||
mplState();
|
mplMainRender=1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evLoadPlay:
|
case evLoadPlay:
|
||||||
|
@ -563,6 +555,7 @@ void mplMainKeyHandle( int State,int Type,int Key )
|
||||||
if ( Type != wsKeyPressed ) return;
|
if ( Type != wsKeyPressed ) return;
|
||||||
switch ( Key )
|
switch ( Key )
|
||||||
{
|
{
|
||||||
|
case wsEnter: msg=evPlay; break;
|
||||||
#ifndef HAVE_NEW_INPUT
|
#ifndef HAVE_NEW_INPUT
|
||||||
case '.':
|
case '.':
|
||||||
case '>': msg=evNext; break;
|
case '>': msg=evNext; break;
|
||||||
|
@ -571,7 +564,6 @@ void mplMainKeyHandle( int State,int Type,int Key )
|
||||||
|
|
||||||
case wsEscape: msg=evExit; break;
|
case wsEscape: msg=evExit; break;
|
||||||
|
|
||||||
case wsEnter: msg=evPlay; break;
|
|
||||||
case wsSpace: msg=evPause; break;
|
case wsSpace: msg=evPause; break;
|
||||||
case wsa:
|
case wsa:
|
||||||
case wsA: msg=evAbout; break;
|
case wsA: msg=evAbout; break;
|
||||||
|
|
|
@ -66,6 +66,7 @@ void mplStop()
|
||||||
wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
|
wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
|
||||||
wsMoveWindow( &appMPlayer.subWindow,True,appMPlayer.sub.x,appMPlayer.sub.y );
|
wsMoveWindow( &appMPlayer.subWindow,True,appMPlayer.sub.x,appMPlayer.sub.y );
|
||||||
}
|
}
|
||||||
|
guiGetEvent( guiCEvent,guiSetStop );
|
||||||
mplSubRender=1;
|
mplSubRender=1;
|
||||||
wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
|
wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
|
||||||
wsClearWindow( appMPlayer.subWindow );
|
wsClearWindow( appMPlayer.subWindow );
|
||||||
|
@ -78,11 +79,11 @@ void mplPlay( void )
|
||||||
( guiIntfStruct.Filename[0] == 0 )||
|
( guiIntfStruct.Filename[0] == 0 )||
|
||||||
( guiIntfStruct.Playing == 1 ) ) return;
|
( guiIntfStruct.Playing == 1 ) ) return;
|
||||||
if ( guiIntfStruct.Playing == 2 ) { mplPause(); return; }
|
if ( guiIntfStruct.Playing == 2 ) { mplPause(); return; }
|
||||||
guiIntfStruct.Playing=1;
|
guiGetEvent( guiCEvent,guiSetPlay );
|
||||||
mplSubRender=0;
|
mplSubRender=0;
|
||||||
wsSetBackgroundRGB( &appMPlayer.subWindow,0,0,0 );
|
wsSetBackgroundRGB( &appMPlayer.subWindow,0,0,0 );
|
||||||
wsClearWindow( appMPlayer.subWindow );
|
wsClearWindow( appMPlayer.subWindow );
|
||||||
wsPostRedisplay( &appMPlayer.subWindow );
|
// wsPostRedisplay( &appMPlayer.subWindow );
|
||||||
}
|
}
|
||||||
|
|
||||||
void mplPause( void )
|
void mplPause( void )
|
||||||
|
@ -91,13 +92,9 @@ void mplPause( void )
|
||||||
{
|
{
|
||||||
case 1: // playing
|
case 1: // playing
|
||||||
guiIntfStruct.Playing=2;
|
guiIntfStruct.Playing=2;
|
||||||
// btnModify( evPlaySwitchToPause,btnReleased );
|
|
||||||
// btnModify( evPauseSwitchToPlay,btnDisabled );
|
|
||||||
break;
|
break;
|
||||||
case 2: // paused
|
case 2: // paused
|
||||||
guiIntfStruct.Playing=1;
|
guiIntfStruct.Playing=1;
|
||||||
// btnModify( evPlaySwitchToPause,btnDisabled );
|
|
||||||
// btnModify( evPauseSwitchToPlay,btnReleased );
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mplState();
|
mplState();
|
||||||
|
|
67
mplayer.c
67
mplayer.c
|
@ -713,17 +713,6 @@ if(!parse_codec_cfg(get_path("codecs.conf"))){
|
||||||
// ========== Init keyboard FIFO (connection to libvo) ============
|
// ========== Init keyboard FIFO (connection to libvo) ============
|
||||||
make_pipe(&keyb_fifo_get,&keyb_fifo_put);
|
make_pipe(&keyb_fifo_get,&keyb_fifo_put);
|
||||||
|
|
||||||
// It's time to init the GUI code: (and fork() the GTK process)
|
|
||||||
#ifdef HAVE_NEW_GUI
|
|
||||||
if(use_gui){
|
|
||||||
guiInit( argc,argv,envp );
|
|
||||||
inited_flags|=INITED_GUI;
|
|
||||||
guiIntfStruct.Playing= (gui_no_filename) ? 0 : 1;
|
|
||||||
mplState();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
// Init input system
|
// Init input system
|
||||||
#ifdef HAVE_NEW_INPUT
|
#ifdef HAVE_NEW_INPUT
|
||||||
current_module = "init_input";
|
current_module = "init_input";
|
||||||
|
@ -756,6 +745,14 @@ current_module = NULL;
|
||||||
|
|
||||||
// ******************* Now, let's see the per-file stuff ********************
|
// ******************* Now, let's see the per-file stuff ********************
|
||||||
|
|
||||||
|
#ifdef HAVE_NEW_GUI
|
||||||
|
if(use_gui){
|
||||||
|
guiInit( argc,argv,envp );
|
||||||
|
inited_flags|=INITED_GUI;
|
||||||
|
guiGetEvent( guiCEvent,(gui_no_filename) ? 0 : 1 );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
play_next_file:
|
play_next_file:
|
||||||
|
|
||||||
// We must enable getch2 here to be able to interrupt network connection
|
// We must enable getch2 here to be able to interrupt network connection
|
||||||
|
@ -772,14 +769,12 @@ if(!use_stdin && !slave_mode){
|
||||||
if ( guiIntfStruct.DVDChanged )
|
if ( guiIntfStruct.DVDChanged )
|
||||||
{
|
{
|
||||||
guiIntfStruct.DVDChanged=0;
|
guiIntfStruct.DVDChanged=0;
|
||||||
guiIntfStruct.Playing=1;
|
guiGetEvent( guiCEvent,guiSetPlay );
|
||||||
filename="/dev/dvd";
|
filename="/dev/dvd";
|
||||||
goto play_dvd;
|
goto play_dvd;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// if(filename && !guiIntfStruct.FilenameChanged) guiSetFilename( guiIntfStruct.Filename,filename );
|
|
||||||
// guiIntfStruct.Playing= (gui_no_filename) ? 0 : 1;
|
|
||||||
while(guiIntfStruct.Playing!=1){
|
while(guiIntfStruct.Playing!=1){
|
||||||
mp_cmd_t* cmd;
|
mp_cmd_t* cmd;
|
||||||
usleep(20000);
|
usleep(20000);
|
||||||
|
@ -1243,15 +1238,9 @@ if(sh_audio){
|
||||||
if(!init_audio(sh_audio)){
|
if(!init_audio(sh_audio)){
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CouldntInitAudioCodec);
|
mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CouldntInitAudioCodec);
|
||||||
sh_audio=d_audio->sh=NULL;
|
sh_audio=d_audio->sh=NULL;
|
||||||
#ifdef HAVE_NEW_GUI
|
|
||||||
if ( use_gui ) guiIntfStruct.AudioType=0;
|
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_INFO,"AUDIO: srate=%d chans=%d bps=%d sfmt=0x%X ratio: %d->%d\n",sh_audio->samplerate,sh_audio->channels,sh_audio->samplesize,
|
mp_msg(MSGT_CPLAYER,MSGL_INFO,"AUDIO: srate=%d chans=%d bps=%d sfmt=0x%X ratio: %d->%d\n",sh_audio->samplerate,sh_audio->channels,sh_audio->samplesize,
|
||||||
sh_audio->sample_format,sh_audio->i_bps,sh_audio->o_bps);
|
sh_audio->sample_format,sh_audio->i_bps,sh_audio->o_bps);
|
||||||
#ifdef HAVE_NEW_GUI
|
|
||||||
if ( use_gui ) guiIntfStruct.AudioType=sh_audio->channels;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1427,7 +1416,26 @@ current_module="init_libvo";
|
||||||
guiIntfStruct.MovieWidth=sh_video->disp_w;
|
guiIntfStruct.MovieWidth=sh_video->disp_w;
|
||||||
guiIntfStruct.MovieHeight=sh_video->disp_h;
|
guiIntfStruct.MovieHeight=sh_video->disp_h;
|
||||||
guiIntfStruct.StreamType=stream->type;
|
guiIntfStruct.StreamType=stream->type;
|
||||||
// guiSetFilename( guiIntfStruct.Filename,filename );
|
guiSetFilename( guiIntfStruct.Filename,filename );
|
||||||
|
if ( sh_audio ) guiIntfStruct.AudioType=sh_audio->channels;
|
||||||
|
else guiIntfStruct.AudioType=0;
|
||||||
|
#ifdef USE_DVDREAD
|
||||||
|
if ( stream->type == STREAMTYPE_DVD )
|
||||||
|
{
|
||||||
|
dvd_priv_t * dvdp = stream->priv;
|
||||||
|
guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts;
|
||||||
|
guiIntfStruct.DVD.chapters=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_ptts;
|
||||||
|
guiIntfStruct.DVD.angles=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_angles;
|
||||||
|
guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels;
|
||||||
|
memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) );
|
||||||
|
guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles;
|
||||||
|
memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) );
|
||||||
|
guiIntfStruct.DVD.current_title=dvd_title + 1;
|
||||||
|
guiIntfStruct.DVD.current_chapter=dvd_chapter + 1;
|
||||||
|
guiIntfStruct.DVD.current_angle=dvd_angle + 1;
|
||||||
|
guiIntfStruct.Track=dvd_title + 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1820,9 +1828,7 @@ if(!dapsync){
|
||||||
aq_sleep_time+=time_frame;
|
aq_sleep_time+=time_frame;
|
||||||
|
|
||||||
#ifdef HAVE_NEW_GUI
|
#ifdef HAVE_NEW_GUI
|
||||||
if(use_gui){
|
if(use_gui) guiEventHandling();
|
||||||
guiEventHandling();
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(!(vo_flags&256)){ // flag 256 means: libvo driver does its timing (dvb card)
|
if(!(vo_flags&256)){ // flag 256 means: libvo driver does its timing (dvb card)
|
||||||
|
@ -2042,16 +2048,13 @@ read_input:
|
||||||
if(osd_function==OSD_PAUSE){
|
if(osd_function==OSD_PAUSE){
|
||||||
#ifdef HAVE_NEW_INPUT
|
#ifdef HAVE_NEW_INPUT
|
||||||
mp_cmd_t* cmd;
|
mp_cmd_t* cmd;
|
||||||
#endif
|
|
||||||
#ifdef HAVE_NEW_GUI
|
|
||||||
int gui_pause_flag=0; // gany!
|
|
||||||
#endif
|
#endif
|
||||||
if(!quiet) {
|
if(!quiet) {
|
||||||
mp_msg(MSGT_CPLAYER,MSGL_STATUS,"\n------ PAUSED -------\r");
|
mp_msg(MSGT_CPLAYER,MSGL_STATUS,"\n------ PAUSED -------\r");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
#ifdef HAVE_NEW_GUI
|
#ifdef HAVE_NEW_GUI
|
||||||
if(use_gui) guiIntfStruct.Playing=2;
|
if(use_gui) guiGetEvent( guiCEvent,guiSetPause );
|
||||||
#endif
|
#endif
|
||||||
if (video_out && sh_video)
|
if (video_out && sh_video)
|
||||||
video_out->control(VOCTRL_PAUSE, NULL);
|
video_out->control(VOCTRL_PAUSE, NULL);
|
||||||
|
@ -2089,13 +2092,13 @@ read_input:
|
||||||
#ifdef HAVE_NEW_GUI
|
#ifdef HAVE_NEW_GUI
|
||||||
if(use_gui){
|
if(use_gui){
|
||||||
guiEventHandling();
|
guiEventHandling();
|
||||||
if(guiIntfStruct.Playing!=2 || (rel_seek_secs || abs_seek_pos))
|
if(guiIntfStruct.Playing!=2 || (rel_seek_secs || abs_seek_pos)) break;
|
||||||
{ gui_pause_flag=1; break; } // end of pause or seek
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
usleep(20000);
|
||||||
#ifdef HAVE_NEW_INPUT
|
#ifdef HAVE_NEW_INPUT
|
||||||
}
|
}
|
||||||
mp_cmd_free(cmd);
|
if ( cmd ) mp_cmd_free(cmd);
|
||||||
#else
|
#else
|
||||||
if(use_stdin) usec_sleep(1000); // do not eat the CPU
|
if(use_stdin) usec_sleep(1000); // do not eat the CPU
|
||||||
}
|
}
|
||||||
|
@ -2108,7 +2111,7 @@ read_input:
|
||||||
video_out->control(VOCTRL_RESUME, NULL); // resume video
|
video_out->control(VOCTRL_RESUME, NULL); // resume video
|
||||||
(void)GetRelativeTime(); // keep TF around FT in next cycle
|
(void)GetRelativeTime(); // keep TF around FT in next cycle
|
||||||
#ifdef HAVE_NEW_GUI
|
#ifdef HAVE_NEW_GUI
|
||||||
if(use_gui && !gui_pause_flag) guiIntfStruct.Playing=1; // play from keyboard
|
if (use_gui) guiGetEvent( guiCEvent,guiSetPlay );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue