來源:http://fungsiong.blogspot.tw/2010/11/hbbtv-javescript-api-dsm-cc-stream_15.html
(以下資料歡迎轉載,請著名出處)
HbbTV - JaveScript API 取得 DSM-CC stream events (上)
上一篇介紹HbbTV架構瀏覽器應用層,解析接收的DSM-CC事件的呈現是採用JavaScript的API[1],增加和移除串流事件聆聽者(event listener)與Carousel物件存取XMLHttpRequest這兩部分,本篇將介紹第三部份內容購買之延伸application/oipfDrmAgent嵌入物件的API。
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. 內容購買的操作程序
表 1. 內容購買的操作程序
function onContentPurchaseMessageReceived(Integer messageNb, String messageBytes, String DRMSystemID)
|
||||||||||||||||
描述
|
此function被有效的SAS_async_msg()呼叫,透過開啟SAS資源接收APDU,或從CA系統指定DRMSystemID變數 | |||||||||||||||
Integer messageNb | message_nb的值是從SAS_asyc_msg()的APDU而來 | |||||||||||||||
String messageBytes
|
message_bytes字串內容域來自SAS_asyc_msg()的APDU,編碼為16進位,EX:0A10B81033(訊息長度 = 5 bytes) | |||||||||||||||
String DRMSystemID | 包含URN的DVB CASystemID原本的訊息,此字串的字首為10進位的CA_System_ID (urn:dvb:casystemid: ) | |||||||||||||||
function onContentPurchase(Integer cpEventID, String DRMSystemID)
|
||||||||||||||||
此function根據事件表單參照下表
整數:cpEventID 事件標示符號,有效值如下,
|
||||||||||||||||
字串 DRMSystemID:CA系統完成生成事件 |
(資料來源:ETSI)
表 2. 內容購買的訊息傳遞方法
function sendContentPurchaseMessage(Integer messageNb, String messageBytes, String DRMSystemID)
|
|||||||||||||||||
描述
|
傳送內容購買訊息(content purchasing message)格式的訊息給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進位編碼,EX:0A10B81033(長度為5bytes) | ||||||||||||||||
DRMSystemID | URN指向CASystemID傳送訊息 |
(資料來源:ETSI)
表 3. 內部事件onContentPurchase和onContentPurchaseMessageReceived與相關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事件於bubbling或capturing階段,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.
全站熱搜
留言列表