[MPlayer-dev-eng] Documenting and extending the subtitles system

Nicolas George nicolas.george at normalesup.org
Tue Feb 24 09:57:46 CET 2009


Le sextidi 6 ventôse, an CCXVII, Uoti Urpala a écrit :
> This is in no way visible to individual renderers. They get calls to the
> draw_alpha function they provided, and there is zero distinction between
> different kinds of OSD objects.
> 
> Maybe you misinterpret where the API boundaries are? What is in the vo_
> files and in vf_expand.c is the "renderer side". Compare it with EOSD;
> instead of getting a list of bitmaps they get a series of callbacks with
> varying parameters. The code doing those callbacks is no more part of
> the "renderer side" than the code creating the list of bitmaps is part
> of the EOSD "renderer side".

OK, I see it now the same as you: the render API clean.

> What does that have to do with callbacks? You separately listed an
> "input API", and this functionality is much better placed under that.
> Code which decides the contents of the OSD can of course use whatever
> information it wants to select those contents, including the timestamp
> of the corresponding frame. Why would that be a reason to list this
> separately from the "input API"?

The way I see it, the call to ass_mp_render_frame is an hardcoded callback.

I listed the "callback API" separately in the first rough sketch because I
was not yet absolutely sure whether it was necessary. Now I think that a
callback is necessary when the subsystem is reset, but not otherwise.

> I think you're trying to do too much at once. Pick some more concrete
> goal than "rewriting the API" which has no clear definition of success.
> I think you've still misunderstood too many things to _start_ from
> trying to write a complete definition of the overall API; improvements
> to that would be better done when limitations hinder some more concrete
> goal.

I know I can not submit one huge patch that changes everything at once, but
I do not think that spending a few hours planning ahead is wasted time.

For now, I think I will try and start by isolating EOSD and libass.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20090224/e7b3be88/attachment.pgp>


More information about the MPlayer-dev-eng mailing list