int decodeloop(struct avdata *av, struct nd_image *img) { struct xdata guidata; struct decodedata ddata; struct playbackstate pbs; AVRational tmpr; tmpr = av->s->streams[av->vstreamid]->avg_frame_rate; /////////////////////////////////////////////////////////////////////////////// if (pbstateinit(&pbs, (double) tmpr.num / tmpr.den) < 0) return 1; /////////////////////////////////////////////////////////////////////////////// initgui(&guidata, drawimg->w, drawimg->h); ddata.av = av; ddata.img = img; ddata.pbs = &pbs; ddata.drawimg = drawimg; ddata.guidata = &guidata; guidata.defaultcallback = decode; guidata.drawcallback = draw; guidata.keypresscallback = NULL; guidata.motioncallback = NULL; guidata.buttonpresscallback = NULL; guidata.buttonreleasecallback = NULL; mainloop(&guidata, &ddata); fprintf(stderr, "Unexpexted loop quit\n"); return (-1); }
int main(int argc, char *argv[]) { if (!loaddata()) exit(1); if (!readconfig()) exit(1); buildnodelist(); EZ_Initialize(argc,argv,0); initgui(); EZ_EventMainLoop(); return 0; }
int main(int argc, char **argv) { initchip(); initgui(); if(!strcmp("--audio", argv[1])) { loadfile(argv[2]); char *pcmname = (argc > 2) ? argv[3] : "audio" ; FILE *f = fopen(pcmname, "w"); startplaysong(0); while(playsong) { u8 res = interrupthandler(); fwrite(&res, 1, 1, f); } fclose(f); } else { if(argc != 2) { err(1, "usage: %s <filename>\n", argv[0]); } SDL_AudioSpec requested, obtained; SDL_Init(SDL_INIT_AUDIO); atexit(SDL_Quit); requested.freq = 16000; requested.format = AUDIO_U8; requested.samples = 256; requested.callback = audiocb; requested.channels = 1; if(SDL_OpenAudio(&requested, &obtained) == -1) { err(1, "SDL_OpenAudio"); } fprintf(stderr, "freq %d\n", obtained.freq); fprintf(stderr, "samples %d\n", obtained.samples); loadfile(argv[1]); SDL_PauseAudio(0); guiloop(); } return 0; }