[client] seperate frame setup and data events

This commit is contained in:
Geoffrey McRae
2020-10-12 19:43:29 +11:00
parent 7a49f75d95
commit 58ba76a27f
9 changed files with 171 additions and 136 deletions

View File

@@ -471,6 +471,18 @@ static int frameThread(void * unused)
formatValid = true;
formatVer = frame->formatVer;
DEBUG_INFO("Format: %s %ux%u %u %u",
FrameTypeStr[frame->type],
frame->width, frame->height,
frame->stride, frame->pitch);
if (!state.lgr->on_frame_format(state.lgrData, lgrFormat))
{
DEBUG_ERROR("renderer failed to configure format");
state.state = APP_STATE_SHUTDOWN;
break;
}
}
if (lgrFormat.width != state.srcSize.x || lgrFormat.height != state.srcSize.y)
@@ -485,9 +497,10 @@ static int frameThread(void * unused)
}
FrameBuffer * fb = (FrameBuffer *)(((uint8_t*)frame) + frame->offset);
if (!state.lgr->on_frame_event(state.lgrData, lgrFormat, fb))
if (!state.lgr->on_frame(state.lgrData, fb))
{
DEBUG_ERROR("renderer on frame event returned failure");
lgmpClientMessageDone(queue);
DEBUG_ERROR("renderer on frame returned failure");
state.state = APP_STATE_SHUTDOWN;
break;
}