[MPlayer-cvslog] r30854 - in trunk: libmpcodecs/vd_qtvideo.c libmpcodecs/ve_qtvideo.c loader/qtx/qtxsdk/components.h
sesse
subversion at mplayerhq.hu
Sat Mar 6 12:12:32 CET 2010
Author: sesse
Date: Sat Mar 6 12:12:32 2010
New Revision: 30854
Log:
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.
Modified:
trunk/libmpcodecs/vd_qtvideo.c
trunk/libmpcodecs/ve_qtvideo.c
trunk/loader/qtx/qtxsdk/components.h
Modified: trunk/libmpcodecs/vd_qtvideo.c
==============================================================================
--- trunk/libmpcodecs/vd_qtvideo.c Sat Mar 6 11:13:37 2010 (r30853)
+++ trunk/libmpcodecs/vd_qtvideo.c Sat Mar 6 12:12:32 2010 (r30854)
@@ -90,7 +90,7 @@ static OSErr (*QTNewGWorldF
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;
}
Modified: trunk/libmpcodecs/ve_qtvideo.c
==============================================================================
--- trunk/libmpcodecs/ve_qtvideo.c Sat Mar 6 11:13:37 2010 (r30853)
+++ trunk/libmpcodecs/ve_qtvideo.c Sat Mar 6 12:12:32 2010 (r30854)
@@ -69,7 +69,7 @@ static OSErr (*QTNewGWorldFromPtr
GWorldFlags flags,
void *baseAddr,
long rowBytes);
-static OSErr (*NewHandleClear)(Size byteCount);
+static Handle (*NewHandleClear)(Size byteCount);
static OSErr (*CompressSequenceBegin) (
ImageSequence *seqID,
PixMapHandle src,
Modified: trunk/loader/qtx/qtxsdk/components.h
==============================================================================
--- trunk/loader/qtx/qtxsdk/components.h Sat Mar 6 11:13:37 2010 (r30853)
+++ trunk/loader/qtx/qtxsdk/components.h Sat Mar 6 12:12:32 2010 (r30854)
@@ -12,7 +12,7 @@ typedef unsigned char
typedef unsigned char Str31[32];
typedef int32_t Fixed;
-typedef int32_t OSErr;
+typedef int16_t OSErr;
typedef int OSType;
typedef int32_t ComponentResult;
More information about the MPlayer-cvslog
mailing list