On Wednesday 06 August 2003 19:04, Charles Samuels wrote: > You misunderstand, you want it -possible- to have specific-purpose code for > DVD, but you also want it -possible- to have specific-purpose code for > Flash. The only real difference is how you don't use YUV in flash. I don't think it would be very hard to use the extension function for this purpose. Can you think of any functionality needed beyond the following? MouseClickEvent -- int x, int y, int button KeyEvent -- int keyNum AudioStreamNames -- QStringList* streamNames SetAudioStream -- QString* streamName TextStreamNames -- QStringList* streamNames SetTextStream -- QString* streamName AngleCount -- void SetAngle -- int angle SetZoom -- int zoom All these can be added as extensions. The interface for using extensions is rather clean (i.e. only slightly worse than normal methods), in my humble opinion. Example: media->extension(AudioStreamNames, &streamNames); media->extension(SetAngle, 2); rather than streamNames = media->audioStreamNames(); media->setAngle(2); Because of this I think extensions should be used for all features that are very format-specific. Any video related function not in an extension should be implemented by all decoders (except they might be write or read only). Also: nothing prevents a backend plugin from implementing the whole pipeline. _______________________________________________ kde-multimedia mailing list kde-multimedia@mail.kde.org http://mail.kde.org/mailman/listinfo/kde-multimedia