X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=avi2swf%2Fvideoreader_avifile.cc;h=487404c6c0cafcb756be26acf72fbf2f26209e01;hb=4d6b4f31607ea8a468970062df2ab5fcc32bb6ff;hp=653412f013cbbd5ac88667414b5de6a8de64e352;hpb=27cad6e7823431d7ca07e92df74d063da5401f34;p=swftools.git diff --git a/avi2swf/videoreader_avifile.cc b/avi2swf/videoreader_avifile.cc index 653412f..487404c 100644 --- a/avi2swf/videoreader_avifile.cc +++ b/avi2swf/videoreader_avifile.cc @@ -23,6 +23,9 @@ #include #include #include "../config.h" +#include "videoreader.h" + +#ifdef HAVE_AVIFILE #undef HAVE_CONFIG_H @@ -59,7 +62,6 @@ #endif #include "../lib/q.h" -#include "videoreader.h" static int shutdown_avi2swf = 0; static int verbose = 0; @@ -210,6 +212,10 @@ static void videoreader_avifile_setparameter(videoreader_t*v, char*name, char*va 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)); @@ -252,7 +258,7 @@ int videoreader_avifile_open(videoreader_t* v, char* filename) if(!i->do_video && !i->do_audio) { printf("File has neither audio nor video streams.(?)\n"); - return 0; + return -1; } #ifndef VERSION6 @@ -269,7 +275,7 @@ int videoreader_avifile_open(videoreader_t* v, char* filename) 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 @@ -290,11 +296,11 @@ int videoreader_avifile_open(videoreader_t* v, char* filename) 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(); } @@ -308,7 +314,7 @@ int videoreader_avifile_open(videoreader_t* v, char* filename) i->do_audio = 0; i->soundbits = 0; v->channels = 0; - v->rate = 0; + v->samplerate = 0; } } #endif @@ -323,6 +329,14 @@ int videoreader_avifile_open(videoreader_t* v, char* filename) #endif } - return 1; + return 0; +} + +#else //HAVE_AVIFILE + +int videoreader_avifile_open(videoreader_t* v, char* filename) +{ + return -1; } +#endif //HAVE_AVIFILE