static int shutdown_avi2swf = 0;
static int verbose = 0;
-static int flip = 0;
typedef struct _videoreader_avifile_internal
{
int do_audio;
int do_video;
int eof;
+ int flip;
int frame;
int soundbits;
ringbuffer_t audio_buffer;
for(y=0;y<v->height;y++) {
unsigned char*from,*to;
to = &((unsigned char*)buffer)[y*v->width*4];
- if(flip)
+ if(i->flip)
from = img->At(v->height-y-1);
else
from = img->At(y);
}
static void videoreader_avifile_setparameter(videoreader_t*v, char*name, char*value)
{
+ videoreader_avifile_internal*i = (videoreader_avifile_internal*)v->internal;
+ if(!strcmp(name, "verbose")) {
+ verbose = atoi(value);
+ }
+ if(!strcmp(name, "flip")) {
+ i->flip = atoi(value);
+ }
if(verbose) {
printf("videoreader_setparameter(%s, %s)\n", name, value);fflush(stdout);
}
v->height = head.dwHeight;
dwMicroSecPerFrame = head.dwMicroSecPerFrame;
samplesperframe = astream->GetEndPos()/astream->GetEndTime()*head.dwMicroSecPerFrame/1000000;
- v->rate = (int)(astream->GetEndPos()/astream->GetEndTime());
+ v->samplerate = (int)(astream->GetEndPos()/astream->GetEndTime());
v->fps = 1000000.0/dwMicroSecPerFrame;
i->soundbits = 16;
#else
audioinfo = i->astream->GetStreamInfo();
v->channels = wave.nChannels;
- v->rate = wave.nSamplesPerSec;
+ v->samplerate = wave.nSamplesPerSec;
i->soundbits = wave.wBitsPerSample;
- if(v->channels==0 || v->rate==0 || i->soundbits==0 || wave.wFormatTag!=1) {
- v->rate = audioinfo->GetAudioSamplesPerSec();
+ if(v->channels==0 || v->samplerate==0 || i->soundbits==0 || wave.wFormatTag!=1) {
+ v->samplerate = audioinfo->GetAudioSamplesPerSec();
v->channels = audioinfo->GetAudioChannels();
i->soundbits = audioinfo->GetAudioBitsPerSample();
}
i->do_audio = 0;
i->soundbits = 0;
v->channels = 0;
- v->rate = 0;
+ v->samplerate = 0;
}
}
#endif