Rebase code with tizen 2.3 with following additional changes
[platform/core/multimedia/libmm-sound.git] / server / include / mm_sound_mgr_codec.h
1 /*
2  * libmm-sound
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Seungbae Shin <seungbae.shin@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22
23 #ifndef __MM_SOUND_MGR_CODEC_H__
24 #define __MM_SOUND_MGR_CODEC_H__
25
26 #include <mm_source.h>
27
28 typedef struct {
29         int tone;
30         int repeat_count;
31         double volume;
32         int session_type;
33         int session_options;
34         int session_handle;
35         int keytone;
36         void *stopcb;
37         int (*callback)(int, void *, void *, int);
38         void *msgcallback;              /* Client callback function */
39         void *msgdata;                  /* Client callback data */
40         void *param;
41         MMSourceType *source; /* Will free plugin */
42         int samplerate;
43         int channels;
44         int volume_config;
45         int priority;
46         int handle_route;
47         bool enable_session;
48 } mmsound_mgr_codec_param_t;
49
50 enum
51 {
52         MM_SOUND_CODEC_OP_KEYTONE = 0,
53         MM_SOUND_CODEC_OP_SOUND,
54 };
55
56 int MMSoundMgrCodecInit(const char *targetdir);
57 int MMSoundMgrCodecFini(void);
58
59 int MMSoundMgrCodecPlay(int *slotid, const mmsound_mgr_codec_param_t *param);
60 int MMSoundMgrCodecStop(const int slotid);
61 int MMSoundMgrCodecCreate(int *slotid, const mmsound_mgr_codec_param_t *param);
62 int MMSoundMgrCodecPlayWave(int slotid, const mmsound_mgr_codec_param_t *param);
63 int MMSoundMgrCodecPlayDtmf(int *slotid, const mmsound_mgr_codec_param_t *param);
64 int MMSoundMgrCodecDestroy(const int slotid);
65
66
67 #endif /* __MM_SOUND_MGR_CODEC_H__ */
68