mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 00:42:57 +00:00
Fix QuickTime emulated OSErr type.
The OSErr type on Mac OS X is int16_t, not int32_t (see http://developer.apple.com/mac/library/documentation/QuickTime/Reference/QTRef_DataTypes/Reference/reference.html). The upper 16 bits will typically be something random (they're entirely undefined). Change the type so it's right; a few places tried to compensate for this by masking out the upper bits, but a few places also missed them, which made for unpredictable behavior. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30854 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
b951d42e4e
commit
a8804d4d71
@ -90,7 +90,7 @@ static OSErr (*QTNewGWorldFromPtr)(GWorldPtr *gw,
|
||||
GWorldFlags flags,
|
||||
void *baseAddr,
|
||||
long rowBytes);
|
||||
static OSErr (*NewHandleClear)(Size byteCount);
|
||||
static Handle (*NewHandleClear)(Size byteCount);
|
||||
#endif /* #ifndef CONFIG_QUICKTIME */
|
||||
|
||||
// to set/get/query special features/parameters
|
||||
@ -103,7 +103,7 @@ static int codec_initialized=0;
|
||||
// init driver
|
||||
static int init(sh_video_t *sh){
|
||||
#ifndef CONFIG_QUICKTIME
|
||||
long result = 1;
|
||||
OSErr result = 1;
|
||||
#endif
|
||||
ComponentResult cres;
|
||||
ComponentDescription desc;
|
||||
@ -156,7 +156,7 @@ static int init(sh_video_t *sh){
|
||||
|
||||
result=InitializeQTML(6+16);
|
||||
// result=InitializeQTML(0);
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"InitializeQTML returned %li\n",result);
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"InitializeQTML returned %d\n",result);
|
||||
// result=EnterMovies();
|
||||
// printf("EnterMovies->%d\n",result);
|
||||
#endif /* CONFIG_QUICKTIME */
|
||||
@ -305,7 +305,7 @@ static void uninit(sh_video_t *sh){
|
||||
|
||||
// decode a frame
|
||||
static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
|
||||
long result = 1;
|
||||
OSErr result = 1;
|
||||
int i;
|
||||
mp_image_t* mpi;
|
||||
ComponentResult cres;
|
||||
@ -335,7 +335,7 @@ if(!codec_initialized){
|
||||
0,
|
||||
mpi->planes[0],
|
||||
mpi->stride[0]);
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"NewGWorldFromPtr returned:%ld\n",65536-(result&0xffff));
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"NewGWorldFromPtr returned:%d\n",result);
|
||||
// if (65536-(result&0xFFFF) != 10000)
|
||||
// return NULL;
|
||||
|
||||
@ -406,7 +406,7 @@ if(!codec_initialized){
|
||||
|
||||
++decpar.frameNumber;
|
||||
|
||||
if(cres&0xFFFF){
|
||||
if(cres) {
|
||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"ImageCodecBandDecompress cres=0x%X (-0x%X) %d\n",cres,-cres,cres);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ static OSErr (*QTNewGWorldFromPtr)(GWorldPtr *gw,
|
||||
GWorldFlags flags,
|
||||
void *baseAddr,
|
||||
long rowBytes);
|
||||
static OSErr (*NewHandleClear)(Size byteCount);
|
||||
static Handle (*NewHandleClear)(Size byteCount);
|
||||
static OSErr (*CompressSequenceBegin) (
|
||||
ImageSequence *seqID,
|
||||
PixMapHandle src,
|
||||
|
@ -12,7 +12,7 @@ typedef unsigned char Boolean;
|
||||
typedef unsigned char Str31[32];
|
||||
typedef int32_t Fixed;
|
||||
|
||||
typedef int32_t OSErr;
|
||||
typedef int16_t OSErr;
|
||||
typedef int OSType;
|
||||
|
||||
typedef int32_t ComponentResult;
|
||||
|
Loading…
Reference in New Issue
Block a user