summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Fang <quxiangfang@google.com>2019-11-07 19:33:33 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-11-07 19:33:33 +0000
commit1d10c6f32d32e37286d975a45c9e6703d47075eb (patch)
tree1f663d8cec53db43de937bbb04550722a56bb7a6
parent0b5ac42f5bd65fbe76fbc4b01dec7d8c5144ea7e (diff)
parent53fab6b4293d6aff40e75e18652b94d044d7e439 (diff)
downloadnative-1d10c6f32d32e37286d975a45c9e6703d47075eb.tar.gz
Merge "update cas plugin interface for cas@1.2"
-rw-r--r--headers/media_plugin/media/cas/CasAPI.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/headers/media_plugin/media/cas/CasAPI.h b/headers/media_plugin/media/cas/CasAPI.h
index c87ee5655e..8cc9d365a2 100644
--- a/headers/media_plugin/media/cas/CasAPI.h
+++ b/headers/media_plugin/media/cas/CasAPI.h
@@ -56,6 +56,11 @@ typedef void (*CasPluginCallbackExt)(
size_t size,
const CasSessionId *sessionId);
+typedef void (*CasPluginStatusCallback)(
+ void *appData,
+ int32_t event,
+ int32_t arg);
+
struct CasFactory {
CasFactory() {}
virtual ~CasFactory() {}
@@ -91,6 +96,10 @@ struct CasPlugin {
CasPlugin() {}
virtual ~CasPlugin() {}
+ // Provide a callback to report plugin status
+ virtual status_t setStatusCallback(
+ CasPluginStatusCallback callback) = 0;
+
// Provide the CA private data from a CA_descriptor in the conditional
// access table to a CasPlugin.
virtual status_t setPrivateData(
@@ -100,6 +109,11 @@ struct CasPlugin {
// streams.
virtual status_t openSession(CasSessionId *sessionId) = 0;
+ // Open a session with intend and mode for descrambling a program, or one
+ // or more elementary streams.
+ virtual status_t openSession(uint32_t intent, uint32_t mode,
+ CasSessionId *sessionId) = 0;
+
// Close a previously opened session.
virtual status_t closeSession(const CasSessionId &sessionId) = 0;