Esempio n. 1
0
void
HybridAnalyzer::x3a_calculation_done (XAnalyzer *analyzer, X3aResultList &results)
{
    XCAM_UNUSED (analyzer);

    static XCam3aResultHead *res_heads[XCAM_3A_MAX_RESULT_COUNT];
    xcam_mem_clear (res_heads);
    XCAM_ASSERT (results.size () < XCAM_3A_MAX_RESULT_COUNT);

    uint32_t result_count = translate_3a_results_to_xcam (results,
                            res_heads, XCAM_3A_MAX_RESULT_COUNT);
    convert_results (res_heads, result_count, results);
    for (uint32_t i = 0; i < result_count; ++i) {
        if (res_heads[i])
            free_3a_result (res_heads[i]);
    }

    notify_calculation_done (results);
}
Esempio n. 2
0
File: poll.c Progetto: aissat/vde2
int vde_poll(struct pollfd *ufds, nfds_t nfds, int timeout)
{
	fd_set rfds, wfds, efds;
	struct timeval stimeout;
	struct timeval *pstimeout = &stimeout;
	int maxfdp1;
	int pretval, sretval, tretval;

	FD_ZERO(&rfds);
	FD_ZERO(&wfds);
	FD_ZERO(&efds);

	tretval = prepare_select(ufds, nfds, timeout, &pstimeout, &maxfdp1, &rfds, &wfds, &efds);
	if (!tretval)
		return -1;

	sretval = select(maxfdp1, &rfds, &wfds, &efds, pstimeout);
	if (sretval <= 0)
		return sretval;
	
	pretval = convert_results(ufds, nfds, &rfds, &wfds, &efds);

	return pretval;
}