include/SDL_config_macosx.h
author Sam Lantinga <slouken@libsdl.org>
Tue, 25 Sep 2018 20:08:51 -0700
changeset 12224 0582b4e1fa9f
parent 12131 9601849b3079
child 12503 806492103856
permissions -rw-r--r--
Fixed bug 4268 - Android_JNI_OpenAudioDevice function has error

alittle

where iscapture == 1

1.param set error

(*env)->CallStaticIntMethod(env, mAudioManagerClass, midCaptureOpen, sampleRate, audioBuffer16Bit, audioBufferStereo, desiredBufferFrames)

param:audioBuffer16Bit need change to captureBuffer16Bit

2.logic error

if (is16Bit) {
// ALITTLE Modify the source code
if (iscapture) {
audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)captureBuffer);
} else {
audioBufferPinned = (*env)->GetShortArrayElements(env, (jshortArray)audioBuffer, &isCopy);
audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)audioBuffer);
}
// if (!iscapture) {
// audioBufferPinned = (*env)->GetShortArrayElements(env, (jshortArray)audioBuffer, &isCopy);
// }
// audioBufferFrames = (*env)->GetArrayLength(env, (jshortArray)audioBuffer);
} else {
// ALITTLE Modify the source code
if (iscapture) {
audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)captureBuffer);
} else {
audioBufferPinned = (*env)->GetByteArrayElements(env, (jbyteArray)audioBuffer, &isCopy);
audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)audioBuffer);
}
// if (!iscapture) {
// audioBufferPinned = (*env)->GetByteArrayElements(env, (jbyteArray)audioBuffer, &isCopy);
// }
// audioBufferFrames = (*env)->GetArrayLength(env, (jbyteArray)audioBuffer);
}
slouken@1422
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@11811
     3
  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
slouken@1422
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@1422
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@1422
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@1422
    20
*/
slouken@1422
    21
slouken@10638
    22
#ifndef SDL_config_macosx_h_
slouken@10638
    23
#define SDL_config_macosx_h_
slouken@10903
    24
#define SDL_config_h_
slouken@1608
    25
slouken@1608
    26
#include "SDL_platform.h"
slouken@1422
    27
icculus@2098
    28
/* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
icculus@2098
    29
#include <AvailabilityMacros.h>
icculus@2098
    30
slouken@1422
    31
/* This is a set of defines to configure the SDL features */
slouken@1422
    32
slouken@3400
    33
#ifdef __LP64__
slouken@7191
    34
    #define SIZEOF_VOIDP 8
slouken@3400
    35
#else
slouken@7191
    36
    #define SIZEOF_VOIDP 4
slouken@3400
    37
#endif
slouken@3400
    38
slouken@1422
    39
/* Useful headers */
slouken@11480
    40
#define STDC_HEADERS    1
slouken@7191
    41
#define HAVE_ALLOCA_H       1
slouken@11480
    42
#define HAVE_CTYPE_H    1
slouken@11480
    43
#define HAVE_FLOAT_H    1
slouken@11480
    44
#define HAVE_INTTYPES_H 1
slouken@11480
    45
#define HAVE_LIMITS_H   1
slouken@11480
    46
#define HAVE_MATH_H 1
slouken@11480
    47
#define HAVE_SIGNAL_H   1
slouken@11480
    48
#define HAVE_STDINT_H   1
slouken@11480
    49
#define HAVE_STDIO_H    1
slouken@11480
    50
#define HAVE_STRING_H   1
slouken@7191
    51
#define HAVE_SYS_TYPES_H    1
slouken@11610
    52
#define HAVE_LIBUNWIND_H    1
slouken@1422
    53
slouken@1422
    54
/* C library functions */
slouken@7191
    55
#define HAVE_MALLOC 1
slouken@7191
    56
#define HAVE_CALLOC 1
slouken@7191
    57
#define HAVE_REALLOC    1
slouken@7191
    58
#define HAVE_FREE   1
slouken@7191
    59
#define HAVE_ALLOCA 1
slouken@7191
    60
#define HAVE_GETENV 1
slouken@7191
    61
#define HAVE_SETENV 1
slouken@7191
    62
#define HAVE_PUTENV 1
slouken@7191
    63
#define HAVE_UNSETENV   1
slouken@7191
    64
#define HAVE_QSORT  1
slouken@7191
    65
#define HAVE_ABS    1
slouken@7191
    66
#define HAVE_BCOPY  1
slouken@7191
    67
#define HAVE_MEMSET 1
slouken@7191
    68
#define HAVE_MEMCPY 1
slouken@7191
    69
#define HAVE_MEMMOVE    1
slouken@7191
    70
#define HAVE_MEMCMP 1
slouken@7191
    71
#define HAVE_STRLEN 1
slouken@7191
    72
#define HAVE_STRLCPY    1
slouken@7191
    73
#define HAVE_STRLCAT    1
slouken@7191
    74
#define HAVE_STRCHR 1
slouken@7191
    75
#define HAVE_STRRCHR    1
slouken@7191
    76
#define HAVE_STRSTR 1
slouken@7191
    77
