mirror of
https://github.com/mpv-player/mpv
synced 2025-01-30 11:42:04 +00:00
error handling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1559 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
970f3c2f47
commit
e366304055
@ -26,17 +26,28 @@
|
||||
#else
|
||||
// code for mplayer team
|
||||
|
||||
#define FATAL(a) // you don't need exception - if you want - just fill more code
|
||||
//#define FATAL(a) // you don't need exception - if you want - just fill more code
|
||||
#define FATAL(X...) FatalError(__MODULE__,__FILE__,__LINE__,X)
|
||||
#include <wine/mmreg.h>
|
||||
#include <wine/winreg.h>
|
||||
#include <wine/vfw.h>
|
||||
#include <com.h>
|
||||
#include <stdarg.h>
|
||||
#include <string>
|
||||
#include <stdio.h>
|
||||
|
||||
typedef unsigned int fourcc_t;
|
||||
|
||||
struct FatalError
|
||||
{
|
||||
FatalError();
|
||||
FatalError(const char* mod, const char* f, int l, const char* desc,...)
|
||||
{
|
||||
printf("FATAL: module: %s source: %s line %d ", mod, f, l);
|
||||
va_list va;
|
||||
va_start(va, desc);
|
||||
vprintf(desc, va);
|
||||
va_end(va);
|
||||
}
|
||||
void PrintAll() {}
|
||||
};
|
||||
|
||||
@ -277,10 +288,15 @@ struct IVideoDecoder
|
||||
|
||||
}
|
||||
virtual ~IVideoDecoder(){};
|
||||
virtual void StartInternal()=0;
|
||||
virtual void StopInternal()=0;
|
||||
// use this one
|
||||
int Decode(void* src, size_t size, int is_keyframe, CImage* pImage)
|
||||
{ return DecodeInternal(src, size, is_keyframe, pImage); }
|
||||
void Stop(){ StopInternal(); m_State = STOP;}
|
||||
void Start(){StartInternal(); m_State = START;}
|
||||
protected:
|
||||
virtual int DecodeInternal(void* src, size_t size, int is_keyframe, CImage* pImage) = 0;
|
||||
virtual void StartInternal()=0;
|
||||
virtual void StopInternal()=0;
|
||||
|
||||
const CodecInfo& record;
|
||||
DecodingMode m_Mode; // should we do precaching (or even change Quality on the fly)
|
||||
|
Loading…
Reference in New Issue
Block a user