> > How does this flash lite interface look like ? > > The following return arrays of MIME types: > > System.capabilities.videoMIMETypes > System.capabilitites.MIMETypes > System.capabilities.audioMIMETypes > > It should be noted, though, that a MIME type like video/ogg or audio/ogg > only shows that the OGG container can be handled, and doesn't reveal > whether codecs for the contained video or audio streams are present, so > there's still guesswork involved. The type video/ogg could be > Theora/Vorbis, Theora/Speex, Theora/FLAC, Dirac/FLAC, Dirac/Vorbis, > MNG/FLAC or OggUVS inside OGG (whatever that is). (See > http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions)
I like this idea best. Adobe's description of Flash Lite doesn't say, of course, what the mime types are returned for popular formats. Indeed, this interface just looks like it documents the container types, not the codecs. There's confirming info about this in a tutorial: http://mobiforge.com/designing/story/flash-lite-and-video-streaming which shows "video/3GP" as a returned type, and also describes the wide variety of codecs usable within that type. Dumb. I suggest that we add a parallel interface, System.capabilities.videoDecoderTypes System.capabilities.audioDecoderTypes System.capabilities.videoEncoderTypes System.capabilities.audioEncoderTypes which would return the necessary info. Then a Flash movie would be able to check for both container support and for codec support (for both video and audio, potentially) if it wanted to select among copies of a movie in various formats. We should also draft a spec for such an interface, put it in the public Gnash documentation, and feed it to Adobe for consideration in future revisions of Flash. We can implement it regardless of what they do, but at least we'll be doing OUR part to avoid needless incompatability. Very drafty draft (from this, you already know I don't understand ActionScript syntax): In a system with Gnash, configured to use ffmpeg or gstreamer, in which the configured media library contains these decoders. (Depending on what other codec plugins are available, lots more will also be described in these arrays.) System.capabilities.videoMIMETypes ["video/ogg"] will be true. System.capabilities.audioMIMETypes ["audio/ogg"] will be true. System.capabilities.audioDecoderTypes ["vorbis"] will be true. System.capabilities.audioDecoderTypes ["speex"] will be true. System.capabilities.audioDecoderTypes ["flac"] will be true. System.capabilities.videoDecoderTypes ["theora"] will be true. The codec names should generally be in lowercase, so people won't have to case-match them. (We may be stuck with random cases in the MIME types, like the above "video/3GP", but at least we can do better in our own interface.) Some will be nonintuitive, e.g. MP3 won't be called mp3 because it's real name is something else; mp3 is a high-speed collision between a container format and a codec. Currently, we don't provide any audio or video ENcoding, do we? (E.g. for audio or video conferencing.) If so, those variables should also be set appropriately. John _______________________________________________ Gnash-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnash-dev

