[Mplayer-cvslog] CVS: main/loader/DirectShow libwin32.h,1.2,1.3
Arpi of Ize
arpi at mplayer.dev.hu
Thu Aug 16 20:27:05 CEST 2001
Update of /cvsroot/mplayer/main/loader/DirectShow
In directory mplayer:/var/tmp.root/cvs-serv1751
Modified Files:
libwin32.h
Log Message:
error handling
Index: libwin32.h
===================================================================
RCS file: /cvsroot/mplayer/main/loader/DirectShow/libwin32.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- libwin32.h 16 Aug 2001 15:41:03 -0000 1.2
+++ libwin32.h 16 Aug 2001 18:27:03 -0000 1.3
@@ -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 @@
}
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)
More information about the MPlayer-cvslog
mailing list