#define HAVE_STRTOL 1
slouken@7191
    78
#define HAVE_STRTOUL    1
slouken@7191
    79
#define HAVE_STRTOLL    1
slouken@7191
    80
#define HAVE_STRTOULL   1
slouken@7191
    81
#define HAVE_STRTOD 1
slouken@7191
    82
#define HAVE_ATOI   1
slouken@7191
    83
#define HAVE_ATOF   1
slouken@7191
    84
#define HAVE_STRCMP 1
slouken@7191
    85
#define HAVE_STRNCMP    1
slouken@7191
    86
#define HAVE_STRCASECMP 1
slouken@1517
    87
#define HAVE_STRNCASECMP 1
icculus@8089
    88
#define HAVE_VSSCANF 1
slouken@7191
    89
#define HAVE_VSNPRINTF  1
slouken@11684
    90
#define HAVE_M_PI   1
slouken@11684
    91
#define HAVE_ACOS   1
slouken@11684
    92
#define HAVE_ACOSF  1
slouken@11684
    93
#define HAVE_ASIN   1
slouken@11684
    94
#define HAVE_ASINF  1
slouken@11684
    95
#define HAVE_ATAN   1
slouken@11684
    96
#define HAVE_ATANF  1
slouken@11684
    97
#define HAVE_ATAN2  1
slouken@11684
    98
#define HAVE_ATAN2F 1
slouken@7191
    99
#define HAVE_CEIL   1
slouken@11684
   100
#define HAVE_CEILF  1
slouken@7191
   101
#define HAVE_COPYSIGN   1
slouken@11684
   102
#define HAVE_COPYSIGNF  1
slouken@7191
   103
#define HAVE_COS    1
slouken@7191
   104
#define HAVE_COSF   1
flibitijibibo@12072
   105
#define HAVE_EXP    1
flibitijibibo@12072
   106
#define HAVE_EXPF   1
slouken@7191
   107
#define HAVE_FABS   1
slouken@11684
   108
#define HAVE_FABSF  1
slouken@7191
   109
#define HAVE_FLOOR  1
slouken@11684
   110
#define HAVE_FLOORF 1
slouken@11684
   111
#define HAVE_FMOD   1
slouken@11684
   112
#define HAVE_FMODF  1
slouken@7191
   113
#define HAVE_LOG    1
slouken@11684
   114
#define HAVE_LOGF   1
flibitijibibo@11852
   115
#define HAVE_LOG10  1
flibitijibibo@11852
   116
#define HAVE_LOG10F 1
slouken@7191
   117
#define HAVE_POW    1
slouken@11684
   118
#define HAVE_POWF   1
slouken@7191
   119
#define HAVE_SCALBN 1
slouken@11684
   120
#define HAVE_SCALBNF    1
slouken@7191
   121
#define HAVE_SIN    1
slouken@7191
   122
#define HAVE_SINF   1
slouken@7191
   123
#define HAVE_SQRT   1
slouken@8840
   124
#define HAVE_SQRTF  1
slouken@8840
   125
#define HAVE_TAN    1
slouken@8840
   126
#define HAVE_TANF   1
slouken@7191
   127
#define HAVE_SIGACTION  1
slouken@7191
   128
#define HAVE_SETJMP 1
slouken@7191
   129
#define HAVE_NANOSLEEP  1
slouken@7191
   130
#define HAVE_SYSCONF    1
slouken@3579
   131
#define HAVE_SYSCTLBYNAME 1
slouken@1422
   132
slouken@1422
   133
/* Enable various audio drivers */
slouken@7191
   134
#define SDL_AUDIO_DRIVER_COREAUDIO  1
slouken@7191
   135
#define SDL_AUDIO_DRIVER_DISK   1
slouken@7191
   136
#define SDL_AUDIO_DRIVER_DUMMY  1
slouken@1422
   137
slouken@1422
   138
/* Enable various input drivers */
slouken@7191
   139
#define SDL_JOYSTICK_IOKIT  1
slouken@12099
   140
#define SDL_JOYSTICK_HIDAPI  1
slouken@7191
   141
#define SDL_HAPTIC_IOKIT    1
slouken@1422
   142
slouken@12131
   143
/* Enable the dummy sensor driver */
slouken@12131
   144
#define SDL_SENSOR_DUMMY  1
slouken@12131
   145
slouken@1422
   146
/* Enable various shared object loading systems */
slouken@7191
   147
#define SDL_LOADSO_DLOPEN   1
slouken@1422
   148
slouken@1422
   149
/* Enable various threading systems */
slouken@7191
   150
#define SDL_THREAD_PTHREAD  1
slouken@7191
   151
#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX  1
slouken@1422
   152
slouken@1422
   153
/* Enable various timer systems */
slouken@7191
   154
#define SDL_TIMER_UNIX  1
slouken@1422
   155
slouken@1422
   156
/* Enable various video drivers */
slouken@7191
   157
#define SDL_VIDEO_DRIVER_COCOA  1
slouken@7191
   158
#define SDL_VIDEO_DRIVER_DUMMY  1
slouken@6840
   159
#undef SDL_VIDEO_DRIVER_X11
slouken@3289
   160
