We need a system which will be playing movie files one after another in according with a schedule and without any artifacts on the screen (of X Window System) during switching between them. This system should use MPlayer as a movie player.
If we just play movies one by one, we get some "blinking" on the screen, because it takes some time to initialize each playing. And also we can't control start/stop time in this way.
The solution is to divide the playing of each movie to three steps. First, initialize a player (open movie file, preparing output window (it should be invisible yet) and "freeze"). Second, start playing, show and top the player's window. Third and the last, makes the player's window invisible and terminate it.
That behavior assumes that a few frames from the beginning and some frames at the end of each movie might be missed. It's all right.
Let us say we have a schedule:
12:00:00-12:15:00 [login to view URL]
12:15:00-12:15:30 [login to view URL]
12:15:30-12:20:00 [login to view URL]
According to our solution it will processed as:
11:00:55-initialize [login to view URL] (5 second should be enough)
12:00:00-start playing [login to view URL]
12:14:55-initialize [login to view URL]
12:15:00-start playing [login to view URL]
12:15:00-terminate [login to view URL]
12:15:25-initialize [login to view URL]
12:15:30-start playing [login to view URL]
12:15:30-terminate [login to view URL]
12:20:00-terminate [login to view URL]
All free steps should be done by one utility called 'player' which usage is:
player run
player play
player terminate
The 'id' is unique number for every pair time/movie. That number is destined to identification, because some movie might appear on the schedule several times.
There is one more thing - windows. The solution should provide an ability to specify coordinates and size of each player's window. They should be sent to the player through 'id'. So the format of 'id' is: .-x:. The movies should be played without any decorations (no borders).
## Deliverables
A package which contains complete and fully-functional working:
* player itself;
* installation programs which install the software in ready-to-run condition on the platform(s) specified in this bid request.
All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
We understand it's challenging task and a lot of prohibition will lead that we'll get no solution. So everything might be under discussion.
## Platform
OS GNU/Linux, X Window System (X11R6.9), MPlayer-1.0pre7try2.
The solution should be workable under clear X Window Server (without any window manager and, of course, without GNOME/KDE monsters). Also it's forbade to apply any patches to MPlayer or X Window. It would be nice if player was a bash-script.