iSndSysStream Struct Reference
[Sound system, Sound system]
@@ Document me!
More...
#include <isndsys/ss_stream.h>
Inheritance diagram for iSndSysStream:

Public Member Functions | |
virtual void | AdvancePosition (csTicks current_time)=0 |
NOT AN APPLICATION CALLABLE FUNCTION! This function advances the stream position based on the provided time value which is considered as a "current time". | |
virtual int | Get3dMode ()=0 |
Retrieve the 3D Mode the sound stream was created for. | |
virtual bool | GetAutoUnregister ()=0 |
If AutoUnregister is set, when the stream is paused it, and all sources attached to it are removed from the sound engine. | |
virtual bool | GetAutoUnregisterRequested ()=0 |
Used by the sound renderer to determine if this stream needs to be unregistered. | |
virtual void | GetDataPointers (size_t *position_marker, size_t max_requested_length, void **buffer1, size_t *buffer1_length, void **buffer2, size_t *buffer2_length)=0 |
Used to retrieve pointers to properly formatted sound data. | |
virtual int | GetLoopState ()=0 |
Retrieves the loop state of the stream. | |
virtual int | GetPauseState ()=0 |
Returns the PAUSE state of the stream:
| |
virtual int | GetPlayRatePercent ()=0 |
Retrieves the playback rate adjustment factor in percent. | |
virtual size_t | GetPosition ()=0 |
Returns the current position of this sound in rendered samples. | |
virtual iSndSysStream * | GetPtr ()=0 |
Retrieve a direct pointer to this object. | |
virtual const csSndSysSoundFormat * | GetRenderedFormat ()=0 |
Get the format of the rendered sound data. | |
virtual size_t | GetSampleCount ()=0 |
Get length of this stream in rendered samples. | |
virtual void | InitializeSourcePositionMarker (size_t *position_marker)=0 |
Fill a long value that will be used to track a Source's position through calls to GetDataPointers(). | |
virtual bool | Pause ()=0 |
Pauses the stream at the current position. | |
virtual bool | ResetPosition ()=0 |
Resets the position of the stream to the begining if possible. | |
virtual void | SetAutoUnregister (bool autounreg)=0 |
If AutoUnregister is set, when the stream is paused it, and all sources attached to it are removed from the sound engine. | |
virtual bool | SetLoopState (int loopstate)=0 |
Sets the loop state of the stream. | |
virtual void | SetPlayRatePercent (int percent)=0 |
Set the playback rate adjustment factor in percent. | |
virtual bool | SetPosition (size_t newposition)=0 |
Sets the position of the stream to a particular sample. | |
virtual bool | Unpause ()=0 |
Unpauses the stream and resumes providing data at the current position. |
Detailed Description
@@ Document me!
Definition at line 59 of file ss_stream.h.
Member Function Documentation
|
NOT AN APPLICATION CALLABLE FUNCTION! This function advances the stream position based on the provided time value which is considered as a "current time". A Sound Element will usually store the last advance time internally. When this function is called it will compare the last time with the time presented and retrieve more data from the associated iSound2Data container as needed. It will then update its internal last advance time value. This function is not necessarily thread safe and must be called ONLY from the Sound System's main processing thread. |
|
Retrieve the 3D Mode the sound stream was created for.
|
|
If AutoUnregister is set, when the stream is paused it, and all sources attached to it are removed from the sound engine.
|
|
Used by the sound renderer to determine if this stream needs to be unregistered.
|
|
Used to retrieve pointers to properly formatted sound data. Since a Stream may be attached to multiple Sources, it will be most optimal to perform any decoded-data buffering at the stream level. The parameters passed to GetDataPointers() should allow for proper interface to a cyclic buffering method to store this decoded-data. Since the data in the Stream buffer(s) and data related to how the buffers are accessed may change when AdvancePosition() is called, this function is not safe to call while AdvancePosition() is in operation. For this reason it is only safe to be called from the same thread that calls AdvancePosition() - specifically the Sound System main processing thread.
|
|
Retrieves the loop state of the stream. Current possible returns are CS_SNDSYS_STREAM_DONTLOOP and CS_SNDSYS_STREAM_LOOP. |
|
Returns the PAUSE state of the stream:
|
|
Retrieves the playback rate adjustment factor in percent. 100 = 100% (normal speed) |
|
Returns the current position of this sound in rendered samples. This should return a valid value even if GetSampleCount() returns CS_SNDSYS_STREAM_UNKNOWN_LENGTH since an object implementing this interface should know its position relative to the begining of the data. In the case where the begining may be ambiguous it should be considered to be at the point where the stream first started. In other words, where there is doubt, the position should start at 0 and advance as the position advances. |
|
Retrieve a direct pointer to this object.
|
|
Get the format of the rendered sound data. This is for informational purposes only. |
|
Get length of this stream in rendered samples. May return CS_SNDSYS_STREAM_UNKNOWN_LENGTH if the stream is of unknown length. For example, sound data being streamed from a remote host may not have a pre-determinable length. |
|
Fill a long value that will be used to track a Source's position through calls to GetDataPointers().
|
|
Pauses the stream at the current position. Data will not be provided through the GetData() call beyond the point of pausing. AdvancePosition() will NOT adjust the position of the stream. If either of the above conditions cannot be met, this call fails and returns FALSE. The sound element should continue operation as though this call were not made. For example, a stream coming from a remote host may not be able to be stopped or advance-buffered properly, in this case pausing the stream is not possible, and this function should return FALSE. |
|
Resets the position of the stream to the begining if possible. FALSE may be returned if a reset operation is not permitted or not possible. |
|
If AutoUnregister is set, when the stream is paused it, and all sources attached to it are removed from the sound engine.
|
|
Sets the loop state of the stream. Current acceptable values are CS_SNDSYS_STREAM_DONTLOOP and CS_SNDSYS_STREAM_LOOP May return FALSE if looping is not supported |
|
Set the playback rate adjustment factor in percent. 100 = 100% (normal speed) |
|
Sets the position of the stream to a particular sample. FALSE may be returned if a set position operation is not permitted or not possible. |
|
Unpauses the stream and resumes providing data at the current position. If the stream is not currently paused this function returns FALSE. |
The documentation for this struct was generated from the following file:
- isndsys/ss_stream.h
Generated for Crystal Space by doxygen 1.4.6