"Nokia submits this code under the terms of a commercial contribution agreement 
with RealNetworks, and I am authorized to contribute this code under said 
agreement."

Modified by:  [email protected]<mailto:[email protected]>

Reviewed by:

Date: 30/11/2009

Project: SymbianMmf_wm

ErrorId: YRAH-7Y4QLT

Synopsis: Duplicate allowed audio output preference is appended

Overview: among other TDrmAllowedOutputs  a WMDRM file has set 
EDrmAllowAudioHdcp and EDrmAllowAudioHdmiHdcpRequired, which are both mapped to 
CRestrictedAudioOutput::EAllowAudioHdmiHdcpRequired 
CRestrictedAudioOutput::TAllowedOutputPreference values; This causes duplicate 
CRestrictedAudioOutput::EAllowAudioHdmiHdcpRequired entries in 
m_AllowedOutputPrefsList array and therefore 
CRestrictedAudioOutput::EAllowAudioHdmiHdcpRequired is attempted to be added as 
an allowed audio output twice to devsound. Currently causes fallback to 
CAudioOutput::SetSecureOutput() API.

Solution: added check for duplicate entries in m_AllowedOutputPrefsList.


Files Added:
None.

Files Modified:
/audio/device/platform/symbian/common/CHXAudioOutputConfigUtil.cpp


Image Size and Heap Use impact: minor

Module Release testing (STIF) :  MRT subset

Test case(s) Added  :  No.

Memory leak check performed : Yes. No new leaks introduced

Platforms and Profiles Build Verified:
helix-client-s60-52-mmf-mdf-dsp

Platforms and Profiles Functionality verified: armv5, winscw

Branch: 210CayS, HEAD, 420Brizo



Index: CHXAudioOutputConfigUtil.cpp
===================================================================
RCS file: 
/cvsroot/audio/device/platform/symbian/common/CHXAudioOutputConfigUtil.cpp
retrieving revision 1.1.2.2
diff -u -w -r1.1.2.2 CHXAudioOutputConfigUtil.cpp
--- CHXAudioOutputConfigUtil.cpp        11 Aug 2009 19:29:11 -0000      1.1.2.2
+++ CHXAudioOutputConfigUtil.cpp        24 Nov 2009 17:44:02 -0000
@@ -160,7 +160,8 @@
     {
         for (int i = 0; i < NumHXDrmToRAOPref; i++)
         {
-            if ( aDrmAllowedOutputs & HxDrmToRAOPrefMap[i].m_DrmAllowedOutput )
+            if ( (aDrmAllowedOutputs & 
HxDrmToRAOPrefMap[i].m_DrmAllowedOutput) &&
+                 ( 
m_AllowedOutputPrefsList.Find(HxDrmToRAOPrefMap[i].m_RAOPref) == KErrNotFound) )
             {
                 
m_AllowedOutputPrefsList.Append(HxDrmToRAOPrefMap[i].m_RAOPref);
                 HXLOGL2(HXLOG_ADEV,

BR
Yury



_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to