(以下資料歡迎轉載,請著名出處)
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嵌入物件
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.
沒有留言:
張貼留言