X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=ivac.c;h=05ea6f6cf78756482323a8e963c595d5cf645550;hb=7d2e0c946446baafb21df665dbaa2b58bbd682fd;hp=d4e1581c7f6cfe38a50ac972f3f2d25a82e81ca4;hpb=9150a149d453da8cffd8bc362d829cebb06ae3df;p=my-code%2Fivac.git diff --git a/ivac.c b/ivac.c index d4e1581..05ea6f6 100644 --- a/ivac.c +++ b/ivac.c @@ -22,27 +22,12 @@ int usage(void) { return 1; } -int video_callback(void *ctx) { - struct ivac *ivac; - IDirectFBSurface *surf; - DFBSurfaceDescription desc; - - ivac=ctx; - puts("debug: callback!"); - ivac->dfb_stuff.v_provider->GetSurfaceDescription(ivac->dfb_stuff.v_provider,&desc); - printf("debug: w: %d -- h: %d\n",desc.width,desc.height); - ivac->dfb_stuff.dfb->CreateSurface(ivac->dfb_stuff.dfb,&desc,&surf); - ivac->dfb_stuff.p_surface->Blit(ivac->dfb_stuff.p_surface,surf,NULL,0,0); - ivac->dfb_stuff.p_surface->Flip(ivac->dfb_stuff.p_surface,NULL,DSFLIP_WAITFORSYNC); - ivac->dfb_stuff.count+=1; - if(ivac->dfb_stuff.count==5000) - ivac->dfb_stuff.v_provider->Stop(ivac->dfb_stuff.v_provider); - return DFENUM_OK; -} - int main(int argc, char **argv) { int i; struct ivac ivac; + DFBInputDeviceKeyState quit; + + quit=DIKS_UP; /* default */ strcpy(ivac.video_dev,VIDEO_DEV); @@ -75,19 +60,15 @@ int main(int argc, char **argv) { return -1; } - puts("debug: dfb init done!!"); - - ivac.dfb_stuff.count=0; - ivac.dfb_stuff.rect.x=5; - ivac.dfb_stuff.rect.y=5; - ivac.dfb_stuff.rect.w=500; - ivac.dfb_stuff.rect.h=400; - ivac.dfb_stuff.v_provider->PlayTo(ivac.dfb_stuff.v_provider,ivac.dfb_stuff.p_surface,&(ivac.dfb_stuff.rect),video_callback,(void *)&ivac); + if(dfb_play_video(&ivac)<0) { + puts("dfb play video failed"); + return -1; + }; - sleep(2); + puts("pess button ..."); + getchar(); dfb_tini(&ivac); - puts("debug: dfb tini done!!"); return 1; }