d063e3d9a3c33660555b6598aa371ec51a202016
[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  * @defgroup CAPI_SOUND_POOL_MODULE Sound Pool
29  * @ingroup CAPI_MEDIA_FRAMEWORK
30  */
31
32 /**
33  * @ingroup CAPI_MEDIA_FRAMEWORK
34  * @addtogroup CAPI_SOUND_POOL_MODULE
35  * @brief The @ref CAPI_SOUND_POOL_MODULE API provides functions for easy sound
36  *        management such as grouping sounds in pools, play, pause, resume,
37  *        stop operations of sound streams and controlling stream/pool states.
38  * @section CAPI_SOUND_POOL_MODULE_HEADER Required Header
39  *    \#include <sound_pool.h>
40  *
41  * @section CAPI_SOUND_POOL_MODULE_OVERVIEW Overview
42  * The @ref CAPI_SOUND_POOL_MODULE module provides a set of functions to
43  * manipulate sounds in application. It allows easy loading, grouping, playing,
44  * and controlling the sound streams playback; changing parameters of sound
45  * streams such as volume, number of repeats (loops), and priorities also. Sound
46  * pool is aimed to control short sounds which can be grouped by some criteria
47  * (game level, or character, application audio theme, etc).\n
48  * Module includes three main entities: sound pool, sound source and sound
49  * stream.\n
50  * Sound pool is a collection of sounds. It can be defined as isolated
51  * environment where sound streams can be managed. When pool is created, it has
52  * to be filled by the sound sources. Sources can be defined as audio data
53  * which can be loaded from files. When you load the source from file
54  * to pool, audio data is loaded from this file and cached in the memory.
55  * After this it is possible to play sound streams using this cached data.
56  * Multiple sound streams can be played simultaneously using different or the
57  * same sources. Stream can be defined as an instance of sound source. Stream
58  * exists from the moment when play command is called till the end of until
59  * playback is finished or stop command is called.\n
60  * The @ref CAPI_SOUND_POOL_MODULE module supports multiple sound pools
61  * management. Pools can be activated/deactivated. When deactivation is
62  * performed, all playing streams corresponding to the pool gets suspended state.
63  * When pool is activated, then all suspended streams are resumed. Also, it is
64  * possible to change volume of the pool which affects all the streams in the
65  * pool.
66  *
67  */
68
69 #endif /* __TIZEN_SOUND_POOL_DOC_H__ */