[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-datatype-cvs
Subject: [Datatype-cvs] mdf/video/renderer/pub mdfvideoadapter.h, 1.3.2.43,
From: yuryrp () helixcommunity ! org
Date: 2009-10-30 16:50:46
Message-ID: 200910301802.n9UI24vR003383 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/datatype/mdf/video/renderer/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv6806
Modified Files:
Tag: hxclient_2_1_0_cayennes
mdfvideoadapter.h
Log Message:
"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.ramanovich@nokia.com
Reviewed by: patrick.amick@nokia.com, ehyche@real.com
Date: 10/30/2009
Project: SymbianMmf_wm
ErrorId: SUB 409-1052
Synopsis: Helix 3rd party drm playback support
Overview: In order to enable third party applications without DRM capability to play \
DRM protected content, new threading model (Secure DRM Model) was introduced to MMF, \
where server side of MMF will be created in a new secure DRM Plugin server process, \
in which MMF controller will still be loaded as a separate thread. This way a process \
boundary will be added between client and sensitive DRM content. This new threading \
model (a.k.a. Secure DRM mode) will be only activated when a third party app without \
DRM capability attempts to play DRM protected content.
The following changes are needed in participating controllers ( e.g. helix):
- Include the <d> tag inside their resource files to be picked up by the MMF plugin \
resolver and loaded inside the secure DRM server process.
- Deliver a valid client application thread id to DevSound via SetClientThreadInfo \
(TThread& aTid) API. DevSound may need to be aware of real client identity in order \
to make correct audio policy and routing decisions.
- On DevVideoPlay side new custom interface (CI) \
MmfVideoClientThreadInfo::MvctSetClientThreadInfo (TThreadId & aTid) must be \
implemented by all decoder and post processing devices that use client application \
identity for policy and resource management decisions and controllers must attempt to \
query it from all media devices in use. If the interface is implemented, then \
controllers should deliver valid client application thread id
Solution:
- To opt-in to new Secure DRM threading model, <d> tag is added to \
KMmfUidPluginInterfaceController INTERFACE_INFO structure in the resource files for \
helix video controller, helix audio controller and helix windows media video and \
helix windows media audio controller respectively
- Helix controller obtains client thread id in HXMMFBaseCtrl::InitResourcesL()
- Helix passes it to DevSound to enable Effective Client process to be set by \
DevSound. Effective Client Process is the process used when checking the “client” \
capabilities, secureId etc, rather than the Client Process which is the process in \
which the CMMFDevSound is running. This is done only once via \
CMMFDevSound::SetClientThreadInfo() API just after creation of DevSound and before \
any other calls to DevSound instance.
- the client thread id is also saved in HXMMFStateCtrl.
- On video side, mmfvideoadapter gets client thread id from HXMMFStateCtrl via new \
interface IHXSymbianClientThreadInfo and saves it to \
CDevVideoInitParams.
- then in CMDFDevVideoServerSession::CreateAndInitL() helix attempts to query \
MmvctSetClientThreadInfo() CI from DevVideoPlay and deliver client thread id to \
DevVideoPlay device.
Files Added:
common/system/pub/platform/symbian/symbianclientthreadinfo.h
Files Modified:
/audio/device/platform/symbian/common/CHXMMFDevSound.cpp
/audio/device/pub/platform/symbian/CHXMMFDevSound.h
/clientapps/symbianMmf/hxmmfstatectrl.cpp
/clientapps/symbianMmf/hxmmfstatectrl.h
/clientapps/symbianMmf/audiocontroller/10207B64.rss
/clientapps/symbianMmf/common/hxmmfbasectrl.cpp
/clientapps/symbianMmf/videocontroller/101F8513.rss
/clientapps/symbianMmf/wmvextcontroller/10283349.rss
/clientapps/symbianMmf/wmvextcontroller/10283350.rss
/common/include/hxiids.h
/datatype/mdf/video/renderer/mdfvideoadapter.cpp
/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServerCmds.h
/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServerSession.cpp
/datatype/mdf/video/renderer/mdfdevice/server/CMDFDevVideoServerSession.h
/datatype/mdf/video/renderer/pub/mdfvideoadapter.h
Image Size and Heap Use impact: minor
Module Release testing (STIF) : MRT subset ongoing
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
Index: mdfvideoadapter.h
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/pub/mdfvideoadapter.h,v
retrieving revision 1.3.2.43
retrieving revision 1.3.2.44
diff -u -d -r1.3.2.43 -r1.3.2.44
--- mdfvideoadapter.h 30 Mar 2009 18:49:45 -0000 1.3.2.43
+++ mdfvideoadapter.h 30 Oct 2009 16:50:44 -0000 1.3.2.44
@@ -104,6 +104,7 @@
#endif //HELIX_FEATURE_S60_TRICKPLAY
#include "hxmon.h"
+#include "symbianclientthreadinfo.h"
#define CODECCONFIGRULE_ARRAY_GRANULARITY 4
_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic