changeset 4822:3e2c7bf57035

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)
author albeu
date Sat, 23 Feb 2002 21:17:26 +0000
parents 5a71377d2759
children d25b898c4c44
files libmpdemux/mpdemux.c libmpdemux/mpdemux.h
diffstat 2 files changed, 39 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libmpdemux/mpdemux.c	Sat Feb 23 21:17:26 2002 +0000
@@ -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
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libmpdemux/mpdemux.h	Sat Feb 23 21:17:26 2002 +0000
@@ -0,0 +1,2 @@
+
+extern int mpdemux_check_interrupt(int time);