/**
* @brief Called when sound pool state is changed.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] prev_state Previous pool state
* @param [in] cur_state Current pool state
/**
* @brief Called when sound pool stream state is changed.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] tag Unique string that identifies source which was used
* for stream creation
* SOUND_POOL_STATE_INACTIVE. To activate a pool use
* @ref sound_pool_activate() function.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [out] pool The handle to the pool that will be created
* @return @c 0 on success, otherwise a negative error value
* @retval #SOUND_POOL_ERROR_INVALID_PARAMETER
* @brief Destroys sound pool and cleans allocated memory.
* @details Stops all streams and unloads all sources associated with pool.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the pool that will be destroyed
* @return @c 0 on success, otherwise a negative error value
* @retval #SOUND_POOL_ERROR_INVALID_PARAMETER
* Each of loaded sources must have unique @a tag
* It is synchronous operation.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] file_name The name of file that contains sound data
* @param [in] tag Unique string that will be used to identify source
* @remarks The usage of @a tag name that was associated with unloaded source
* has no effect. It can be reused as well.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] tag Unique string that identifies source
* @return @c 0 on success, otherwise a negative error value
* priority in the pool will resume their playback. Paused streams will
* remain their state.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @return @c 0 on success, otherwise a negative error value
* @retval #SOUND_POOL_ERROR_INVALID_PARAMETER Invalid parameter
* be suspended (change state to SOUND_POOL_STREAM_STATE_SUSPENDED).
* Paused streams will remain their state.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @return @c 0 on success, otherwise a negative error value
* @retval #SOUND_POOL_ERROR_INVALID_PARAMETER Invalid parameter
* (i.e. [stream real volume] = [global volume] * [stream volume],
* where [stream volume] is the volume parameter of arbitrary stream).
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] volume Pool global volume in 0.0~1.0 range
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Gets pool global volume parameter.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [out] volume Pool global volume in 0.0~1.0 range
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Gets current @a state of @a pool.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [out] state Current state of @a pool
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Sets callback for handling sound @a pool state change.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] callback The callback that will be called after pool state
* will be changed. @a callback will be called
/**
* @brief Unsets callback for handling sound @a pool state change.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the pool
* @return @c 0 on success, otherwise a negative error value
* @retval #SOUND_POOL_ERROR_INVALID_PARAMETER Invalid parameter
* Sets stream state to SOUND_POOL_STREAM_STATE_PLAYING
* @remarks Resultant stream volume will depend on global pool volume.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] tag Unique string that identifies source
* @param [in] loop Number of times stream will be repeated
* @details Sets stream state to SOUND_POOL_STREAM_STATE_PAUSED.
* @remarks Stream state has to be SOUND_POOL_STATE_PLAYING
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @return @c 0 on success, otherwise a negative error value
* @details Sets stream state to SOUND_POOL_STREAM_STATE_PLAYING.
* @remarks Stream state has to be SOUND_POOL_STATE_PAUSED
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @return @c 0 on success, otherwise a negative error value
* @c SOUND_POOL_STREAM_STATE_FINISHED state as it will be terminated
* after this function call.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @return @c 0 on success, otherwise a negative error value
/**
* @brief Sets stream @a loop parameter by stream @a id.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [in] loop Number of times stream will be repeated
/**
* @brief Gets stream @a loop parameter by stream @a id.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [out] loop Number of times stream will be repeated before
* @brief Sets stream volume parameters by stream @a id.
* @remarks Resultant stream volume will depend on global pool volume.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [in] volume Stream volume in 0.0~1.0 range
/**
* @brief Gets stream volume parameters by stream @a id.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [out] volume Stream volume in 0.0~1.0 range
* Priorities don't make any effect in inactive Sound Pools. But after
* pool activation, all mentioned rules will be applied.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [in] priority Stream priority (0 = lowest priority)
/**
* @brief Gets stream priority parameter by stream @a id.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [out] priority Stream priority (0 = lowest priority). Check
/**
* @brief Gets current @a state of stream by @a id.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [out] state Current state of stream
/**
* @brief Sets callback for handling stream state change events.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @param [in] callback The callback that will be called after stream state
/**
* @brief Unsets callback for handling stream state change events.
*
- * @since_tizen 3.0
+ * @since_tizen 4.0
* @param [in] pool The handle to the sound pool
* @param [in] id Unique stream identifier
* @return @c 0 on success, otherwise a negative error value