mirror of https://github.com/mpv-player/mpv
These 2 files are intended for code common to the whole lib
mainly code to let limpdemux independent from mplayer. Now contain a function to check external interruption from blocking code (network connection and cache fililng) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4823 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
700bc3c8e2
commit
f9d93451a2
|
@ -0,0 +1,37 @@
|
|||
|
||||
#include "config.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
#ifdef HAVE_NEW_INPUT
|
||||
#include "../input/input.h"
|
||||
int mpdemux_check_interrupt(int time) {
|
||||
mp_cmd_t* cmd;
|
||||
if((cmd = mp_input_get_cmd(time,0)) == NULL)
|
||||
return 0;
|
||||
|
||||
switch(cmd->id) {
|
||||
case MP_CMD_QUIT:
|
||||
case MP_CMD_PLAY_TREE_STEP:
|
||||
case MP_CMD_PLAY_TREE_UP_STEP:
|
||||
case MP_CMD_PLAY_ALT_SRC_STEP:
|
||||
// The cmd will be executed when we are back in the main loop
|
||||
if(! mp_input_queue_cmd(cmd)) {
|
||||
printf("mpdemux_check_interrupt: can't queue cmd %s\n",cmd->name);
|
||||
mp_cmd_free(cmd);
|
||||
}
|
||||
return 1;
|
||||
default:
|
||||
mp_cmd_free(cmd);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#else // Default function
|
||||
int mpdemux_input_check_interrupt(int time){
|
||||
usec_sleep(time*1000);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
extern int mpdemux_check_interrupt(int time);
|
Loading…
Reference in New Issue