* @brief Acquires the stream focus.
* @since_tizen 3.0
*
+ * @remarks Do not call this function within sound_stream_focus_state_changed_cb() or sound_stream_focus_state_watch_cb(),\n
+ * otherwise #SOUND_MANAGER_ERROR_INVALID_OPERATION will be returned. Since 4.0, it is allowed and does not return the error.
+ *
* @param[in] stream_info The handle of stream information
* @param[in] focus_mask The focus mask that user wants to acquire
* @param[in] sound_behavior The requesting sound behavior, values of #sound_behavior_e combined with bitwise 'or'
* otherwise a negative error value
* @retval #SOUND_MANAGER_ERROR_NONE Success
* @retval #SOUND_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #SOUND_MANAGER_ERROR_INVALID_OPERATION Invalid operation
* @retval #SOUND_MANAGER_ERROR_INVALID_STATE Invalid state
* @retval #SOUND_MANAGER_ERROR_POLICY Noncompliance with the sound system policy
* @retval #SOUND_MANAGER_ERROR_INTERNAL Internal error inside the sound system
* @brief Releases the acquired stream focus.
* @since_tizen 3.0
*
+ * @remarks Do not call this function within sound_stream_focus_state_changed_cb() or sound_stream_focus_state_watch_cb(),\n
+ * otherwise #SOUND_MANAGER_ERROR_INVALID_OPERATION will be returned. Since 4.0, it is allowed and does not return the error.
+ *
* @param[in] stream_info The handle of stream information
* @param[in] focus_mask The focus mask that user wants to release
* @param[in] sound_behavior The requesting sound behavior, values of #sound_behavior_e combined with bitwise 'or'
* otherwise a negative error value
* @retval #SOUND_MANAGER_ERROR_NONE Success
* @retval #SOUND_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #SOUND_MANAGER_ERROR_INVALID_OPERATION Invalid operation
* @retval #SOUND_MANAGER_ERROR_INVALID_STATE Invalid state
* @retval #SOUND_MANAGER_ERROR_INTERNAL Internal error inside the sound system
* @pre Call sound_manager_create_stream_information() and sound_manager_acquire_focus() before calling this function.