Jason Tackaberry wrote:
> On Fri, 2006-12-01 at 17:42 +0100, Hans Meine wrote:
>> audio and video streams in different containers.  Thinking about it, I'd say 
>> let the backends deal with that diversity, have a proper default player 
>> (which hopefully supports all formats) and automatically fall back on 
>> another 
>> if that player fails for some reason (missing plugin/similar).
>
> I agree with this.  I don't think there's any reliable way we can know
> beforehand if a player can play a file without actually trying.
>
> I think rather than base the decision on codecs and/or extensions, we
> should look instead at more higher level requirements and capabilities.
> Maybe we can rank each capability.  For example, something like:
>
>         Capability       Player     Rank
>         ----------       --------   ----
>         CAP_DVD_MENUS    mplayer    2
>         CAP_DVD_MENUS    gstreamer  7
>         CAP_DVD_MENUS    xine       10
>         CAP_DEINTERLACE  mplayer    5
>         CAP_DEINTERLACE  gstreamer  3
>         CAP_DEINTERLACE  xine       9

Looking at the source code I see the following capabilities:
CAP_VIDEO, CAP_AUDIO, CAP_OSD, CAP_CANVAS, CAP_DVD, CAP_DVD_MENUS,
CAP_DYNAMIC_FILTERS, CAP_VARIABLE_SPEED, CAP_VISUALIZATION,
CAP_DEINTERLACE

First question: do we need all of them? IMHO CAP_VIDEO and CAP_AUDIO
are obvious, we don't need them. We won't support a player that has no
video output. Other caps or more boolean caps like CAP_VARIABLE_SPEED
and CAP_DYNAMIC_FILTERS. I also think we need CAP_HD for H.264 content
or width >= 1280. 

So I guess we should have:

Boolean capabilities, hardcoded in the source code: CAP_OSD,
CAP_CANVAS, CAP_DYNAMIC_FILTERS, CAP_VARIABLE_SPEED, CAP_VISUALIZATION

Rating capabilities for the config file: CAP_DVD, CAP_DVD_MENUS,
CAP_DEINTERLACE, CAP_HD

We could also add a [player].prefer_for_extention variable, a list of
extensions this player is the prefered one. Maybe also based on codecs
[player].prefer_for_codec. Maybe that is CAP_PREFERED. So it is still
possible that the prefered player is not used when user capabilities
have a higher rating. Using that we could remove CAP_HD again.

Example config file for mplayer

mplayer.capabilities.dvd = 10
mplayer.capabilities.dvd_menu = 1
mplayer.capabilities.deinterlace = 5
mplayer.capabilities.hd = 9
mplayer.capabilities.prefered = 8
mplayer.prefered.extensions = mkv,ts,mov
mplayer.prefered.codecs = H.264


Comments?


Dischi

-- 
I feel like a genocidal maniac when emacs asks me if I want to kill
10789 characters.

Attachment: pgphpzOX8nYi9.pgp
Description: PGP signature

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to