blob: 316732bdc38a477be9503e674bc950a1b39e8355 [file] [log] [blame]
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -08001/*
2**
3** Copyright 2008, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9** http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
Glenn Kasten33df5292011-12-19 14:09:14 -080018#define LOG_TAG "mediaserver"
Glenn Kastenb4d30742012-03-13 14:46:23 -070019//#define LOG_NDEBUG 0
Glenn Kasten33df5292011-12-19 14:09:14 -080020
Neil Fuller9447c682019-03-11 19:35:25 +000021#include <aicu/AIcu.h>
Mathias Agopian75624082009-05-19 19:08:10 -070022#include <binder/IPCThreadState.h>
23#include <binder/ProcessState.h>
24#include <binder/IServiceManager.h>
Pawin Vongmasaa4c39652020-06-30 09:30:58 -070025#include <hidl/HidlTransportSupport.h>
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -080026#include <utils/Log.h>
Glenn Kastenfeb21792013-02-20 16:47:28 -080027#include "RegisterExtensions.h"
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -080028
Glenn Kastenb4d30742012-03-13 14:46:23 -070029// from LOCAL_C_INCLUDES
Glenn Kastenb4d30742012-03-13 14:46:23 -070030#include "MediaPlayerService.h"
Ronghua Wu67e7f542015-03-13 10:47:08 -070031#include "ResourceManagerService.h"
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -080032
33using namespace android;
34
Marco Nelissendcb346b2015-09-09 10:47:29 -070035int main(int argc __unused, char **argv __unused)
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -080036{
Glenn Kasten879d5032012-10-17 12:16:50 -070037 signal(SIGPIPE, SIG_IGN);
Marco Nelissendcb346b2015-09-09 10:47:29 -070038
39 sp<ProcessState> proc(ProcessState::self());
40 sp<IServiceManager> sm(defaultServiceManager());
41 ALOGI("ServiceManager: %p", sm.get());
Neil Fuller9447c682019-03-11 19:35:25 +000042 AIcu_initializeIcuOrDie();
Marco Nelissendcb346b2015-09-09 10:47:29 -070043 MediaPlayerService::instantiate();
Chong Zhangfdd512a2019-11-22 11:03:14 -080044 ResourceManagerService::instantiate();
Marco Nelissendcb346b2015-09-09 10:47:29 -070045 registerExtensions();
Pawin Vongmasaa4c39652020-06-30 09:30:58 -070046 ::android::hardware::configureRpcThreadpool(16, false);
Marco Nelissendcb346b2015-09-09 10:47:29 -070047 ProcessState::self()->startThreadPool();
48 IPCThreadState::self()->joinThreadPool();
Pawin Vongmasaa4c39652020-06-30 09:30:58 -070049 ::android::hardware::joinRpcThreadpool();
The Android Open Source Project89fa4ad2009-03-03 19:31:44 -080050}