Skip to content

@jadonk /play_movie.pl
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Timeout reading a Linux input event
#!/usr/bin/perl
$ENV{'DISPLAY'} = ":0.0";
system("xhost +");
#system("totem --quit");
#system("nice -n -5 totem --fullscreen /home/root/playlist.xml &");
$cmdline_start = "nice -n -5 mplayer /home/root/*.mov &";
system($cmdline_start);
open(FILE, "/dev/input/event0");
binmode(FILE);
while(1)
{
eval
{
local $SIG{ALRM} = sub { die("Alarm!\n") };
alarm(60*28); # 28 minutes
read(FILE, $buf, 16);
alarm(0);
};
if($@)
{
printf("Restarting due to timeout\n");
#system("totem --next");
system("killall -15 mplayer");
sleep(1);
system("killall -9 mplayer");
sleep(1);
system($cmdline_start);
}
else
{
($time1, $time2, $type, $code, $value) = unpack("iissi", $buf);
printf("%f %05d %05d 0x%08x\n", $time1+$time2/1000000, $type, $code, $value);
if($code == 276 && $value == 1) # USER button pressed
{
printf("Restarting due to USER button press\n");
#system("totem --next");
system("killall -15 mplayer");
sleep(1);
system("killall -9 mplayer");
sleep(1);
system($cmdline_start);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.