56 NOM_LOG_TRACE_PRIO(NOM_LOG_CATEGORY_TRACE_AUDIO,
57 NOM_LOG_PRIORITY_VERBOSE);
61 virtual ~IOAudioEngine()
63 NOM_LOG_TRACE_PRIO(NOM_LOG_CATEGORY_TRACE_AUDIO,
64 NOM_LOG_PRIORITY_VERBOSE);
67 virtual void init(
void* driver) = 0;
69 virtual bool valid()
const = 0;
75 virtual uint32 caps()
const = 0;
76 virtual void set_cap(uint32 format) = 0;
78 virtual bool connected()
const = 0;
81 uint32 channel_format(uint32 num_channels, uint32 channel_format) = 0;
89 virtual real32 volume()
const = 0;
90 virtual Point3f position()
const = 0;
92 virtual real32 volume(
SoundBuffer* buffer)
const = 0;
98 virtual real32 playback_position(
SoundBuffer* buffer) = 0;
99 virtual real32 playback_samples(
SoundBuffer* buffer) = 0;
103 virtual void set_volume(real32 gain) = 0;
104 virtual void set_position(
const Point3f& p) = 0;
106 virtual void set_volume(
SoundBuffer* target, real32 gain) = 0;
107 virtual void set_min_volume(
SoundBuffer* target, real32 gain) = 0;
108 virtual void set_max_volume(
SoundBuffer* target, real32 gain) = 0;
110 virtual void set_velocity(
SoundBuffer* target,
const Point3f& v) = 0;
111 virtual void set_position(
SoundBuffer* target,
const Point3f& p) = 0;
112 virtual void set_pitch(
SoundBuffer* target, real32 pitch) = 0;
113 virtual void set_playback_position(
SoundBuffer* target, real32 offset_seconds) = 0;
120 virtual bool queue_buffer(
SoundBuffer* buffer) = 0;
122 virtual void suspend() = 0;
123 virtual void resume() = 0;
124 virtual void close() = 0;