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