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.
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
