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