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" 30a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 31a69729dc76b97c44387088d351480d5d0701517eJeff Tinkerusing namespace android; 32a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 33c903684e9a8af5450bab61b0883fc81c5a466844Aurimas Liutikasint main() 34a69729dc76b97c44387088d351480d5d0701517eJeff Tinker{ 35a69729dc76b97c44387088d351480d5d0701517eJeff Tinker signal(SIGPIPE, SIG_IGN); 36a69729dc76b97c44387088d351480d5d0701517eJeff Tinker 37a69729dc76b97c44387088d351480d5d0701517eJeff Tinker sp<ProcessState> proc(ProcessState::self()); 38a69729dc76b97c44387088d351480d5d0701517eJeff Tinker sp<IServiceManager> sm = defaultServiceManager(); 39a69729dc76b97c44387088d351480d5d0701517eJeff Tinker ALOGI("ServiceManager: %p", sm.get()); 40a69729dc76b97c44387088d351480d5d0701517eJeff Tinker MediaDrmService::instantiate(); 41a69729dc76b97c44387088d351480d5d0701517eJeff Tinker ProcessState::self()->startThreadPool(); 42a69729dc76b97c44387088d351480d5d0701517eJeff Tinker IPCThreadState::self()->joinThreadPool(); 43a69729dc76b97c44387088d351480d5d0701517eJeff Tinker} 44