blob: c49473267abd87b1a31a56177e5dff06dc3ea881 [file] [log] [blame]
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -08001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#define LOG_TAG "cameraserver"
18//#define LOG_NDEBUG 0
19
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080020#include "CameraService.h"
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -070021#include <android/binder_process.h>
Eino-Ville Talvala65665362017-02-24 13:07:56 -080022#include <hidl/HidlTransportSupport.h>
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080023
24using namespace android;
25
26int main(int argc __unused, char** argv __unused)
27{
28 signal(SIGPIPE, SIG_IGN);
29
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -070030 // Set 5 threads for HIDL calls. Now cameraserver will serve HIDL calls.
Jayant Chowdharybe543d42018-08-15 13:16:14 -070031 hardware::configureRpcThreadpool(5, /*willjoin*/ false);
Eino-Ville Talvala65665362017-02-24 13:07:56 -080032
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -070033 // Set 5 threads for VNDK AIDL calls. Now cameraserver will serve
34 // VNDK AIDL calls in addition to consuming them from the Camera HAL as well.
35 ABinderProcess_setThreadPoolMaxThreadCount(5);
36
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080037 sp<ProcessState> proc(ProcessState::self());
38 sp<IServiceManager> sm = defaultServiceManager();
39 ALOGI("ServiceManager: %p", sm.get());
40 CameraService::instantiate();
Shuzhen Wang24b44152019-09-20 10:38:11 -070041 ALOGI("ServiceManager: %p done instantiate", sm.get());
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080042 ProcessState::self()->startThreadPool();
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -070043 ABinderProcess_startThreadPool();
44
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080045 IPCThreadState::self()->joinThreadPool();
Avichal Rakeshfcb78cb2022-10-27 15:45:54 -070046 ABinderProcess_joinThreadPool();
Chien-Yu Chen1f36e3b2015-12-03 16:42:53 -080047}