1a69729dc76b97c44387088d351480d5d0701517eJeff Tinker/* 2a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** 3a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** Copyright 2008, The Android Open Source Project 4a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** 5a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** Licensed under the Apache License, Version 2.0 (the "License"); 6a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** you may not use this file except in compliance with the License. 7a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** You may obtain a copy of the License at 8a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** 9a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** http://www.apache.org/licenses/LICENSE-2.0 10a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** 11a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** Unless required by applicable law or agreed to in writing, software 12a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** distributed under the License is distributed on an "AS IS" BASIS, 13a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** See the License for the specific language governing permissions and 15a69729dc76b97c44387088d351480d5d0701517eJeff Tinker** limitations under the License. 16a69729dc76b97c44387088d351480d5d0701517eJeff Tinker*/ 17a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 18a69729dc76b97c44387088d351480d5d0701517eJeff Tinker// Proxy for media player implementations 19a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 20a69729dc76b97c44387088d351480d5d0701517eJeff Tinker//#define LOG_NDEBUG 0 21a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#define LOG_TAG "MediaDrmService" 22a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 23a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include "MediaDrmService.h" 243003807fcfa96c9cbfea18d643f47108aa116cd5Jeff Tinker#include <binder/IServiceManager.h> 25a53d6553fce1818bdf87833f93633c93ad1b5915Jeff Tinker#include <utils/Log.h> 26a53d6553fce1818bdf87833f93633c93ad1b5915Jeff Tinker 27f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#ifdef DISABLE_TREBLE_DRM 283003807fcfa96c9cbfea18d643f47108aa116cd5Jeff Tinker#include <media/Crypto.h> 293003807fcfa96c9cbfea18d643f47108aa116cd5Jeff Tinker#include <media/Drm.h> 30f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#else 31f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#include <media/CryptoHal.h> 32f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#include <media/DrmHal.h> 33a53d6553fce1818bdf87833f93633c93ad1b5915Jeff Tinker#endif 34a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 35a69729dc76b97c44387088d351480d5d0701517eJeff Tinkernamespace android { 36a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 37a69729dc76b97c44387088d351480d5d0701517eJeff Tinkervoid MediaDrmService::instantiate() { 38a69729dc76b97c44387088d351480d5d0701517eJeff Tinker defaultServiceManager()->addService( 39a69729dc76b97c44387088d351480d5d0701517eJeff Tinker String16("media.drm"), new MediaDrmService()); 40a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} 41a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 42a69729dc76b97c44387088d351480d5d0701517eJeff Tinkersp<ICrypto> MediaDrmService::makeCrypto() { 43f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#ifdef DISABLE_TREBLE_DRM 44a69729dc76b97c44387088d351480d5d0701517eJeff Tinker return new Crypto; 45f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#else 46f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker return new CryptoHal; 47a53d6553fce1818bdf87833f93633c93ad1b5915Jeff Tinker#endif 48a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} 49a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 50a69729dc76b97c44387088d351480d5d0701517eJeff Tinkersp<IDrm> MediaDrmService::makeDrm() { 51f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#ifdef DISABLE_TREBLE_DRM 52a69729dc76b97c44387088d351480d5d0701517eJeff Tinker return new Drm; 53f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker#else 54f3a591cc9d604133e2c5cae3d34322b52cd7575dJeff Tinker return new DrmHal; 55a53d6553fce1818bdf87833f93633c93ad1b5915Jeff Tinker#endif 56a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} 57a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 58a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} // namespace android 59