in reply to Use widget MPlayerEmbed in Layout container... I can't see the video
Notice you need killfam for completely killing mplayer's $pid.
Updated code for killfam, a few minutes after initial post, soory :-)
#!/usr/bin/perl use warnings; use strict; use Glib qw/TRUE FALSE/; use Gtk2; use Gtk2 '-init'; use Proc::Killfam; my $pid; #global for killing mplayer on exit my $window = Gtk2::Window->new('toplevel'); $window->set_title('Embed test'); $window ->signal_connect( 'destroy' => \&delete_event ); $window->set_border_width(10); #$window->set_size_request(600,600); my $vbox = Gtk2::VBox->new( FALSE, 6 ); $window->add($vbox); $vbox->set_border_width(2); my $hbox= Gtk2::HBox->new( FALSE, 6 ); $vbox->pack_end($hbox,FALSE,FALSE,0); $hbox->set_border_width(2); $vbox->pack_end (Gtk2::HSeparator->new, FALSE, FALSE, 0); my $vbox1 = Gtk2::VBox->new( FALSE, 6 ); $vbox1->set_size_request(600,500); $vbox->pack_end($vbox1,FALSE,FALSE,0); $vbox1->set_border_width(2); my $button = Gtk2::Button->new_from_stock('gtk-quit'); $hbox->pack_end( $button, FALSE, FALSE, 0 ); $button->signal_connect( clicked => \&delete_event ); my $button1 = Gtk2::Button->new('Mplayer'); $hbox->pack_end( $button1, FALSE, FALSE, 0 ); $button1->signal_connect( clicked => \&do_mplayer ); $window->show_all(); Gtk2->main; ##################################### sub delete_event { killfam 9, $pid; Gtk2->main_quit; return FALSE; } ########################################## sub do_mplayer{ my $gdkwindow = $window->window; print "gdkwin->$gdkwindow\n"; my $gdkwindow1 = $vbox1->window; print "gdkvbox->$gdkwindow1\n"; my $xid = $gdkwindow1->XWINDOW; print "xid->$xid\n"; my $url =''; my @options = ( '-slave','-loop 0', '-zoom', "-x 600", "-y 450", '-really-quiet', "-wid $xid", ); my $mpg = 'z-men.mpg'; my $init = 'z-men.mpg'; $pid = open(MP, "| mplayer @options $init >/dev/null 2>&1 "); syswrite(MP, "loadfile $mpg\n"); } ########################################
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Use widget MPlayerEmbed in Layer container... I can't see the video
by darkladen (Initiate) on May 18, 2011 at 20:12 UTC | |
by zentara (Cardinal) on May 19, 2011 at 14:08 UTC | |
by darkladen (Initiate) on May 19, 2011 at 14:24 UTC | |
by zentara (Cardinal) on May 20, 2011 at 13:39 UTC | |
by darkladen (Initiate) on May 20, 2011 at 16:14 UTC | |
by zentara (Cardinal) on May 21, 2011 at 13:55 UTC |