[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