Re: Displaying videos with no internal border, child mplayer problems
Bill Lear <[email protected]> Mon, 10 Mar 2008 10:16:54 -0600
| Newsgroups | gmane.comp.mozilla.mplayerplug-in |
|---|---|
| Message-ID | <[email protected]> |
On Saturday, March 8, 2008 at 08:08:55 (-0700) Kevin DeKorte writes: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >Bill Lear wrote: >> I have two questions about the mplayer plugin. I am running on >> x86_64, Fedora 8, firefox 2.0.0.12, mplayer 1.0rc2-4.1.2 >> >> First, I am trying to display the video in a firefox window and would >> like to display only the video (no controls, progress bar, etc.) and >> need the video to fill the entire window, all the way out to the edge, >> with no internal border. However, after plowing through the source >> code (plugin.cpp, plugin-setup.cpp, plugin-ui.cpp), I can't see where >> this internal border is set and how to disable it. Could someone >> here please help me figure this out? >> > >I believe the boarder you are referring to is set in Firefox. There is >no border used in mplayerplug-in. Firefox gives a window and the fill >size of it is used. >... >Also, you might try gecko-mediaplayer + gnome-mplayer and see if they >give you any better options. Ok, I was afraid that it was firefox that was doing this. I'll see if we can get the gecko/gnome combination working to try that out. If that fails, I guess I'll have to ask the Firefox people if this is possible. Just for extra information, we had this problem with plain jpeg images, and I could not figure out how to tell Firefox to display a window with the image completely filling the window. I fixed this by using CSS to set the background image of the page as the image in question and setting it to "no-repeat". Can't do that with movies, though... >> Second, I have noticed two things about how child mplayer processes >> are handled. First, when mplayer exits after it has finished playing >> a video, child processes are not reaped, and after playing many videos >> this can cause a problem, as the process I have in mind would be very >> long-lived. I checked the source code, and a line in >> plugin-threads.cpp: >> >> signal(SIGCHLD, sig_child); >> >> was commented out. When I uncomment this (recompile, reinstall), >> the children are reaped properly. Is there any reason not to install >> the sig_child signal handler? >> >> The second thing about how child mplayer processes are handled is more >> troubling. When firefox is killed (say, by pressing control-C at the >> command-line or issuing 'kill' from the command line), I often see an >> mplayer process left over, but in this case it is not just an idle >> unreaped child, but an mplayer that is galloping along, chewing up all >> of the CPU that it can get. On occasion I will see more than one of >> these, though it may be due to multiple start/stops of Firefox. I >> would assume that when SIGKILL comes through, the mplayerplugin should >> then kill the child mplayer process, do any other clean up necessary, >> and exit. Is there a reason this is not done (if indeed it is not) >> or why this may not be working properly? > >The sigchild event was disabled due to some concerns that the wrong >mplayer was being killed off when a window was closed. I never saw this >myself, but I changed this due to some bug reports. I'll have to test this thoroughly to see if I can see any problems with it, and I'll let you know if I do. >As for mplayer not dying if firefox crashes or is killed.. Well really >there is no way to shutdown mplayer if the hosting application suddenly >goes away. Shutdown the app correctly and things are properly reaped. I would think that shutting down the app correctly includes sending it a SIGTERM or a SIGINT signal, in which case it should handle it properly, including stopping the child mplayer and reaping it. A SIGKILL of course leaves no option to do this, but I would think the other cases would. Thanks for your help. Bill ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/