GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
ALLEGRO_AUDIO_STREAM(3) ALLEGRO_AUDIO_STREAM(3)

ALLEGRO_AUDIO_STREAM - Allegro 5 API


#include <allegro5/allegro_audio.h>
typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;

    

An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to the sound device, in real-time. This is done by reading from a buffer, which is split into a number of fragments. Whenever a fragment has finished playing, the user can refill it with new data.

As with ALLEGRO_SAMPLE_INSTANCE(3) objects, streams store information necessary for playback, so you may not play the same stream multiple times simultaneously. Streams also need to be attached to an ALLEGRO_MIXER(3), which, eventually, reaches an ALLEGRO_VOICE(3) object.

While playing, you must periodically fill fragments with new audio data. To know when a new fragment is ready to be filled, you can either directly check with al_get_available_audio_stream_fragments(3), or listen to events from the stream.

You can register an audio stream event source to an event queue; see al_get_audio_stream_event_source(3). An ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT(3) event is generated whenever a new fragment is ready. When you receive an event, use al_get_audio_stream_fragment(3) to obtain a pointer to the fragment to be filled. The size and format are determined by the parameters passed to al_create_audio_stream(3).

If you’re late with supplying new data, the stream will be silent until new data is provided. You must call al_drain_audio_stream(3) when you’re finished with supplying data to the stream.

If the stream is created by al_load_audio_stream(3) then it will also generate an ALLEGRO_EVENT_AUDIO_STREAM_FINISHED(3) event if it reaches the end of the file and is not set to loop.

Allegro reference manual

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.