97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠見教育科技集團 >> 新聞動態(tài) >> Android資料 >> Android CPM插件機制  
 
Android CPM插件機制
分享到:

內(nèi)容策略管理器的作用就是整合一系列與內(nèi)容管理相關(guān)的服務(wù),并提供統(tǒng)一的接口供上層應(yīng)用調(diào)用,這些服務(wù)如DRM內(nèi)容接入、起始控制(Parental Control)等均是作為CPM插件出現(xiàn)的。根據(jù)多媒體的特性,CPM為CPM插件設(shè)計了一系列的規(guī)則,這些規(guī)則主要分為3類:

·用戶鑒權(quán)。
    ·操作授權(quán)(對播放、暫停、快進、快退、復(fù)制、保存等進行授權(quán))。
    ·內(nèi)容接入(提供打開、閱讀、查找等媒體對象的操作)。

在實現(xiàn)完CPM插件后,為了使CPM插件能夠在OpenCORE框架內(nèi)可用,必須首先完成CPM插件在OSCL組件工廠(OsclComponentFactory)的注冊。

在進行CPM插件注冊時,其MIME類型標識符必須以“X-CPM-PLUGIN”作為起始字符,CPM插件的注冊過程如下:

代碼:RegisterPlugin

OSCL_EXPORT_REF PVMFStatus PVMFCPMPluginFactoryRegistryClient::RegisterPlugin (OSCL_String& aMimeType,
    PVMFCPMPluginFactory& aFactory){
    if (!iClient)
    return PVMFErrInvalidState;
    //確保它是一個有效的CPM-plugin的MIME字符串
    OSCL_HeapString< OsclMemAllocator> cpmregid(PVMF_MIME_CPM_PLUGIN);
    if (aMimeType.get_size()>=cpmregid.get_size()
    && oscl_CIstrncmp(cpmregid.get_cstr(), aMimeType.get_cstr(), cpmregid.get_size())==0
    && (aMimeType.get_cstr()[cpmregid.get_size()] ==’/’
    || aMimeType.get_cstr()[cpmregid.get_size()] ==’\0’)){
    switch (iClient->Register(aMimeType, (OsclComponentFactory)&aFactory)){
    case OsclErrNone:
        return PVMFSuccess;
    case OsclErrAlreadyExists:
        return PVMFErrAlreadyExists;
    case OsclErrNoMemory:
        return PVMFErrNoMemory;
    default:
        return PVMFFailure;
        }
    } else{
        return PVMFErrArgument;
        }
    }

在CPM中,內(nèi)容是無法直接接入的,必須通過相應(yīng)的接口來進行,如為了獲得數(shù)據(jù)流的內(nèi)容接入,必須獲得一個相應(yīng)的PVMIDataStreamSyncInterface接口。為了獲得內(nèi)容的描述符信息,必須獲得一個相應(yīng)的PVMFCPMPluginAccessUnitDecryptionInterface接口等。下圖顯示了內(nèi)容的接入過程。

CPM內(nèi)容的接入過程
CPM內(nèi)容的接入過程

在OpenCORE中,給出了一個OMA DRM 1.0規(guī)格的CPM插件的參考實現(xiàn)。目錄為external\opencore\pvmi\content_policy_manager\plugins\oma1。

在目前的實現(xiàn)中,CPM支持的解析器節(jié)點包括PVMFAMRFFParserNode、PVMFAACFFParserNode、PVMFMP3FFParserNode、PVMFWAVFFParserNode、PVMFMP4 FFParserNode、PVMFDownloadManagerNode等。下圖顯示了CPM的主要類圖。

CPM主要類圖
CPM主要類圖

 更多相關(guān)文章

·Android 封裝式/嵌入式DRM對比
·Android DRM數(shù)字版權(quán)管理
·Android OpenCORE 概述
·OpenMAX IL 層接口的實現(xiàn)
·Android開發(fā)OpenMAX接口規(guī)范