Revision 633800

Go back to digest for 18th February 2007

Features in Multimedia

Matthias Kretz committed changes in /trunk/KDE/kdemultimedia/phonon-xine:

post plugin infrastructure for audio:
- when creating a new stream use the null output and rewire it to a real output when it is available
- every AudioPath keeps it's AudioEffects in a AudioPostList object which defines the processing path between xine_stream and xine_audio_port
- started to make multiple AudioPaths per MediaProducer possible (needs another custom post plugin)
- implement AudioEffect::parameterList()
- add virtual function newInstance to AudioEffect that is used by AudioPostList to get a new xine_post_t object of the AudioEffect
- XineStream doesn't take AudioPort objects anymore but AudioPostList objects
- AudioPostList has a function to tell XineStream to start rewiring the post plugins in the xine thread
- implemented VolumeFaderEffect using the KVolumeFader post plugin
- AudioOutput does not create a AudioPort per XineStream anymore - one AudioPort per AudioOutput (output from one source to multiple sinks needs another post plugin)

also:
- no code in Q_ASSERT, this only works for debug builds

File Changes

Added 2 files
  • /trunk/KDE/kdemultimedia/phonon-xine
  •   /audiopostlist.cpp
  •   /audiopostlist.h
Modified 17 files
  • /trunk/KDE/kdemultimedia/phonon-xine
  •   /abstractmediaproducer.cpp
  •   /abstractmediaproducer.h
  •   /audioeffect.cpp
  •   /audioeffect.h
  •   /audiooutput.cpp
  •   /audiooutput.h
  •   /audiopath.cpp
  •   /audiopath.h
  •   /audioport.cpp
  •   /audioport.h
  •   /CMakeLists.txt
  •   /volumefadereffect.cpp
  •   /volumefadereffect.h
  •   /xineengine.cpp
  •   /xineengine.h
  •   /xinestream.cpp
  •   /xinestream.h
19 files changed in total