[mythtv] mythvideo/mplayer hang news
Joel Larsson
joel at rosafluffmoln.nu
Mon Jan 27 20:19:39 EST 2003
Actually the "< /dev/null &" made it working, great stuff! I will
checkout the mplayernetwork script, but I have already a working mplayer
& lirc config using the same keys as with mythtv.
Anyway, thanks a bunch!
//Joel
Mark Musone wrote:
>Attached is my "mplayernetwork" script, which i use with mythvideo.
>
>This is a perl script that runs mplayer, and does a few things:
>
>1. disattaches stdin, so it doesnt hang in weird forking uses
>2. becomes a network server listening in on port 20203.
>3. redirects the network port to mplayer's stdin.
>3. allows you to telnet into port 20203 and type in a command,
>such as "pause", fast forward, volume up..etc and it'll pass it
>directly to the mplayer process thats running. The commands are passed directly.
>so i simply run mplayer in slave mode, and issue the appropriate mplayer slave commands.
>
>Note: it's something i simply hacked together. so theres a good chance nothing will work
>for you...but i figured it might help some people.
>
>Oh, also attached is my mythexplorer-settings file that runs mplayernetwork.
>
>also attached is a remote.php file that is a really really bad php script that
>essentially acts as a web-based remote control, conneting to port 20203 and
>issuing the command based on what you click.
>
>
>-Mark
>
>
>On Mon, Jan 27, 2003 at 06:59:36PM +0100, Joel Larsson wrote:
>
>
>>Too bad this didnt solve it for me :( , anyway I have done some more
>>testing on my machine, and it seems like mplayer just stopped working in
>>X, no matter which output im using it always hang. I tested and put
>>mplayer in the xinitrc so it shoudl start up when i run startx but it
>>actually hangs. But when starting mplayer on the console it works. Its
>>pretty strange.
>>
>>//Joel
>>
>>Drew Bernat wrote:
>>
>>
>>
>>>Now this is weird.
>>>
>>>I'd previously had the same problem with mythvideo and mplayer --
>>>selecting a movie resulted in a hang in mplayer. However, that problem has
>>>gone away, at least temporarily.
>>>
>>>I rebooted.
>>>
>>>Anyone know why a reboot would fix mplayer? As before, running it from
>>>within mythvideo hung, but running from the command line worked.
>>>
>>>Very odd.
>>>
>>>Drew
>>>
>>>
>>>
>>>
>>>
>>_______________________________________________
>>mythtv-dev mailing list
>>mythtv-dev at snowman.net
>>http://www.snowman.net/mailman/listinfo/mythtv-dev
>>
>>
>>------------------------------------------------------------------------
>>
>>#!/usr/bin/perl
>> package MyPackage;
>>use FileHandle;
>> #use strict;
>># use vars qw(@ISA);
>> use Net::Server::Fork; # any personality will do
>>
>>$| = 1;
>>sub CHLD_handler
>>{
>>print "got handler!\n";
>>exit(0);
>>
>>}
>>
>>
>>$SIG{'CHLD'} = 'CHLD_handler';
>>$SIG{'PIPE'} = 'CHLD_handler';
>>
>>$pid = open(WRITEME, "| /usr/local/bin/mplayer -nolirc -display :0.0 -slave '$ARGV[0]' ");
>>#$pid = open(WRITEME, "| cat ");
>>WRITEME->autoflush(1);
>>
>> @ISA = qw(Net::Server::Fork);
>> MyPackage->run();
>> exit;
>> ### over-ridden subs below
>> sub process_request {
>>
>> my $self = shift;
>> eval {
>>## local $SIG{ALRM} = sub { die "Timed Out!\n" };
>> local $SIG{PIPE} = sub { $self->server_close() };
>> local $SIG{CHLD} = sub { $self->server_close() };
>> my $timeout = 30; # give the user 30 seconds to type a line
>> my $previous_alarm = alarm($timeout);
>>WRITEME->autoflush(1);
>> while( <STDIN> ){
>> s/\r$//;
>> $status = print WRITEME $_;
>> if(!$status || $_ =~ /quit$/)
>> {
>>print "closeing server\n";
>>{
>>close(WRITEME);
>>system("killall mplayer");
>>$self->server_close();
>>}
>> }
>> return;
>> alarm($timeout);
>> }
>> alarm($previous_alarm);
>> };
>> if( $@=~/timed out/i ){
>> print STDOUT "Timed Out.\r\n";
>> return;
>> }
>> }
>>
>> 1;
>> #--------------- file test.pl ---------------
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>str default_helper=/usr/local/bin/mplayernetwork %s
>>str profile_default=movies
>>str StartDir=/videos
>>str LoadProfile=profile_default
>>
>>str wav_helper=/usr/local/bin/mplayernetwork %s
>>str avi_helper=/usr/local/bin/mplayernetwork %s
>>str mpg_helper=/usr/local/bin/mplayernetwork %s
>>str mp3_helper=/usr/local/bin/mplayernetwork %s
>>str wma_helper=/usr/local/bin/mplayernetwork %s
>>str divx_helper=/usr/local/bin/mplayernetwork %s
>>str pl_helper=/usr/local/bin/mplayernetworkplaylist %s
>>str profile_movies=avi mpg mpeg divx mp3 wma pl
>>
>>
>>------------------------------------------------------------------------
>>
>><?php echo "$hi";?>
>><?php
>>{
>>$fp=fsockopen("localhost",20203);
>>if(!$fp) echo "no connetions";
>>if($seek)
>>fputs($fp,"seek $seek\r\n");
>>
>>if($pause) fputs($fp,"pause\r\n");
>>if($mute) fputs($fp,"mute\r\n");
>>if($volume) fputs($fp,"volume $volume\r\n");
>>if($contrast) fputs($fp,"contrast $contrast\r\n");
>>if($brightness) fputs($fp,"brightness $brightness\r\n");
>>if($hue) fputs($fp,"hue $hue\r\n");
>>if($saturation) fputs($fp,"saturation $saturation\r\n");
>>fclose($fp);
>>
>>}
>>?>
>><form action="remote.php">
>>Seek
>><input type="submit" name="seek" value="-240 0">
>><input type="submit" name="seek" value="240 0">
>><br>
>>Pause
>><input type="submit" name="pause" value="1">
>>Mute
>><input type="submit" name="mute" value="1">
>>
>><br>
>>Volume
>><input type="submit" name="volume" value="-10">
>><input type="submit" name="volume" value="10">
>><br>
>>Contrast
>><input type="submit" name="contrast" value="-10">
>><input type="submit" name="contrast" value="10">
>><br>
>>Brightness
>><input type="submit" name="brightness" value="-10">
>><input type="submit" name="brightness" value="10">
>><br>
>>Hue
>><input type="submit" name="hue" value="-10">
>><input type="submit" name="hue" value="10">
>><br>
>>Saturation
>><input type="submit" name="saturation" value="-10">
>><input type="submit" name="saturation" value="10">
>></form>
>><a href="files.php">Files</a>
>>
>><pre>
>>seek Integer [Integer]
>>audio_delay Float
>>quit
>>pause
>>grab_frames
>>pt_step Integer [Integer]
>>pt_up_step Integer [Integer]
>>alt_src_step Integer
>>sub_delay Float [Integer]
>>sub_step Integer [Integer]
>>osd [Integer]
>>volume Integer [Integer]
>>use_master
>>mute
>>contrast Integer [Integer]
>>gamma Integer [Integer]
>>brightness Integer [Integer]
>>hue Integer [Integer]
>>saturation Integer [Integer]
>>frame_drop [Integer]
>>sub_pos Integer [Integer]
>>sub_visibility
>>vobsub_lang
>>get_percent_pos
>>get_time_length
>>tv_step_channel Integer
>>tv_step_norm
>>tv_step_chanlist
>>vo_fullscreen
>>screenshot
>>panscan Float [Integer]
>>loadfile String
>>loadlist String
>>change_rectangle Integer Integer
>></pre>
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>mythtv-dev mailing list
>>mythtv-dev at snowman.net
>>http://www.snowman.net/mailman/listinfo/mythtv-dev
>>
>>
More information about the mythtv-dev
mailing list