---
name: "CL_StreamSoundProvider_Session"
section: "3"
platform: "linux"
package: "clanlib0-common-dev"
version: "0.4.4-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/CL_StreamSoundProvider_Session"
---

# CL\_StreamSoundProvider\_Session(3)

Streamed soundprovider playback session

## NAME

CL\_StreamSoundProvider\_Session - Streamed soundprovider playback session

## DESCRIPTION

Interface used by ClanLib during playback of streamed soundbuffers.

## CLASS MEMBERS

- virtual **~CL\_StreamSoundProvider\_Session**()

  - virtual bool **eof**()

  - virtual void **stop**()

  - virtual bool **play**()

  - virtual bool **set\_position**(

  ```
  int pos)
  ```

- virtual int **get\_data**(

  ```
  void *data_ptr,
  int data_requested)
  ```

- virtual int **get\_frequency**()

  - virtual SoundFormat **get\_format**()

  ## MEMBERS WITH DESCRIPTIONS

- virtual **~CL\_StreamSoundProvider\_Session**()

  ```
  Description:
  ```

- virtual bool **eof**()

  ```
  Description:
  ```

  Returns true if no more input data is available.

  ```
  Return value:
  ```

  True if end of input data. False otherwise.

- virtual void **stop**()

  ```
  Description:
  ```

  Stops the current stream.

- virtual bool **play**()

  ```
  Description:
  ```

  Start/continue playing of the stream.

  ```
  Return value:
  ```

  True for success. False otherwise.

- virtual bool **set\_position**(

  ```
  int pos)
  ```

  ```
  Parameters:
  pos - Position to seek to.
  ```

  ```
  Description:
  ```

  Sets the position within the current stream.

  ```
  Return value:
  ```

  True for success. False otherwise.

- virtual int **get\_data**(

  ```
  void *data_ptr,
  int data_requested)
  ```

  ```
  Parameters:
  data_ptr - Points to a buffer that should be filled with
  sample data.
  data_requested - Bytes of data requested.
  ```

  ```
  Description:
  ```

  Called when a playback session needs more sample data.

  ```
  Return value:
  ```

  Number of bytes actually filled with sample data.

- virtual int **get\_frequency**()

  ```
  Description:
  ```

  Returns the playback frequency of the input data.

  ```
  Return value:
  ```

  Playback frequency.

- virtual SoundFormat **get\_format**()

  ```
  Description:
  ```

  Returns the playback sample format.

  ```
  Return value:
  ```

  The playback Sample format.

## SEE ALSO

All ClanLib API classes can be found in **clanlib (3)**.

## AUTHORS

Originally written by Magnus Norddahl \<*mbn@dark.x.dtu.dk*\> and Martin Starch \<*starch@dark.x.dtu.dk*\>. ClanLib is now developed by the ClanLib Development team as an Open Source project.

The ClanLib man pages was created using the Perceps documentation system (another excellent piece of Open Source software, available at **http://somewhere.in.the.world.org**).

See **clanlib (3)** to find out how to get a full list of contributors and details on how to submit bug reports, comments etc.
