fixup! Fix hanging on pthread_cond_destroy during cancellation of thread by broadcast...
[platform/core/api/sound-pool.git] / doc / sound_pool_doc.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __TIZEN_SOUND_POOL_DOC_H__
19 #define __TIZEN_SOUND_POOL_DOC_H__
20
21 /**
22  * @file sound_pool_doc.h
23  * @brief This file contains high level documentation for the Tizen Sound Pool API.
24  *
25  */
26
27 /**
28  * @ingroup CAPI_MEDIA_FRAMEWORK
29  * @defgroup CAPI_SOUND_POOL_MODULE Sound Pool
30  * @brief The @ref CAPI_SOUND_POOL_MODULE API provides functions for easy sound
31  *        management such as grouping sounds in pools, play, pause, resume,
32  *        stop operations of sound streams and controlling stream/pool states.
33  * @section CAPI_SOUND_POOL_MODULE_HEADER Required Header
34  *    \#include <sound_pool.h>
35  *
36  * @section CAPI_SOUND_POOL_MODULE_OVERVIEW Overview
37  * The @ref CAPI_SOUND_POOL_MODULE module provides a set of functions to
38  * manipulate sounds in application. It allows easy loading, grouping, playing,
39  * and controlling the sound streams playback; changing parameters of sound
40  * streams such as volume, number of repeats (loops), and priorities also. Sound
41  * pool is aimed to control short sounds which can be grouped by some criteria
42  * (game level, or character, application audio theme, etc).\n
43  * Module includes three main entities: sound pool, sound source and sound
44  * stream.\n
45  * Sound pool is a collection of sounds. It can be defined as isolated
46  * environment where sound streams can be managed. When pool is created, it has
47  * to be filled by the sound sources. Sources can be defined as audio data
48  * which can be loaded from files. When you load the source from file
49  * to pool, audio data is loaded from this file and cached in the memory.
50  * After this it is possible to play sound streams using this cached data.
51  * Multiple sound streams can be played simultaneously using different or the
52  * same sources. Stream can be defined as an instance of sound source. Stream
53  * exists from the moment when play command is called till the end of until
54  * playback is finished or stop command is called.\n
55  * The @ref CAPI_SOUND_POOL_MODULE module supports multiple sound pools
56  * management. Pools can be activated/deactivated. When deactivation is
57  * performed, all playing streams corresponding to the pool gets suspended state.
58  * When pool is activated, then all suspended streams are resumed. Also, it is
59  * possible to change volume of the pool which affects all the streams in the
60  * pool.
61  *
62  */
63
64 #endif /* __TIZEN_SOUND_POOL_DOC_H__ */