Proposal for KDE media interface
Morten Hustveit
morten at debian.org
Wed Aug 6 21:44:03 BST 2003
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.
More information about the kde-multimedia
mailing list