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);
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;
}