Google Code Prettify

星期一, 11月 15, 2010

HbbTV - JaveScript API 取得 DSM-CC stream events (下)

(以下資料歡迎轉載,請著名出處)
HbbTV - JaveScript API 取得 DSM-CC stream events (上)
上一篇介紹HbbTV架構瀏覽器應用層,解析接收的DSM-CC事件的呈現是採用JavaScript的API[1],增加和移除串流事件聆聽者(event listener)與Carousel物件存取XMLHttpRequest這兩部分,本篇將介紹第三部份內容購買之延伸application/oipfDrmAgent嵌入物件的API。 
3.  延伸application/oipfDrmAgent嵌入物件
介紹支援application/oipfDrmAgent嵌入物件類別,包含性質(properties)、方法和事件。 
                                表 1. 內容購買的操作程序


function onContentPurchaseMessageReceived(Integer messageNb, String messageBytes, String DRMSystemID)


描述
function被有效的SAS_async_msg()呼叫,透過開啟SAS資源接收APDU,或從CA系統指定DRMSystemID變數
Integer messageNbmessage_nb的值是從SAS_asyc_msg()APDU而來


String messageBytes
message_bytes字串內容域來自SAS_asyc_msg()APDU,編碼為16進位,EX0A10B81033(訊息長度 = 5 bytes)
String DRMSystemID包含URNDVB CASystemID原本的訊息,此字串的字首為10進位的CA_System_ID (urn:dvb:casystemid: )


function onContentPurchase(Integer cpEventID, String DRMSystemID)


function根據事件表單參照下表
整數:cpEventID 事件標示符號,有效值如下,


事件標示符號


描述


語意
0Session成功開啟sessionSAS資源指定CA系統成功開啟
1Session關閉sessionSAS資源指定CA系統關閉
2無用的CA systemCA系統不能用,也就是CAM已移除
3新的CA systemCA系統變可使用,也就是已插入CAM
 
字串 DRMSystemIDCA系統完成生成事件
(資料來源:ETSI)
表 2. 內容購買的訊息傳遞方法


function sendContentPurchaseMessage(Integer messageNb, String messageBytes, String DRMSystemID)


描述
傳送內容購買訊息(content purchasing message)格式的訊息給CA系統,回傳的編碼:


結果碼


描述


語意


0


成功
訊息成功通過到下層的軟體堆疊(underlying software stack)
備註:這不是指訊息成功傳遞


1
無效的CA系

CA系統指示終端不存在DRMSystemID


2
Session未準備好Session選擇CA系統未建立完成


3
Protocol沒有支援CA系統沒有支援內容購買訊息
length_field()message_length(參考CI+M.2.2[2])於終端自動生成的SAS_async_msg()


變數
(Argument)


messageNb
訊息號碼,其定義在CI+M.2.2[2],於SAS_saync_msg()映射到的message_nb


messageBytes
訊息bytes,其定義在CI+M.2.2[2],於SAS_saync_msg()映射到的message_byte()16進位編碼,EX0A10B81033(長度為5bytes)
DRMSystemIDURN指向CASystemID傳送訊息
(資料來源:ETSI)
表 3. 內部事件onContentPurchaseonContentPurchaseMessageReceived與相關DOM2事件與性質


內部事件

(intrinsic event)


相關的DOM2事件


DOM2事件性質(properties)


onContentPurchase


ContentPurchaseEvent
Bubbles: NO
Cancelable: NO
Context Info: cpEventID,
DRMSystemID


onContentPurchase
MessageReceived


ContentPurchase
MessageReceivedEvent
Bubbles: NO
Cancelable: NO
Context Info: messageNb,
messageBytes, DRMSystemID


注意
以上的DOM2事件可直接發送給目標事件,沒有bubble也沒有capture,應用程序不仰賴接收ContentPurchaseEvent事件於bubblingcapturing階段,addEventLister()方法被application/oipfDrmAgent物件呼叫,忽略第三參數addEventListener(就是useCapture)
                              (資料來源:ETSI)
參考文獻
1. ETSI TS 102 796 (V1.1.1) Hybrid Broadcast Broadband TV
2. CI Plus Forum, CI Plus Specification: "Content Security Extensions to the Common Interface", V1.2 (2009-04). NOTE: Available at http://www.ci-plus.com/data/ci_plus_specification_v1.2.pdf.

沒有留言: