}
bool MediaDrmBridge::CreateSession(uint32 session_id,
- const std::string& type,
+ const std::string& content_type,
const uint8* init_data,
int init_data_length) {
std::vector<uint8> pssh_data;
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jbyteArray> j_pssh_data =
base::android::ToJavaByteArray(env, &pssh_data[0], pssh_data.size());
- ScopedJavaLocalRef<jstring> j_mime = ConvertUTF8ToJavaString(env, type);
+ ScopedJavaLocalRef<jstring> j_mime =
+ ConvertUTF8ToJavaString(env, content_type);
Java_MediaDrmBridge_createSession(
env, j_media_drm_.obj(), session_id, j_pssh_data.obj(), j_mime.obj());
return true;
}
+void MediaDrmBridge::LoadSession(uint32 session_id,
+ const std::string& web_session_id) {
+ // MediaDrmBridge doesn't support loading sessions.
+ NOTREACHED();
+}
+
void MediaDrmBridge::UpdateSession(uint32 session_id,
const uint8* response,
int response_length) {
std::vector<uint8> message;
JavaByteArrayToByteVector(env, j_message, &message);
std::string destination_url = ConvertJavaStringToUTF8(env, j_destination_url);
+ GURL destination_gurl(destination_url);
+ if (!destination_gurl.is_valid() && !destination_gurl.is_empty()) {
+ DLOG(WARNING) << "SessionMessage destination_url is invalid : "
+ << destination_gurl.possibly_invalid_spec();
+ destination_gurl = GURL::EmptyGURL(); // Replace invalid destination_url.
+ }
+
manager_->OnSessionMessage(
- media_keys_id_, session_id, message, destination_url);
+ media_keys_id_, session_id, message, destination_gurl);
}
void MediaDrmBridge::OnSessionReady(JNIEnv* env,