#define SDL_VIDEO_DRIVER_X11_DYNAMIC "/usr/X11R6/lib/libX11.6.dylib"
slouken@3289
   161
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/usr/X11R6/lib/libXext.6.dylib"
slouken@5408
   162
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA "/usr/X11R6/lib/libXinerama.1.dylib"
slouken@6311
   163
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "/usr/X11R6/lib/libXi.6.dylib"
slouken@3289
   164
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/usr/X11R6/lib/libXrandr.2.dylib"
slouken@5408
   165
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/usr/X11R6/lib/libXss.1.dylib"
slouken@5408
   166
#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE "/usr/X11R6/lib/libXxf86vm.1.dylib"
icculus@9657
   167
#define SDL_VIDEO_DRIVER_X11_XDBE 1
slouken@3289
   168
#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
slouken@3289
   169
#define SDL_VIDEO_DRIVER_X11_XRANDR 1
slouken@5408
   170
#define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1
icculus@4793
   171
#define SDL_VIDEO_DRIVER_X11_XSHAPE 1
slouken@5408
   172
#define SDL_VIDEO_DRIVER_X11_XVIDMODE 1
dimitris@6318
   173
#define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1
slouken@1422
   174
icculus@6391
   175
#ifdef MAC_OS_X_VERSION_10_8
icculus@6391
   176
/*
icculus@6391
   177
 * No matter the versions targeted, this is the 10.8 or later SDK, so you have
icculus@6391
   178
 *  to use the external Xquartz, which is a more modern Xlib. Previous SDKs
icculus@6391
   179
 *  used an older Xlib.
icculus@6391
   180
 */
icculus@6391
   181
#define SDL_VIDEO_DRIVER_X11_XINPUT2 1
icculus@6391
   182
#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1
icculus@6391
   183
#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1
icculus@6391
   184
#endif
icculus@6391
   185
slouken@5088
   186
#ifndef SDL_VIDEO_RENDER_OGL
slouken@7191
   187
#define SDL_VIDEO_RENDER_OGL    1
slouken@5088
   188
#endif
slouken@3290
   189
slouken@11723
   190
#ifndef SDL_VIDEO_RENDER_OGL_ES2
slouken@11723
   191
#define SDL_VIDEO_RENDER_OGL_ES2 1
slouken@11723
   192
#endif
slouken@11723
   193
icculus@11729
   194
#ifndef SDL_VIDEO_RENDER_METAL
slime73@11797
   195
/* Metal only supported on 64-bit architectures with 10.11+ */
slime73@11797
   196
#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
icculus@11729
   197
#define SDL_VIDEO_RENDER_METAL    1
slime73@11797
   198
#else
slime73@11797
   199
#define SDL_VIDEO_RENDER_METAL    0
slime73@11797
   200
#endif
icculus@11729
   201
#endif
icculus@11729
   202
slouken@1422
   203
/* Enable OpenGL support */
slouken@5088
   204
#ifndef SDL_VIDEO_OPENGL
slouken@7191
   205
#define SDL_VIDEO_OPENGL    1
slouken@5088
   206
#endif
slouken@11723
   207
#ifndef SDL_VIDEO_OPENGL_ES2
slouken@11723
   208
#define SDL_VIDEO_OPENGL_ES2    1
slouken@11723
   209
#endif
slouken@11723
   210
#ifndef SDL_VIDEO_OPENGL_EGL
slouken@11723
   211
#define SDL_VIDEO_OPENGL_EGL    1
slouken@11723
   212
#endif
slouken@5088
   213
#ifndef SDL_VIDEO_OPENGL_CGL
slouken@7191
   214
#define SDL_VIDEO_OPENGL_CGL    1
slouken@5088
   215
#endif
slouken@5088
   216
#ifndef SDL_VIDEO_OPENGL_GLX
slouken@7191
   217
#define SDL_VIDEO_OPENGL_GLX    1
slouken@5088
   218
#endif
slouken@1422
   219
slouken@11381
   220
/* Enable Vulkan support */
slouken@11401
   221
/* Metal/MoltenVK/Vulkan only supported on 64-bit architectures with 10.11+ */
slouken@11414
   222
#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100)
slouken@11381
   223
#define SDL_VIDEO_VULKAN 1
icculus@11365
   224
#else
slime73@11797
   225
#define SDL_VIDEO_VULKAN 0
icculus@11365
   226
#endif
icculus@11365
   227
icculus@3170
   228
/* Enable system power support */
icculus@3170
   229
#define SDL_POWER_MACOSX 1
icculus@3170
   230
icculus@7667
   231
/* enable filesystem support */
icculus@7667
   232
#define SDL_FILESYSTEM_COCOA   1
icculus@7667
   233
slouken@1422
   234
/* Enable assembly routines */
slouken@7191
   235
#define SDL_ASSEMBLY_ROUTINES   1
slouken@5389
   236
#ifdef __ppc__
slouken@7191
   237
#define SDL_ALTIVEC_BLITTERS    1
slouken@5389
   238
#endif
slouken@1422
   239
slouken@10638
   240
#endif /* SDL_config_macosx_h_ */