[MPlayer-dev-eng] Architectural TODO items

Benjamin Zores ben at geexbox.org
Sat Jun 9 21:34:58 CEST 2007


Uoti Urpala a écrit :
> These are somewhat random issues that I've considered working on at some
> point. Since these have not been discussed much many developers are
> probably not aware of the associated problems at all, so I thought it
> would be useful to document them to some degree.
> 

Interestingly, we had nearly the same talkabout with Albeu a few days ago.

> 
> 1) Execute commands independently of frames / associated OSD issues
> 
> There are several reasons why running user/slave commands independently
> of frame updates and without forcing unpause would be useful. The
> "running commands" part should actually be pretty easy to implement; the
> problematic part is OSD updates. MPlayer does not have a good UI
> interface that could show information independently of frames.

We've been talking about a rewrite/enhancement of libmenu in order to 
have a fancy UI and indeed, a first start would be to be able to draw it 
independantly of framerate.

And as you've said another big issue is the OSD itself which sucks a 
bit. A first effort might be addressed against design of a good libosd.
Currently, iirc there's not even way to have colored DVD subtitles.
Libass does a lot but again it's only for ASS subtitles.
Besides, iirc, Otvos Attila massive patchset for DVDNAV support also 
added many things in OSD/subs code in order to draw colored SPUs but 
here we're talking about more than 200k patches.

Current OSD also only support plain text.
It would be good to be able to:
- draw text (any color) anywhere on the screen
- draw bitmaps (any image format) anywhere too, to be able to draw an UI 
(aurel and I did some kind of work to have an enhanced menu interface 
few years ago but it never was meant to be included upstream though).

Jason Tackaberry (from Freevo) also send somes patches that provides an 
overlay over video (vf_bmolv2 replacement) some time agos and some ideas 
might be taken from there to actually be able to design this osd/overlay 
library.

Another interesting thing would be to start mplayer with some UI even 
for audio only files (no video stream), where there's no FPS nor VO.

Still speaking about menu and OSD stuff, let's consider one libmenu 
issue. Currently it can be used through "mplayer filename -menu" where 
filename is a video stream. A good thing would be to have filename being 
  a simple image (i.e. decoded once, no FPS). Hence, it would require 
implementing support for still frames, which is mandatory for DVDNAV 
anyway.

> Currently vo instances have no private data structures but store
> everything in globals and static variables. That would need to be
> changed; since there are lots of vo types I think it's better to do this
> too in a way that allows converting them one at a time rather than
> requiring all to be done in one go.

I definitely agree on that point.

I'd be glad if other developers feel interested and would spare time 
helping you on these points.

Ben



More information about the MPlayer-dev-eng mailing list