Thanks Eric, checked in to 210Cays and HEAD.

BR
Yury
 

>-----Original Message-----
>From: ext Eric Hyche [mailto:ehy...@real.com] 
>Sent: Thursday, July 23, 2009 9:06 AM
>To: Ramanovich Yury (Nokia-D-MSW/Dallas); 
>audio-dev@helixcommunity.org; datatype-...@helixcommunity.org; 
>clientapps-...@helixcommunity.org
>Cc: nokia-private-...@helixcommunity.org
>Subject: RE: [Audio-dev] CR needed : SUB 417-21335 - Playback 
>of WMDRM-protected content on HDMI-HDCP - configuring output 
>restrictions
>
>Yury,
>
>These changes look good to me.
>
>Eric
>
>=======================================
>Eric Hyche (ehy...@real.com)
>Principal Engineer
>RealNetworks, Inc.
>
>
>>-----Original Message-----
>>From: audio-dev-boun...@helixcommunity.org 
>>[mailto:audio-dev-boun...@helixcommunity.org] On Behalf Of 
>>yury.ramanov...@nokia.com
>>Sent: Wednesday, July 22, 2009 11:30 AM
>>To: audio-dev@helixcommunity.org; datatype-...@helixcommunity.org; 
>>clientapps-...@helixcommunity.org
>>Cc: nokia-private-...@helixcommunity.org
>>Subject: [Audio-dev] CR needed : SUB 417-21335 - Playback of 
>>WMDRM-protected content on HDMI-HDCP - configuring output restrictions
>>
>>"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:  yury.ramanov...@nokia.com
>>
>>Reviewed by:
>>
>>Date: 07/22/2009
>>
>>Project: SymbianMmf_wm
>>
>>ErrorId: N/A
>>
>>Synopsis:  SUB 417-21335 Playback of WMDRM-protected content on 
>>HDMI-HDCP
>>
>>Overview:  WMDRM content playback via HDMI/HDCP requires finer 
>>granularity of secure output settings than CAudioOutput API 
>for audio and MMmfVideoSecureOutput custom interface (CI)
>>           for video can currently provide. Therefore, 
>210Cays helix is 
>>being changed to use CRestrictedAudioOutput API and 
>MMmfAdvancedVideoSecureOutput CI to accommodate this
>>           requirement
>>
>>Solution:  1) added CRestrictedAudioOutput support for helix 
>audio and 
>>MMmfAdvancedVideoSecureOutput CI support for helix video behind
>>           HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT flag. 
>This flag 
>>will be added and commented out for now in 
>build/umakepf/helix-client-s60-52-common.pfi
>>           2) Consolidated code for setting secure output for audio 
>>into CHXAudioOutputControlUtil class.
>>           3) Modified code outside of 
>>HELIX_FEATURE_SYMBIAN_ADVANCED_SECURE_OUTPUT flag to change 
>secure output setting for audio and video
>>              to be 32bit integer instead of boolean, while 
>preserving 
>>the existing secure output functionality.
>>           4) consolidated code to set video output 
>restrictions in new 
>>f-n
>>CMDFDevVideoServerSession::SetOutputRestrictions()
>>
>>           How it works:
>>           ---- Securing audio when the flag is enabled:
>>           - integer bitmask with outputs (both audio and video) 
>>allowed by drm agent is obtained in 
>HXMMFBaseCtrl::HandleDRMClips and written into 
>MMF.SecureOutput registry entry
>>           - this bitmask is extracted in 
>CHXMDFAudioDevice::Open() or 
>>CHXAudioDevice::InitDevice() and passed down to 
>CHXAudioOutputConfigUtil::ConfigureOutputRestrictions()
>>           - CHXAudioOutputConfigUtil::ConfigureOutputRestrictions 
>>takes care of parsing the bitmask, mapping drm allowed audio 
>outputs to
>>             a set of 
>CRestrictedAudioOutput::TAllowedOutputPreference 
>>prefs and configuring devsound with this set of allowed audio 
>output prefs via CRestrictedAudioOutput.
>>           - same thing is done in 
>>CHXMDFAudioDevice::GetCurrentAudioTime() when the value of 
>MMF.SecureOutput is changed on-the-fly.
>>           - XPSFileFormat will not flip the bitmask. So 0 bitmask ( 
>>Same as EDrmAllowNone) will mean that the audio output needs 
>to be secured and will be mapped to a set of CMLA compliant
>>           CRestrictedAudioOutput::TAllowedOutputPreference prefs; 
>>0xFFFFFFFF bitmask ( Same as
>>EDrmAllowAll) will mean that all audio outputs are allowed
>>           - if CRestrictedAudioOutput API is not available, 
>CAudioOutput will be used.
>>
>>           ---- Securing audio when the flag is disabled:
>>           - functionality is the same as before and CAudioOutput API 
>> is used
>>
>>
>>           ----Securing video when the flag is enabled
>>           - integer bitmask with outputs (both audio and video) 
>>allowed by drm agent is obtained in 
>HXMMFBaseCtrl::HandleDRMClips and written into 
>MMF.SecureOutput registry entry
>>           - this bitmask is extracted in 
>CMdfVideoAdapter::InitL() and 
>>passed down to
>>CMDFDevVideoServerSession::CreateDevVideoL()
>>           - CMDFDevVideoServerSession::CreateDevVideoL takes care of 
>>parsing the bitmask, mapping drm allowed video output to 
>MMmfAdvancedVideoSecureOutput allowed video output
>>             setting and passing it down to devvideoplay via 
>>MMmfAdvancedVideoSecureOutput CI if available.
>>           - same thing is done by 
>>CMDFDevVideoServerSession::ServiceL() in 
>MDF_SyncSetSecureOutput message handling code when the value 
>of MMF.SecureOutput is changed on-the-fly.
>>           - XPSFileFormat will not flip the bitmask. So 0  bitmask ( 
>>Same as EDrmAllowNone) will mean that the video output needs 
>to be secured and will be mapped to
>>           MMmfAdvancedVideoSecureOutput::EVideoAllowInternalOnly; 
>>0xFFFFFFFF bitmask ( Same as
>>EDrmAllowAll) will mean that all audio outputs are allowed
>>
>>           --- Securing video when the flag is disabled:
>>           - functionality is the same as before and 
>> MMmfVideoSecureOutput CI used
>>
>>Files Added:
>>/audio/device/platform/symbian/common/CHXAudioOutputControlUtil.cpp
>>/audio/device/pub/platform/symbian/CHXAudioOutputControlUtil.h
>>Files Modified:
>>/ribosome/build/umakepf/helix-client-s60-52-common.pfi
>>/audio/device/auddevlib_symbian.pcf
>>/audio/device/platform/symbian/CHXSymbianAudioSession.cpp
>>/audio/device/platform/symbian/CHXSymbianAudioSession.h
>>/audio/device/platform/symbian/audsymbian.cpp
>>/audio/device/platform/symbian/common/CHXBaseAudioSession.cpp
>>/audio/device/pub/platform/symbian/CHXBaseAudioSession.h
>>/audio/device/pub/platform/symbian/CHXSymbianAudioDevice.h
>>/client/core/clntcoredll_symbian.pcf
>>/clientapps/symbianMmf/common/hxmmfbasectrl.cpp
>>/clientapps/symbianMmf/common/hxmmfbasectrl.h
>>/datatype/mdf/audio/dsp/Umakefil
>>/datatype/mdf/audio/dsp/mdfauddevice.cpp
>>/datatype/mdf/audio/dsp/mdfdevsound.cpp
>>/datatype/mdf/audio/dsp/mdfdevsound.h
>>/datatype/mdf/video/renderer/mdfvideoadapter.cpp
>>/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServerCmds.h
>>/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServ
>erSession
>>.cpp 
>>/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServ
>erSession
>>.h /datatype/xps/fileformat/CXPSFileformat.cpp
>>
>>
>>Image Size and Heap Use impact: minor
>>
>>Module Release testing (STIF) :  MRT subset passed on 
>helix-client-s60-50-mmf-mdf-dsp.
>>
>>Test case(s) Added  :  No.
>>
>>Memory leak check performed : Yes. No new leaks introduced
>>
>>Platforms and Profiles Build Verified: 
>helix-client-s60-50-mmf-mdf-dsp, 
>>helix-client-s60-50-mmf-mdf- arm
>>
>>Platforms and Profiles Functionality verified: armv5, winscw
>>
>>Branch: 210CayS, HEAD
>>
>
>
_______________________________________________
Audio-dev mailing list
Audio-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to