aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-demo-hmi/ALS2016-demo/vod_0.1.bb
blob: 8e3cbf334a617538989e9b958df40204cffca570 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DESCRIPTION = "Video on demand"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
PR = "r0"

SRC_URI = "git://gerrit.automotivelinux.org/gerrit/staging/most-can-demo-bin;protocol=https"

S = "${WORKDIR}/git"
SRCREV = "cd6e46d117934139efdf5fac33fbeb59b66e45b6"

do_configure() {
        echo ""
}

do_compile() {
        echo ""
}

do_install() {
        install -m 0755 -d ${D}${bindir} ${D}${base_dir}/home/root ${D}${docdir}/video-on-demand
        install -m 0755 ${S}/NetworkManager ${D}${bindir}
        install -m 0755 ${S}/VideoOnDemand ${D}${bindir}
        install -m 0755 ${S}/vod-client ${D}${bindir}
	install -m 0644 ${S}/config-agl.xml ${D}${base_dir}/home/root
	install -m 0644 ${S}/i2c-slim-amplifier.script ${D}${base_dir}/home/root
	install -m 0644 ${S}/i2c-uda1388-v2.script ${D}${base_dir}/home/root
#        install -m 0644 ${WORKDIR}/README.txt ${D}${docdir}/video-on-demand
}
FILES_${PN} += "/home/root*"
class="p">{ .verb = "ping", .callback = ctrlapi_ping , .info = "ping test for API"}, { .verb = NULL} /* marker for end of the array */ }; STATIC int CtrlLoadStaticVerbs (afb_dynapi *apiHandle, AFB_ApiVerbs *verbs) { int errcount=0; for (int idx=0; verbs[idx].verb; idx++) { errcount+= afb_dynapi_add_verb(apiHandle, CtrlApiVerbs[idx].verb, CtrlApiVerbs[idx].info, CtrlApiVerbs[idx].callback, (void*)&CtrlApiVerbs[idx], CtrlApiVerbs[idx].auth, 0); } return errcount; }; // next generation dynamic API-V3 mode #include <signal.h> STATIC int CtrlLoadOneApi (void *cbdata, AFB_ApiT apiHandle) { CtlConfigT *ctrlConfig = (CtlConfigT*) cbdata; // save closure as api's data context afb_dynapi_set_userdata(apiHandle, ctrlConfig); // add static controls verbs int error = CtrlLoadStaticVerbs (apiHandle, CtrlApiVerbs); if (error) { AFB_ApiError(apiHandle, "CtrlLoadSection fail to Registry static V2 verbs"); goto OnErrorExit; } // load section for corresponding API error= CtlLoadSections(apiHandle, ctrlConfig, ctrlSections); // declare an event event manager for this API; afb_dynapi_on_event(apiHandle, CtrlDispatchApiEvent); // should not seal API as each mixer+stream create a new verb // afb_dynapi_seal(apiHandle); return error; OnErrorExit: return 1; } PUBLIC int afbBindingVdyn(afb_dynapi *apiHandle) { AFB_default = apiHandle; AFB_ApiNotice (apiHandle, "Controller in afbBindingVdyn"); const char *dirList= getenv("CONTROL_CONFIG_PATH"); if (!dirList) dirList=CONTROL_CONFIG_PATH; const char *configPath = CtlConfigSearch(apiHandle, dirList, "smixer"); if (!configPath) { AFB_ApiError(apiHandle, "CtlPreInit: No smixer-%s-* config found in %s ", GetBinderName(), dirList); goto OnErrorExit; } // load config file and create API CtlConfigT *ctrlConfig = CtlLoadMetaData (apiHandle, configPath); if (!ctrlConfig) { AFB_ApiError(apiHandle, "CtrlBindingDyn No valid control config file in:\n-- %s", configPath); goto OnErrorExit; } if (!ctrlConfig->api) { AFB_ApiError(apiHandle, "CtrlBindingDyn API Missing from metadata in:\n-- %s", configPath); goto OnErrorExit; } AFB_ApiNotice (apiHandle, "Controller API='%s' info='%s'", ctrlConfig->api, ctrlConfig->info); // create one API per config file (Pre-V3 return code ToBeChanged) int status = afb_dynapi_new_api(apiHandle, ctrlConfig->api, ctrlConfig->info, 1, CtrlLoadOneApi, ctrlConfig); // config exec should be done after api init in order to enable onload to use newly defined ctl API. if (!status) status = CtlConfigExec (apiHandle, ctrlConfig); return status; OnErrorExit: return -1; }