You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB

/*
* Copyright (c) Hisilicon Technologies Co., Ltd.. 2016-2019. All rights reserved.
* Description: bootvideo main and start bootvideo
*/
#include <sys/resource.h>
#include <utils/Log.h>
#include <cutils/klog.h>
#include <cutils/properties.h>
#include "BootvideoManager.h"
#undef LOG_TAG
#define LOG_TAG "BootVideo"
using namespace android;
int main(const int argc, const char **argv)
{
(void)argc;
(void)argv;
int count = 0;
const int waitPropCount = 100; // try to wait prop service 1 sec
const int waitPropDelay = 10000; // delay is 10ms
char bootop[PROPERTY_VALUE_MAX] = {0};
while (!property_get("service.bootop.type", bootop, nullptr)) {
// bootvideo starts at on init process, property may not load ready,
// try to wait a while...
count++;
if (count >= waitPropCount) {
break;
}
usleep(waitPropDelay);
}
ALOGD("Get bootop is %s", bootop);
if (strncmp(bootop, "bootvideo", strlen("bootvideo"))) {
ALOGD("property is not bootvideo");
return 0;
}
ALOGD("Bootvideo start to play!");
StartPlayBootvideo();
ALOGD("Bootvideo finished!");
return 0;
}