X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=dfbapi.c;h=f1444e1fc0e01ff60c2e3980a9d544b316a5c1b5;hb=d333f09513d243b67eb0ab5d5272461184f1e5a8;hp=7de46c3440128d85509ecc071bcb5b73f162a037;hpb=38a94016ecd0208d5475d31a7df3b684b1891ba1;p=my-code%2Fivac.git diff --git a/dfbapi.c b/dfbapi.c index 7de46c3..f1444e1 100644 --- a/dfbapi.c +++ b/dfbapi.c @@ -8,10 +8,27 @@ #include #include "ivac.h" -// do -// int flip_blit_callback() -// int dfb_play_video() -// int dfb_stop_video() +int flip_blit_callback(void *ctx) { + struct ivac *ivac=ctx; + + ivac->dfb_stuff.v_surface->Flip(ivac->dfb_stuff.v_surface,NULL,0); + + return 1; +} + +int dfb_play_video(struct ivac *ivac) { + + ivac->dfb_stuff.v_provider->PlayTo(ivac->dfb_stuff.v_provider,ivac->dfb_stuff.v_surface,NULL,flip_blit_callback,(void *)ivac); + + return 1; +} + +int dfb_stop_video(struct ivac *ivac) { + + ivac->dfb_stuff.v_provider->Stop(ivac->dfb_stuff.v_provider); + + return 1; +} int dfb_init(int arg_c,char **arg_v,struct ivac *ivac) { DFBSurfaceDescription sdsc; @@ -41,7 +58,6 @@ int dfb_init(int arg_c,char **arg_v,struct ivac *ivac) { ivac->dfb_stuff.layer->CreateWindow(ivac->dfb_stuff.layer,&wdsc,&(ivac->dfb_stuff.v_window)); ivac->dfb_stuff.v_window->GetSurface(ivac->dfb_stuff.v_window,&(ivac->dfb_stuff.v_surface)); ivac->dfb_stuff.v_window->SetOpacity(ivac->dfb_stuff.v_window,0xff); - ivac->dfb_stuff.v_provider->PlayTo(ivac->dfb_stuff.v_provider,ivac->dfb_stuff.v_surface,NULL,NULL,NULL); return 1; } @@ -54,4 +70,3 @@ int dfb_tini(struct ivac *ivac) { return 1; } -