An MXM-based Application for Sharing Protected Content - Presentation Transcript
An MXM-based application for
sharing protected content
Angelo Difino
MXM DevDay, London, 2009-06-28
A 'concrete' MXM application
An MXM-based application for sharing protected
content
List of technologies
Mpeg21FileEngine MediaFrameworkEngine
DIDEngine IPMPEngine
MetadataEngine SecurityEngine
RELEngine
First α-release due to the end of July
BasicDIDEngine: a MXM skeleton engine
DEFINITION on H
class BasicDIDEngine : public DIDEngine {
public:
BasicDIDEngine(int argn, const char *const * argv);
virtual ~BasicDIDEngine();
DIParser* getDIParser();
....// other MXM DIDEngine api definition
}; IMPLEMENTATION on CPP
class Factory : BasicDIDEngine::BasicDIDEngine
public MXMEngineFactory< BasicDIDEngine > (int nparam, const char *const * vparam) :
{ }; DIDEngine("BasicDIDEngine")
{
MXM_DLL_EXPORT void * factory0( void ) ....
{ }
return new Factory();
} //other MXM DIDEngine api implementation
protect and share your secrets @ ease
Supported SO and dependencies
Win32 XSD CODESYNTHESIS
http://www.codesynthesis.com/
MSVisual C++ compiler
Linux APACHE LOG4Cxx
http://logging.apache.org/log4cxx/
G++ compiler
MacOSX APACHE XERCES (used by
XSD)
...
http://xerces.apache.org/xerces-c/
Using MXM APIs
....
LicenseParser* licence_parser->parseLicense(license);
GrantParser* first_gp;
list< GrantParser* > l;
if (licence_parser->getGrants( l )) {
list< GrantParser* >::const_iterator it = l.begin();
while(it != l.end()) {
first_gp=*it;
if (first_gp->containsProtectedResource()) {
ProtectedResourceParser* protectedresource;
first_gp->getProtectedResource(protectedresource);
MXMObject* master_encrypted=0;
protectedresource->getEncryptedKey(master_encrypted);
....
_mfengine->setIPMPTool(drmtools);
_mfengine->open(resource_url);
_mfengine->play();
....
_mfengine->pause();
....
_mfengine->stop();
MXM engine todo
MXM engine parameters
MXM exception
MXM core as singleton
MXM configuration file updated live
MXM loader / adapter (like java side)
protect and share your secrets @ ease
A test MXM application
An MXM-based application for access protected content
Integrated with chillout functionalities (for creation)
Two media frameworks (MF APIs)
VLC (0.9.9.a) and GSTREAMER (0.10 → 1½ year old!!!)
On win32
GTK++ (with glib)
GSTREAMER and VLC (easy to install)
OPENSSL (for some protection/security aspect)
SQLite
MXM info
MXM Mailing list
mxm@lists.uni-klu.ac.at
Website
http://mxm.wg11.sc29.org/
(my)Personal contacts
angelo@smartrm.com
skype: angelo.difino
Thank you for your attention!
angelo@smartrm.com
protect and share your secrets @ ease
0 comments
Post a comment