[Vm-dev] [commit][3175] Fix 64-bit issues in the SoundCodec plugin.
commits at squeakvm.org
commits at squeakvm.org
Thu Dec 11 01:45:15 UTC 2014
Revision: 3175
Author: eliot
Date: 2014-12-10 17:45:10 -0800 (Wed, 10 Dec 2014)
Log Message:
-----------
Fix 64-bit issues in the SoundCodec plugin.
Modified Paths:
--------------
trunk/platforms/Cross/plugins/SoundCodecPrims/SoundCodecPrims.h
trunk/platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c
Property Changed:
----------------
trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
Modified: trunk/platforms/Cross/plugins/SoundCodecPrims/SoundCodecPrims.h
===================================================================
--- trunk/platforms/Cross/plugins/SoundCodecPrims/SoundCodecPrims.h 2014-12-11 00:45:48 UTC (rev 3174)
+++ trunk/platforms/Cross/plugins/SoundCodecPrims/SoundCodecPrims.h 2014-12-11 01:45:10 UTC (rev 3175)
@@ -1,17 +1,17 @@
/* SoundCodec Plugin */
/* prototypes */
void gsmEncode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta);
+ long state, long frameCount,
+ long src, long srcIndex, long srcSize,
+ long dst, long dstIndex, long dstSize,
+ long *srcDelta, long *dstDelta);
void gsmDecode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta);
+ long state, long frameCount,
+ long src, long srcIndex, long srcSize,
+ long dst, long dstIndex, long dstSize,
+ long *srcDelta, long *dstDelta);
-void gsmInitState(int state);
+void gsmInitState(long state);
-int gsmStateBytes(void);
+long gsmStateBytes(void);
Modified: trunk/platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c
===================================================================
--- trunk/platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c 2014-12-11 00:45:48 UTC (rev 3174)
+++ trunk/platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c 2014-12-11 01:45:10 UTC (rev 3175)
@@ -13,6 +13,8 @@
#include <stdio.h>
#include <string.h>
+#include "SoundCodecPrims.h"
+
/****** begin "gsm.h" *****/
#ifdef __cplusplus
@@ -130,11 +132,16 @@
/****** begin "private.h" *****/
typedef short word; /* 16 bit signed int */
-typedef long longword; /* 32 bit signed int */
-
typedef unsigned short uword; /* unsigned word */
-typedef unsigned long ulongword; /* unsigned longword */
+#if _LP64
+typedef int longword; /* 32 bit signed int */
+typedef unsigned int ulongword; /* unsigned longword */
+#else
+typedef long longword; /* 32 bit signed int */
+typedef unsigned long ulongword; /* unsigned longword */
+#endif
+
struct gsm_state {
word dp0[ 280 ];
@@ -3842,31 +3849,14 @@
/***** Squeak Interface Code Starts Here *****/
-/* prototypes */
-void gsmEncode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta);
-
-void gsmDecode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta);
-
-void gsmInitState(int state);
-
-int gsmStateBytes(void);
-
/* glue functions */
void gsmEncode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta) {
- int maxSrcFrames, maxDstFrames, srcPtr, dstPtr, i;
+ long state, long frameCount,
+ long src, long srcIndex, long srcSize,
+ long dst, long dstIndex, long dstSize,
+ long *srcDelta, long *dstDelta) {
+ long maxSrcFrames, maxDstFrames, srcPtr, dstPtr, i;
maxSrcFrames = (srcSize + 1 - srcIndex) / 160;
maxDstFrames = (dstSize + 1 - dstIndex) / 33;
@@ -3885,11 +3875,11 @@
}
void gsmDecode(
- int state, int frameCount,
- int src, int srcIndex, int srcSize,
- int dst, int dstIndex, int dstSize,
- int *srcDelta, int *dstDelta) {
- int maxSrcFrames, maxDstFrames, srcPtr, dstPtr, i;
+ long state, long frameCount,
+ long src, long srcIndex, long srcSize,
+ long dst, long dstIndex, long dstSize,
+ long *srcDelta, long *dstDelta) {
+ long maxSrcFrames, maxDstFrames, srcPtr, dstPtr, i;
maxSrcFrames = (srcSize + 1 - srcIndex) / 33;
maxDstFrames = (dstSize + 1 - dstIndex) / 160;
@@ -3907,13 +3897,11 @@
*dstDelta = frameCount * 160;
}
-void gsmInitState(int state) {
+void gsmInitState(long state) {
/* Initialize the given GSM state record. */
memset((char *) state, 0, sizeof(struct gsm_state));
((gsm) state)->nrp = 40;
}
-int gsmStateBytes(void) {
/* Return the size of a GSM state record in bytes. */
- return sizeof(struct gsm_state);
-}
+long gsmStateBytes(void) { return sizeof(struct gsm_state); }
Property changes on: trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
___________________________________________________________________
Modified: checkindate
- Wed Dec 10 16:46:07 PST 2014
+ Wed Dec 10 17:45:29 PST 2014
More information about the Vm-dev
mailing list