bool VideoOverlay::configure(hwc_context_t *ctx, hwc_layer_1_t *yuvLayer, hwc_layer_1_t *ccLayer) { bool ret = true; if (LIKELY(ctx->mOverlay)) { overlay::Overlay& ov = *(ctx->mOverlay); // Set overlay state ov.setState(sState); switch(sState) { case ovutils::OV_2D_VIDEO_ON_PANEL: ret &= configPrimVid(ctx, yuvLayer); break; case ovutils::OV_2D_VIDEO_ON_PANEL_TV: ret &= configExtVid(ctx, yuvLayer); ret &= configExtCC(ctx, ccLayer); ret &= configPrimVid(ctx, yuvLayer); break; case ovutils::OV_2D_VIDEO_ON_TV: ret &= configExtVid(ctx, yuvLayer); ret &= configExtCC(ctx, ccLayer); break; default: return false; } } else { //Ov null return false; } return ret; }
bool VideoOverlay::configure(hwc_context_t *ctx, int dpy, hwc_layer_1_t *yuvLayer) { bool ret = true; overlay::Overlay& ov = *(ctx->mOverlay[dpy]); switch(dpy) { case HWC_DISPLAY_PRIMARY: // Set overlay state ov.setState(sState[dpy]); switch(sState[dpy]) { case ovutils::OV_2D_VIDEO_ON_PANEL: ret &= configPrimVid(ctx, yuvLayer); break; default: return false; } break; case HWC_DISPLAY_EXTERNAL: ov.setState(sState[dpy]); switch(sState[dpy]) { case ovutils::OV_UI_VIDEO_TV: ret = configExtVid(ctx, yuvLayer); break; default: return false; } break; } return ret; }