xine-lib 1.2.11
|
#include <windows.h>
#include <dsound.h>
#include <xine/audio_out.h>
#include <xine/xine_internal.h>
Data Structures | |
struct | ao_directx_t |
struct | audiox_class_t |
Macros | |
#define | LOG_MODULE "audio_directx_out" |
#define | LOG_VERBOSE |
#define | MAX_CHANNELS 6 |
#define | MAX_BITS 16 |
#define | MAX_SAMPLE_RATE 44100 |
#define | SOUND_BUFFER_DIV 32 |
#define | SOUND_BUFFER_MAX MAX_CHANNELS * (MAX_BITS / 8) * (((MAX_SAMPLE_RATE / SOUND_BUFFER_DIV) + 1) & ~1) |
#define | DSBUFF_INIT 0 |
#define | DSBUFF_LEFT 1 |
#define | DSBUFF_RIGHT 2 |
#define | AO_DIRECTX_IFACE_VERSION 9 |
#define | IID_IDirectSoundNotify xine_IID_IDirectSoundNotify |
Typedefs | |
typedef unsigned char | boolean |
Functions | |
static void | Error (HWND hwnd, LPCSTR szfmt,...) |
static boolean | CreateDirectSound (ao_directx_t *ao_directx) |
static void | DestroyDirectSound (ao_directx_t *ao_directx) |
static uint32_t | FillSoundBuffer (ao_directx_t *ao_directx, int code, unsigned char *samples) |
static void | DestroySoundBuffer (ao_directx_t *ao_directx) |
static boolean | CreateSoundBuffer (ao_directx_t *ao_directx) |
static int | ao_directx_control (ao_driver_t *this_gen, int cmd,...) |
static int | ao_directx_open (ao_driver_t *ao_driver, uint32_t bits, uint32_t rate, int mode) |
static int | ao_directx_num_channels (ao_driver_t *ao_driver) |
static int | ao_directx_bytes_per_frame (ao_driver_t *ao_driver) |
static int | ao_directx_get_gap_tolerance (ao_driver_t *ao_driver) |
static int | ao_directx_delay (ao_driver_t *ao_driver) |
static int | ao_directx_write (ao_driver_t *ao_driver, int16_t *frame_buffer, uint32_t num_frames) |
static void | ao_directx_close (ao_driver_t *ao_driver) |
static uint32_t | ao_directx_get_capabilities (ao_driver_t *ao_driver) |
static void | ao_directx_exit (ao_driver_t *ao_driver) |
static int | ao_directx_get_property (ao_driver_t *ao_driver, int property) |
static int | ao_directx_set_property (ao_driver_t *ao_driver, int property, int value) |
static ao_driver_t * | open_plugin (audio_driver_class_t *class_gen, const void *data) |
static void * | init_class (xine_t *xine, const void *data) |
Variables | |
static const GUID | xine_IID_IDirectSoundNotify |
static const ao_info_t | ao_info_directx |
const plugin_info_t xine_plugin_info[] | EXPORTED |
#define AO_DIRECTX_IFACE_VERSION 9 |
#define DSBUFF_INIT 0 |
#define DSBUFF_LEFT 1 |
#define DSBUFF_RIGHT 2 |
#define IID_IDirectSoundNotify xine_IID_IDirectSoundNotify |
#define LOG_MODULE "audio_directx_out" |
#define LOG_VERBOSE |
#define MAX_BITS 16 |
#define MAX_CHANNELS 6 |
#define MAX_SAMPLE_RATE 44100 |
#define SOUND_BUFFER_DIV 32 |
#define SOUND_BUFFER_MAX MAX_CHANNELS * (MAX_BITS / 8) * (((MAX_SAMPLE_RATE / SOUND_BUFFER_DIV) + 1) & ~1) |
typedef unsigned char boolean |
|
static |
References ao_directx_t::frsz.
Referenced by open_plugin().
|
static |
References DestroySoundBuffer(), and lprintf.
Referenced by open_plugin().
|
static |
References AO_CTRL_FLUSH_BUFFERS, AO_CTRL_PLAY_PAUSE, and AO_CTRL_PLAY_RESUME.
Referenced by open_plugin().
|
static |
References ao_directx_t::buffer_size, ao_directx_t::dsbuffer, ao_directx_t::frsz, lprintf, ao_directx_t::prebuff_size, and ao_directx_t::write_pos.
Referenced by open_plugin().
|
static |
References DestroyDirectSound(), DestroySoundBuffer(), and lprintf.
Referenced by open_plugin().
|
static |
References AO_CAP_MIXER_VOL, AO_CAP_MODE_STEREO, AO_CAP_MUTE_VOL, and AO_CAP_PCM_VOL.
Referenced by open_plugin().
|
static |
Referenced by open_plugin().
|
static |
Referenced by open_plugin().
|
static |
References ao_directx_t::chnn.
Referenced by open_plugin().
|
static |
References AO_CAP_MODE_4CHANNEL, AO_CAP_MODE_5_1CHANNEL, AO_CAP_MODE_5CHANNEL, AO_CAP_MODE_A52, AO_CAP_MODE_AC5, AO_CAP_MODE_MONO, AO_CAP_MODE_STEREO, ao_directx_t::bits, bits, ao_directx_t::chnn, CreateSoundBuffer(), lprintf, mode(), ao_directx_t::rate, ao_directx_t::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by open_plugin().
|
static |
References AO_PROP_MIXER_VOL, AO_PROP_MUTE_VOL, AO_PROP_PCM_VOL, ao_directx_t::dsbuffer, lprintf, ao_directx_t::mute, ao_directx_t::volume, ao_directx_t::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by open_plugin().
|
static |
|
static |
References ao_directx_t::dsobj, Error(), and lprintf.
Referenced by open_plugin().
|
static |
References ao_directx_t::bits, ao_directx_t::buffer_size, ao_directx_t::chnn, DestroySoundBuffer(), ao_directx_t::dsbcaps, DSBUFF_INIT, ao_directx_t::dsbuffer, ao_directx_t::dsobj, Error(), FillSoundBuffer(), ao_directx_t::frsz, IID_IDirectSoundNotify, lprintf, ao_directx_t::notify, ao_directx_t::notify_events, NULL, ao_directx_t::rate, and SOUND_BUFFER_DIV.
Referenced by ao_directx_open().
|
static |
References ao_directx_t::dsobj, and lprintf.
Referenced by ao_directx_exit().
|
static |
References DSBUFF_INIT, ao_directx_t::dsbuffer, FillSoundBuffer(), lprintf, ao_directx_t::notify, and ao_directx_t::notify_events.
Referenced by ao_directx_close(), ao_directx_exit(), and CreateSoundBuffer().
|
static |
Referenced by CreateDirectSound(), CreateSoundBuffer(), and FillSoundBuffer().
|
static |
References ao_directx_t::buffer_size, code, DSBUFF_INIT, DSBUFF_LEFT, DSBUFF_RIGHT, ao_directx_t::dsbuffer, Error(), lprintf, NULL, ao_directx_t::volume, and ao_directx_t::write_status.
Referenced by ao_directx_write(), CreateSoundBuffer(), and DestroySoundBuffer().
|
static |
|
static |
References ao_directx_bytes_per_frame(), ao_directx_close(), ao_directx_control(), ao_directx_delay(), ao_directx_exit(), ao_directx_get_capabilities(), ao_directx_get_gap_tolerance(), ao_directx_get_property(), ao_directx_num_channels(), ao_directx_open(), ao_directx_set_property(), ao_directx_write(), CreateDirectSound(), lprintf, and NULL.
Referenced by init_class().
|
static |
const plugin_info_t xine_plugin_info [] EXPORTED |
|
static |