Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
miniaudio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
miniaudio
Commits
02788795
Commit
02788795
authored
Dec 29, 2016
by
David Reid
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update documentation.
parent
3348fc0a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
29 deletions
+27
-29
mini_al.h
mini_al.h
+27
-29
No files found.
mini_al.h
View file @
02788795
...
@@ -16,15 +16,15 @@
...
@@ -16,15 +16,15 @@
// supported in the interest of keeping the library as small and light-weight as possible.
// supported in the interest of keeping the library as small and light-weight as possible.
//
//
// Supported Backends:
// Supported Backends:
// - DirectSound (Windows Only)
// - DirectSound
// - ALSA (Linux Only)
// - WASAPI (Unstable)
// - ALSA
// - OpenSL|ES / Android (Unstable)
// - OpenAL (Unstable)
// - null
// - null
// - ... and more in the future.
// - ... and more in the future.
// - OpenSL|ES / Android (Unstable)
// - WASAPI (Unstable)
// - Core Audio (OSX, iOS)
// - Core Audio (OSX, iOS)
// - Maybe OSS
// - Maybe OSS
// - Maybe OpenAL
//
//
// Supported Formats (Not all backends support all formats):
// Supported Formats (Not all backends support all formats):
// - Unsigned 8-bit PCM
// - Unsigned 8-bit PCM
...
@@ -42,6 +42,10 @@
...
@@ -42,6 +42,10 @@
//
//
// You can then #include this file in other parts of the program as you would with any other header file.
// You can then #include this file in other parts of the program as you would with any other header file.
//
//
// The implementation of this library will try #including necessary headers for each backend. If you do not have
// the development packages for any particular backend you can disable it by #define-ing the appropriate MAL_NO_*
// option.
//
//
//
// Building (Windows)
// Building (Windows)
// ------------------
// ------------------
...
@@ -53,7 +57,7 @@
...
@@ -53,7 +57,7 @@
// The Linux build uses ALSA for it's backend so you will need to install the relevant ALSA development pacakges
// The Linux build uses ALSA for it's backend so you will need to install the relevant ALSA development pacakges
// for your preferred distro. It also uses pthreads.
// for your preferred distro. It also uses pthreads.
//
//
// Linking: -lasound -lpthread
// Linking: -lasound -lpthread
-ldl
//
//
//
//
// Playback Example
// Playback Example
...
@@ -128,20 +132,27 @@
...
@@ -128,20 +132,27 @@
// #define these options before including this file.
// #define these options before including this file.
//
//
// #define MAL_NO_DSOUND
// #define MAL_NO_DSOUND
// Disables the DirectSound backend. Note that this is the only backend for the Windows platform.
// Disables the DirectSound backend.
//
// #define MAL_NO_WASAPI
// Disables the WASAPI backend.
//
//
// #define MAL_NO_ALSA
// #define MAL_NO_ALSA
// Disables the ALSA backend.
Note that this is the only backend for the Linux platform.
// Disables the ALSA backend.
//
//
// #define MAL_NO_OPENSLES
// #define MAL_NO_OPENSLES
// Disables the OpenSL ES backend. Note that this is the only backend for Android.
// Disables the OpenSL ES backend.
//
// #define MAL_NO_OPENAL
// Disables the OpenAL backend.
//
//
// #define MAL_NO_NULL
// #define MAL_NO_NULL
// Disables the null backend.
// Disables the null backend.
//
//
// #define MAL_DEFAULT_BUFFER_SIZE_IN_MILLISECONDS
// #define MAL_DEFAULT_BUFFER_SIZE_IN_MILLISECONDS
// When a buffer size of 0 is specified when a device is initialized, it will default to a size with
// When a buffer size of 0 is specified when a device is initialized, it will default to a size with
// this number of milliseconds worth of data.
// this number of milliseconds worth of data. Note that some backends may adjust this setting if that
// particular backend has unusual latency characteristics.
//
//
// #define MAL_DEFAULT_PERIODS
// #define MAL_DEFAULT_PERIODS
// When a period count of 0 is specified when a device is initialized, it will default to this.
// When a period count of 0 is specified when a device is initialized, it will default to this.
...
@@ -436,18 +447,6 @@ typedef struct
...
@@ -436,18 +447,6 @@ typedef struct
mal_proc
alIsExtensionPresent
;
mal_proc
alIsExtensionPresent
;
mal_proc
alGetProcAddress
;
mal_proc
alGetProcAddress
;
mal_proc
alGetEnumValue
;
mal_proc
alGetEnumValue
;
mal_proc
alListenerf
;
mal_proc
alListener3f
;
mal_proc
alListenerfv
;
mal_proc
alListeneri
;
mal_proc
alListener3i
;
mal_proc
alListeneriv
;
mal_proc
alGetListenerf
;
mal_proc
alGetListener3f
;
mal_proc
alGetListenerfv
;
mal_proc
alGetListeneri
;
mal_proc
alGetListener3i
;
mal_proc
alGetListeneriv
;
mal_proc
alGenSources
;
mal_proc
alGenSources
;
mal_proc
alDeleteSources
;
mal_proc
alDeleteSources
;
mal_proc
alIsSource
;
mal_proc
alIsSource
;
...
@@ -717,11 +716,10 @@ mal_result mal_enumerate_devices(mal_context* pContext, mal_device_type type, ma
...
@@ -717,11 +716,10 @@ mal_result mal_enumerate_devices(mal_context* pContext, mal_device_type type, ma
// depend on and mutate global state (such as OpenSL|ES). The same applies to calling this as the
// depend on and mutate global state (such as OpenSL|ES). The same applies to calling this as the
// same time as mal_device_uninit().
// same time as mal_device_uninit().
//
//
// Results are undefined if you try using a device before this function as returned.
// Results are undefined if you try using a device before this function
h
as returned.
//
//
// Efficiency: LOW
// Efficiency: LOW
// This API will dynamically link to backend DLLs/SOs like dsound.dll, and is otherwise just slow
// This is just slow due to the nature of it being an initialization API.
// due to the nature of it being an initialization API.
mal_result
mal_device_init
(
mal_context
*
pContext
,
mal_device_type
type
,
mal_device_id
*
pDeviceID
,
mal_device_config
*
pConfig
,
void
*
pUserData
,
mal_device
*
pDevice
);
mal_result
mal_device_init
(
mal_context
*
pContext
,
mal_device_type
type
,
mal_device_id
*
pDeviceID
,
mal_device_config
*
pConfig
,
void
*
pUserData
,
mal_device
*
pDevice
);
// Uninitializes a device.
// Uninitializes a device.
...
@@ -776,12 +774,12 @@ void mal_device_set_send_callback(mal_device* pDevice, mal_send_proc proc);
...
@@ -776,12 +774,12 @@ void mal_device_set_send_callback(mal_device* pDevice, mal_send_proc proc);
// This is just an atomic assignment.
// This is just an atomic assignment.
void
mal_device_set_stop_callback
(
mal_device
*
pDevice
,
mal_stop_proc
proc
);
void
mal_device_set_stop_callback
(
mal_device
*
pDevice
,
mal_stop_proc
proc
);
// Activates the device. For playback devices this begins playback. For
recording
devices it begins
// Activates the device. For playback devices this begins playback. For
capture
devices it begins
// recording.
// recording.
//
//
// For a playback device, this will retrieve an initial chunk of audio data from the client before
// For a playback device, this will retrieve an initial chunk of audio data from the client before
// returning. The reason for this is to ensure there is valid audio data in the buffer, which needs
// returning. The reason for this is to ensure there is valid audio data in the buffer, which needs
// to be done _before_ the device
starts playing back audio
.
// to be done _before_ the device
begins playback
.
//
//
// Return Value:
// Return Value:
// - MAL_SUCCESS if successful.
// - MAL_SUCCESS if successful.
...
@@ -846,7 +844,7 @@ mal_result mal_device_stop(mal_device* pDevice);
...
@@ -846,7 +844,7 @@ mal_result mal_device_stop(mal_device* pDevice);
//
//
// Thread Safety: SAFE
// Thread Safety: SAFE
// If another thread calls mal_device_start() or mal_device_stop() at this same time as this function
// If another thread calls mal_device_start() or mal_device_stop() at this same time as this function
// is called, there's a very small chance the return value will out of sync.
// is called, there's a very small chance the return value will
be
out of sync.
//
//
// Efficiency: HIGH
// Efficiency: HIGH
// This is implemented with a simple accessor.
// This is implemented with a simple accessor.
...
@@ -4231,7 +4229,7 @@ mal_result mal_context_init__openal(mal_context* pContext)
...
@@ -4231,7 +4229,7 @@ mal_result mal_context_init__openal(mal_context* pContext)
pContext
->
openal
.
hOpenAL
=
mal_dlopen
(
libName
);
pContext
->
openal
.
hOpenAL
=
mal_dlopen
(
libName
);
#ifdef MAL_WIN32
#ifdef MAL_WIN32
// Special case for Win32 - try "soft_oal.dll" for OpenAL
Soft drop-ins.
// Special case for Win32 - try "soft_oal.dll" for OpenAL
-
Soft drop-ins.
if
(
pContext
->
openal
.
hOpenAL
==
NULL
)
{
if
(
pContext
->
openal
.
hOpenAL
==
NULL
)
{
pContext
->
openal
.
hOpenAL
=
mal_dlopen
(
"soft_oal.dll"
);
pContext
->
openal
.
hOpenAL
=
mal_dlopen
(
"soft_oal.dll"
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment