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#define LOG_TAG "mediaserver" 19a69729dc76b97c44387088d351480d5d0701517eJeff Tinker//#define LOG_NDEBUG 0 20a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 21a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <fcntl.h> 22a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <sys/prctl.h> 23a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <sys/wait.h> 24a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <binder/IPCThreadState.h> 25a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <binder/ProcessState.h> 26a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <binder/IServiceManager.h> 27a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <cutils/properties.h> 28a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include <utils/Log.h> 29a69729dc76b97c44387088d351480d5d0701517eJeff Tinker#include "MediaDrmService.h" 309dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9Chong Zhang#include "MediaCasService.h" 31a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 32a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerusing namespace android; 33a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 34c903684e9a8af5450bab61b0883fc81c5a466844Aurimas Liutikasint main() 35a69729dc76b97c44387088d351480d5d0701517eJeff Tinker{ 36a69729dc76b97c44387088d351480d5d0701517eJeff Tinker signal(SIGPIPE, SIG_IGN); 37a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 38a69729dc76b97c44387088d351480d5d0701517eJeff Tinker sp<ProcessState> proc(ProcessState::self()); 39a69729dc76b97c44387088d351480d5d0701517eJeff Tinker sp<IServiceManager> sm = defaultServiceManager(); 40a69729dc76b97c44387088d351480d5d0701517eJeff Tinker ALOGI("ServiceManager: %p", sm.get()); 41a69729dc76b97c44387088d351480d5d0701517eJeff Tinker MediaDrmService::instantiate(); 429dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9Chong Zhang MediaCasService::instantiate(); 43a69729dc76b97c44387088d351480d5d0701517eJeff Tinker ProcessState::self()->startThreadPool(); 44a69729dc76b97c44387088d351480d5d0701517eJeff Tinker IPCThreadState::self()->joinThreadPool(); 45a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} 46