#include <stdio.h>
#include <memory.h>
#include "../config.h"
+#include "videoreader.h"
+
+#ifdef HAVE_AVIFILE
#undef HAVE_CONFIG_H
#endif
#include "../lib/q.h"
-#include "videoreader.h"
static int shutdown_avi2swf = 0;
static int verbose = 0;
int videoreader_avifile_open(videoreader_t* v, char* filename)
{
+ if(!filename) {
+ /* codec query */
+ return 0;
+ }
videoreader_avifile_internal* i;
i = (videoreader_avifile_internal*)malloc(sizeof(videoreader_avifile_internal));
memset(i, 0, sizeof(videoreader_avifile_internal));
if(!i->do_video && !i->do_audio) {
printf("File has neither audio nor video streams.(?)\n");
- return 0;
+ return -1;
}
#ifndef VERSION6
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
#endif
}
- return 1;
+ return 0;
+}
+
+#else //HAVE_AVIFILE
+
+int videoreader_avifile_open(videoreader_t* v, char* filename)
+{
+ return -1;
}
+#endif //HAVE_AVIFILE