Il problema /1 - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Il problema /1

Description:

MXM core APIs. share/use. MXM configuration file ... Two media frameworks (MF APIs) VLC (0.9.9.a) and GSTREAMER (0.10 1 year old!!!) On win32 ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 16
Provided by: filippochi
Category:
Tags: apis | problema

less

Transcript and Presenter's Notes

Title: Il problema /1


1
An MXM-based application for sharing protected
content Angelo Difino
MXM DevDay, London, 2009-06-28
2
A 'concrete' MXM application
  • An MXM-based application for sharing protected
    content
  • List of technologies
  • First a-release due to the end of July

3
(No Transcript)
4
MXM configuration file
  • ltMXMConfiguration //cut// xsischemaLocation"urn
    orgisompegmxmconfigurationschema
    mxmConfiguration.xsd"gt
  • ltMXMParametersgt
  • ltentry key"app.add.resource.path"gtchillout_eud/t
    arget/classeslt/entrygt (not yet used)
  • ltComplexParametergt
  • ltbarCustomMXMParam xmlnsbar"urnbar"gtA
    complex MXM configuration parameterlt/barCustomMXM
    Paramgt
  • lt/ComplexParametergt
  • lt/MXMParametersgt
  • ltMediaFrameworkEngine id"1"gt
  • ltDynamicLibrarygt
  • ltLibraryPathgt//path//to//gst_media_framework_eng
    ine.dlllt/LibraryPathgt(.so in linux)
  • lt/DynamicLibrarygt
  • ltClassNamegtGSTMXMMediaFrameworkEnginelt/ClassNamegt
    (not yet used)
  • lt/MediaFrameworkEnginegt

5
MXM configuration file
  • ltMediaFrameworkEngine id"0"gt
  • ltDynamicLibrarygt
  • ltLibraryPathgt//path//to//vlc_media_framework_en
    gine.dlllt/LibraryPathgt
  • lt/DynamicLibrarygt
  • ltClassNamegtVLCMXMMediaFrameworkEnginelt/ClassNamegt
  • lt/MediaFrameworkEnginegt
  • ltDIDEngine id"0"gt
  • ltDynamicLibrarygt
  • ltLibraryPathgt//path//to//basic_did_engine.dlllt/L
    ibraryPathgt
  • lt/DynamicLibrarygt
  • ltClassNamegtBasicMXMDIDEnginelt/ClassNamegt
  • ltDIDProfileCompliancegturnmpegmafschemamediast
    reaminglt/DIDProfileCompliancegt
  • lt/DIDEnginegt

6
From MXM schema to MXM dataobject
  • didl.xsd
  • didl-msx.xsd
  • didmodel.xsd
  • dii.xsd
  • ipmpdidl.xsd
  • ipmpinfo.xsd
  • ipmpinfo-msx.xsd
  • ipmpmsg.xsd
  • mpeg4ipmp.xsd
  • mpeg7smp.xsd
  • rel-m1x.xsd
  • rel-m2x.xsd
  • rel-m3x.xsd
  • rel-mx.xsd
  • rel-r.xsd
  • rel-sx.xsd
  • xenc.xsd dsig.xsd

XSD
7
MXM engine
  • MXMEngineMXMEngine_t enginetype
  • MXMEngine(const string enginename, const
    MXMEngine_t enginetype)
  • MXMEngine(int argn, const char const argv)
  • template lt class T gt class MXMEngineFactory

protect and share your secrets _at_ ease
8
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 clas
s Factory public MXMEngineFactorylt
BasicDIDEngine gt MXM_DLL_EXPORT void
factory0( void ) return new Factory()
IMPLEMENTATION on CPP BasicDIDEngineBasicDIDEng
ine (int nparam, const char const vparam)
DIDEngine("BasicDIDEngine") .... /
/other MXM DIDEngine api implementation
protect and share your secrets _at_ ease
9
Supported SO and dependencies
  • XSD CODESYNTHESIS
  • http//www.codesynthesis.com/
  • APACHE LOG4Cxx
  • http//logging.apache.org/log4cxx/
  • APACHE XERCES (used by XSD)
  • http//xerces.apache.org/xerces-c/
  • Win32
  • MSVisual C compiler
  • Linux
  • G compiler
  • MacOSX
  • ...

10
Using MXM APIs
  • MxM mxm MxMgetInstance(argc, argv)
  • MXMEngineContainer metaEngineContainer
  • mxm-gtgetDefaultEngineContainer(MXMEngin
    eMetadataEngine)
  • MXMEngineContainer didEngineContainer
  • mxm-gtgetDefaultEngineContainer(MXMEngin
    eDIDEngine)
  • MetadataEngine _metaengine (MetadataEngine)
    metaEngineContainer-gtgetEngine()
  • DIDEngine _didengine (DIDEngine)
    didEngineContainer-gtgetEngine()
  • DIParser di_parser_didengine-gtgetDIParser()
  • di_parser-gtparseDI(dci_url) //can be
    parseDI(MXMObject)
  • MXMObject metadata0
  • di_parser-gtgetContentMetadata(metadata)
  • MetadataParser meta_parser _metaengine-gtgetMeta
    dataParser()
  • meta_parser-gtparseMetadataObj(metadata)
  • stdstring title("")

11
Using MXM APIs
  • ....
  • LicenseParser licence_parser-gtparseLicense(licens
    e)
  • GrantParser first_gp
  • listlt GrantParser gt l
  • if (licence_parser-gtgetGrants( l ))
  • listlt GrantParser gtconst_iterator it
    l.begin()
  • while(it ! l.end())
  • first_gpit
  • if (first_gp-gtcontainsProtectedResource(
    ))
  • ProtectedResourceParser
    protectedresource
  • first_gp-gtgetProtectedResource(prot
    ectedresource)
  • MXMObject master_encrypted0
  • protectedresource-gtgetEncryptedKey(
    master_encrypted)
  • ....
  • _mfengine-gtsetIPMPTool(drmtools)
  • _mfengine-gtopen(resource_url)
  • _mfengine-gtplay()
  • ....
  • _mfengine-gtpause()

12
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 _at_ ease
13
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

14
MXM info
  • MXM Mailing list
  • mxm_at_lists.uni-klu.ac.at
  • Website
  • http//mxm.wg11.sc29.org/
  • (my)Personal contacts
  • angelo_at_smartrm.com
  • skype angelo.difino

15
Thank you for your attention!
angelo_at_smartrm.com
protect and share your secrets _at_ ease
Write a Comment
User Comments (0)
About PowerShow.com