src/audio/SDL_audio_c.h
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Sun, 22 Feb 2015 23:21:32 +0100
changeset 9373 679eb3986e37
parent 8149 681eb46b8ac4
child 9619 b94b6d0bff0f
permissions -rw-r--r--
Emscripten: Fixed out of range joystick device index after joystick disconnect.

After disconnecting a joystick the remaining kept their original device index.
This was not correct because the device index must be a number between 0 and
SDL_NumJoysticks(). It was fixed with ideas from SDL's joystick implementation
for Android. Some range checks were removed as the caller already checks them.
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@8149
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
slouken@0
     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@0
     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@0
    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@0
    20
*/
icculus@8093
    21
#include "../SDL_internal.h"
slouken@0
    22
slouken@0
    23
/* Functions and variables exported from SDL_audio.c for SDL_sysaudio.c */
slouken@0
    24
slouken@0
    25
/* Functions to get a list of "close" audio formats */
icculus@1982
    26
extern SDL_AudioFormat SDL_FirstAudioFormat(SDL_AudioFormat format);
icculus@1982
    27
extern SDL_AudioFormat SDL_NextAudioFormat(void);
slouken@0
    28
slouken@0
    29
/* Function to calculate the size and silence for a SDL_AudioSpec */
slouken@1895
    30
extern void SDL_CalculateAudioSpec(SDL_AudioSpec * spec);
slouken@0
    31
slouken@0
    32
/* The actual mixing thread function */
slouken@1769
    33
extern int SDLCALL SDL_RunAudio(void *audiop);
icculus@1982
    34
icculus@1982
    35
/* this is used internally to access some autogenerated code. */
icculus@1982
    36
typedef struct
icculus@1982
    37
{
icculus@1982
    38
    SDL_AudioFormat src_fmt;
icculus@1982
    39
    SDL_AudioFormat dst_fmt;
icculus@1982
    40
    SDL_AudioFilter filter;
icculus@1982
    41
} SDL_AudioTypeFilters;
icculus@1982
    42
extern const SDL_AudioTypeFilters sdl_audio_type_filters[];
icculus@1982
    43
icculus@3021
    44
/* this is used internally to access some autogenerated code. */
icculus@3021
    45
typedef struct
icculus@3021
    46
{
icculus@3021
    47
    SDL_AudioFormat fmt;
icculus@3021
    48
    int channels;
icculus@3021
    49
    int upsample;
icculus@3021
    50
    int multiple;
icculus@3021
    51
    SDL_AudioFilter filter;
icculus@3021
    52
} SDL_AudioRateFilters;
icculus@3021
    53
extern const SDL_AudioRateFilters sdl_audio_rate_filters[];
icculus@3021
    54
slouken@1895
    55
/* vi: set ts=4 sw=4 expandtab: */