GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
dx_audio.c File Reference
#include "dx_hw.h"
+ Include dependency graph for dx_audio.c:

Data Structures

struct  DSContext
 

Macros

#define MAX_NUM_BUFFERS   20
 
#define DSCONTEXT()   DSContext *ctx = (DSContext *)dr->opaque;
 

Typedefs

typedef HRESULT(WINAPI * DIRECTSOUNDCREATEPROC )(LPCGUID pcGuidDevice, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter)
 

Functions

void DS_WriteAudio (GF_AudioOutput *dr)
 
void DS_WriteAudio_Notifs (GF_AudioOutput *dr)
 
static GF_Err DS_Setup (GF_AudioOutput *dr, void *os_handle, u32 num_buffers, u32 total_duration)
 
void DS_ResetBuffer (DSContext *ctx)
 
void DS_ReleaseBuffer (GF_AudioOutput *dr)
 
static void DS_Shutdown (GF_AudioOutput *dr)
 
static GF_Err DS_ConfigureOutput (GF_AudioOutput *dr, u32 *SampleRate, u32 *NbChannels, u32 *nbBitsPerSample, u32 channel_cfg)
 
static Bool DS_RestoreBuffer (LPDIRECTSOUNDBUFFER pDSBuffer)
 
void DS_FillBuffer (GF_AudioOutput *dr, u32 buffer)
 
static GF_Err DS_QueryOutputSampleRate (GF_AudioOutput *dr, u32 *desired_samplerate, u32 *NbChannels, u32 *nbBitsPerSample)
 
static void DS_Play (GF_AudioOutput *dr, u32 PlayType)
 
static void DS_SetVolume (GF_AudioOutput *dr, u32 Volume)
 
static void DS_SetPan (GF_AudioOutput *dr, u32 Pan)
 
static void DS_SetPriority (GF_AudioOutput *dr, u32 Priority)
 
static u32 DS_GetAudioDelay (GF_AudioOutput *dr)
 
static u32 DS_GetTotalBufferTime (GF_AudioOutput *dr)
 
void * NewAudioOutput ()
 
void DeleteAudioOutput (void *ifce)
 

Data Structure Documentation

struct DSContext
+ Collaboration diagram for DSContext:
Data Fields
Bool force_config
u32 cfg_num_buffers
u32 cfg_duration
HWND hWnd
LPDIRECTSOUND pDS
WAVEFORMATEX format
IDirectSoundBuffer * pOutput
u32 buffer_size
u32 num_audio_buffer
u32 total_audio_buffer_ms
Bool use_notif
u32 frame_state[20]
DSBPOSITIONNOTIFY notif_events[20]
HANDLE events[20]
HMODULE hDSoundLib
DIRECTSOUNDCREATEPROC DirectSoundCreate

Macro Definition Documentation

#define MAX_NUM_BUFFERS   20
#define DSCONTEXT ( )    DSContext *ctx = (DSContext *)dr->opaque;

Typedef Documentation

typedef HRESULT(WINAPI * DIRECTSOUNDCREATEPROC)(LPCGUID pcGuidDevice, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter)

Function Documentation

void DS_WriteAudio ( GF_AudioOutput dr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DS_WriteAudio_Notifs ( GF_AudioOutput dr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err DS_Setup ( GF_AudioOutput dr,
void *  os_handle,
u32  num_buffers,
u32  total_duration 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DS_ResetBuffer ( DSContext ctx)

+ Here is the caller graph for this function:

void DS_ReleaseBuffer ( GF_AudioOutput dr)

+ Here is the caller graph for this function:

static void DS_Shutdown ( GF_AudioOutput dr)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err DS_ConfigureOutput ( GF_AudioOutput dr,
u32 SampleRate,
u32 NbChannels,
u32 nbBitsPerSample,
u32  channel_cfg 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static Bool DS_RestoreBuffer ( LPDIRECTSOUNDBUFFER  pDSBuffer)
static

+ Here is the caller graph for this function:

void DS_FillBuffer ( GF_AudioOutput dr,
u32  buffer 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err DS_QueryOutputSampleRate ( GF_AudioOutput dr,
u32 desired_samplerate,
u32 NbChannels,
u32 nbBitsPerSample 
)
static

+ Here is the caller graph for this function:

static void DS_Play ( GF_AudioOutput dr,
u32  PlayType 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void DS_SetVolume ( GF_AudioOutput dr,
u32  Volume 
)
static

+ Here is the caller graph for this function:

static void DS_SetPan ( GF_AudioOutput dr,
u32  Pan 
)
static

+ Here is the caller graph for this function:

static void DS_SetPriority ( GF_AudioOutput dr,
u32  Priority 
)
static

+ Here is the caller graph for this function:

static u32 DS_GetAudioDelay ( GF_AudioOutput dr)
static

+ Here is the caller graph for this function:

static u32 DS_GetTotalBufferTime ( GF_AudioOutput dr)
static

+ Here is the caller graph for this function:

void* NewAudioOutput ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DeleteAudioOutput ( void *  ifce)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: