OpenSLES: CloseDevice() is called at higher level, if OpenDevice() fails - explicit initialization of static variables
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
diff --git a/src/audio/openslES/SDL_openslES.c b/src/audio/openslES/SDL_openslES.c
index d271724..ae0f6a6 100644
--- a/src/audio/openslES/SDL_openslES.c
+++ b/src/audio/openslES/SDL_openslES.c
@@ -75,24 +75,24 @@
#define SL_ANDROID_SPEAKER_7DOT1 (SL_ANDROID_SPEAKER_5DOT1 | SL_SPEAKER_SIDE_LEFT | SL_SPEAKER_SIDE_RIGHT)
/* engine interfaces */
-static SLObjectItf engineObject;
-static SLEngineItf engineEngine;
+static SLObjectItf engineObject = NULL;
+static SLEngineItf engineEngine = NULL;
/* output mix interfaces */
-static SLObjectItf outputMixObject;
+static SLObjectItf outputMixObject = NULL;
/* buffer queue player interfaces */
-static SLObjectItf bqPlayerObject;
+static SLObjectItf bqPlayerObject = NULL;
static SLPlayItf bqPlayerPlay = NULL;
-static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue;
+static SLAndroidSimpleBufferQueueItf bqPlayerBufferQueue = NULL;
#if 0
static SLVolumeItf bqPlayerVolume;
#endif
/* recorder interfaces */
-static SLObjectItf recorderObject;
-static SLRecordItf recorderRecord;
-static SLAndroidSimpleBufferQueueItf recorderBufferQueue;
+static SLObjectItf recorderObject = NULL;
+static SLRecordItf recorderRecord = NULL;
+static SLAndroidSimpleBufferQueueItf recorderBufferQueue = NULL;
#if 0
static const char *sldevaudiorecorderstr = "SLES Audio Recorder";
@@ -355,8 +355,6 @@ openslES_CreatePCMRecorder(_THIS)
failed:
- openslES_DestroyPCMRecorder(this);
-
return SDL_SetError("Open device failed!");
}
@@ -581,8 +579,6 @@ openslES_CreatePCMPlayer(_THIS)
failed:
- openslES_DestroyPCMPlayer(this);
-
return SDL_SetError("Open device failed!");
}