summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/mmf/bassboost.h
Commit message (Collapse)AuthorAgeFilesLines
* Added enable/disable parameter to each effect in Phonon MMF backendGareth Stockwell2010-01-111-2/+0
| | | | | Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Simplified error handling for audio effectsGareth Stockwell2010-01-111-2/+2
| | | | | Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Implemented bass boost in Phonon MMF backendGareth Stockwell2010-01-111-4/+1
| | | | | Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Refactored AbstractAudioEffect to reduce redundancy in derived classesGareth Stockwell2010-01-111-2/+2
| | | | | Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Added a macro to reduce boilerplate code in Phonon MMF backendGareth Stockwell2010-01-111-0/+5
| | | | | Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Removed dependency of EffectFactory on native effect headersGareth Stockwell2010-01-111-5/+2
| | | | | | | | | | | | | | | By refactoring the static capabilities / parameters interface exposed by AbstractAudioEffect-derived classes to the EffectFactory, the latter's implementation no longer needs access to the headers for native effect classes. Previously, during the initialization phase, the EffectFactory tried to create an instance of each native effect class, in order to determine whether that effect is supported. This is now done inside the backend class for each effect, thereby improving encapsulation. Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Delayed creation of audio effect object until audio is initializedGareth Stockwell2010-01-111-1/+1
| | | | | | | | | | | | | | | | | | When applying effects to an audio stream, we must ensure that the MMF utility API (CMdaAudioPlayerUtility or CVideoPlayerUtility) instance has loaded a controller before calling attempting to create a CAudioEffect- derived object. If the controller has not been loaded, construction of the effect object will fail. Even if we mitigate against this, calling CAudioEffect::ApplyL() will only have an effect if there is a controller object - or more precisely, a DevSound instance - on which to apply the effect. This patch delays construction of the effect object until the MediaObject has transitioned out of the LoadingState, indicating that an underlying DevSound instance will have been created. Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Implemented audio effects capability querying in Phonon MMF backendGareth Stockwell2010-01-081-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses the following deficiencies in the existing implementation of audio effects: 1. Native effect objects (e.g. CAudioEqualizer, CBassBoost etc) were created frequently, just in order to check whether a given effect is supported, or retrieve the list of parameters which it requires. Although this is in part due to a deficiency in the S60 audio effects API (it doesn't have a 'capability query' concept), it can be improved by using caching. This patch introduces a singleton EffectFactory object, which lazily initializes a data structure containing information about support and parameters. 2. In order to either query effect support, the native effect object ultimately needs to access a DevSound instance. Previously, the effect object was provided with a CMdaAudioPlayerUtility object. If this player utility has not loaded an MMF controller plugin *before* the effects object makes any calls to the player utility, incorrect results will be returned. This was observed in the previous code. For querying, we don't actually need to load an MMF controller; instead, we would like to directly provide a CMMFDevSound instance to the effect object. Unfortunately, this API is not available in public S60 SDKs, so we must use the next lowest interface available, namely CMdaAudioOutputStream. By making this change, this patch ensures that support and parameter queries made via the EffectFactory will return the correct result. At this point, however, effect settings made via the Phonon API are not actually applied to the audio output. Fixing this will require notifying the audio effects backend nodes of state changes in the MediaObject. Task-number: QTBUG-4659 Reviewed-by: Espen Riskedal
* Fixed build breakage on S60 3.1 due to audio effects changesGareth Stockwell2010-01-081-1/+0
| | | | | | | | Removed calls to the video overload of the audio effect constructors, e.g. CAudioEqualizer::NewL(VideoPlayerUtility&) Task-number: QTBUG-7223 Reviewed-by: trustme
* Implemented node disconnection in Phonon MMF backendGareth Stockwell2009-12-081-7/+5
| | | | | Task-number: QTBUG-4663 Reviewed-by: Frans Englich
* Fixed problems with compiling for ARMV5Gareth Stockwell2009-09-101-2/+1
| | | | | | - Forward declaration of QScopedPointer containee type was causing an error - Audio effect libraries were declared in the .pro file as e.g. -lBassBoostEffect.lib, causing toolchain to try to link statically - Added several missing MMF:: namespace qualifiers
* Make the MediaObject propagation generic for all kinds of nodes.Frans Englich2009-09-091-1/+1
| | | | | Previously the MediaObject propagation was only done for effects, but now it's for all kinds of nodes. This is needed for AudioOutput.
* Work on extending the framework for accomodating effects.Frans Englich2009-09-091-0/+59
This extends the framework for being able to handle audio effects, largely affecting how the audio chain is set up, connected and disconnected, and therefore the Backend has been refactored slightly, and the class MediaNode introduced, see its documentation. In addition two effects has been written: BassBoost and AudioEqualizer.