SurfaceFlingerBackend * SurfaceFlingerBackend::create() { struct SfClient* sf_client = sf_client_create(); SF_PLUGIN_ASSERT_NOT_NULL(sf_client); return new SurfaceFlingerBackend(sf_client); }
struct ClientWithSurface client_with_surface(bool setup_surface_with_egl) { struct ClientWithSurface cs; cs.client = sf_client_create(); if (!cs.client) { printf("Problem creating client ... aborting now."); return cs; } static const size_t primary_display = 0; DestWidth = sf_get_display_width(primary_display); DestHeight = sf_get_display_height(primary_display); printf("Primary display width: %f, height: %f\n", DestWidth, DestHeight); SfSurfaceCreationParameters params = { 0, 0, DestWidth, DestHeight, -1, //PIXEL_FORMAT_RGBA_8888, 15000, 0.5f, setup_surface_with_egl, // Do not associate surface with egl, will be done by camera HAL "MediaCompatLayerTestSurface" }; cs.surface = sf_surface_create(cs.client, ¶ms); if (!cs.surface) { printf("Problem creating surface ... aborting now."); return cs; } sf_surface_make_current(cs.surface); return cs; }