Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
4.6.1
-
None
-
a3e6a0
Description
The following changes (3f648dc0) allow audio effects (in this example the audio equalizer) to be applied to playback of video clips/streams, in addition to audio clips/streams.
+void AudioEqualizer::connectVideoPlayer(VideoPlayer::NativePlayer *player) +{ + CAudioEqualizer *ptr = 0; + QT_TRAP_THROWING(ptr = CAudioEqualizer::NewL(*player)); + m_effect.reset(ptr); +}
In this snippet, the typedef VideoPlayer::NativePlayer refers to CVideoPlayerUtility. The problem with this is that the corresponding constructor overloads for the audio effect classes (e.g. CAudioEqualizer::NewL(CVideoPlayerUtility&)) were added in S60 3.2. This means that the above code does not compile on S60 3.1.
There are two possible resolutions:
1. Remove the code which applies audio effects to video playback, which will mean that these effects will not be applied regardless of the versions of the platform on which Qt is built, and on which Qt is run
2. Move the video playback effects code into a plugin which is only loaded when running on 3.2 or above
Note that simply making the code conditionally compiled on 3.2 and above will not work, because this will cause loading of the DLL to fail on 3.1 devices.