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