view fifo.c @ 8365:423a19edc0a4

This patch makes it possible to navigate among the subtitles while playing movies. It can be very useful when using desynched subtitles. A new command 'sub_step' is added, which takes an integer argument. 'sub_step +1' will immediately display the next subtitle, adjusting sub_delay as if one had used the 'sub_delay' command to navigate to the subtitle. 'sub_step -1' displays the previous subtitle and adjusts the sub_delay. By using these two commands you can navigate among the subtitles without having to search blindly using 'sub_delay'. patch by Oskar Liljeblad (oskar@osk.mine.nu)
author arpi
date Thu, 05 Dec 2002 00:15:56 +0000
parents 44198b2f42db
children 0397b461f0fb
line wrap: on
line source


// keyboard:
static int keyb_fifo_put=-1;
static int keyb_fifo_get=-1;

static void make_pipe(int* pr,int* pw){
  int temp[2];
  if(pipe(temp)!=0) printf("Cannot make PIPE!\n");
  *pr=temp[0];
  *pw=temp[1];
}

void mplayer_put_key(int code){
           fd_set rfds;
           struct timeval tv;

           /* Watch stdin (fd 0) to see when it has input. */
           FD_ZERO(&rfds);
           FD_SET(keyb_fifo_put, &rfds);
           tv.tv_sec = 0;
           tv.tv_usec = 0;

           //retval = select(keyb_fifo_put+1, &rfds, NULL, NULL, &tv);
           if(select(keyb_fifo_put+1, NULL, &rfds, NULL, &tv)>0){
             write(keyb_fifo_put,&code,4);
//             printf("*** key event %d sent ***\n",code);
           } else {
//             printf("*** key event dropped (FIFO is full) ***\n");
           }
}