Git init
[framework/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 dtmf;
30         int repeat_count;
31         double volume;
32         int session_type;
33         int session_handle;
34         int keytone;
35         void *stopcb;
36         int (*callback)(int, void *, void *);
37         void *msgcallback;              /* Client callback function */
38         void *msgdata;                  /* Client callback data */
39         void *param;
40         MMSourceType *source; /* Will free plugin */
41         int samplerate;
42         int channels;
43         int volume_table;
44         int priority;
45         int handle_route;
46 } mmsound_mgr_codec_param_t;
47
48 enum
49 {
50         MM_SOUND_CODEC_OP_KEYTONE = 0,
51         MM_SOUND_CODEC_OP_SOUND,
52 };
53
54 int MMSoundMgrCodecInit(const char *targetdir);
55 int MMSoundMgrCodecFini(void);
56
57 int MMSoundMgrCodecPlay(int *slotid, const mmsound_mgr_codec_param_t *param);
58 int MMSoundMgrCodecStop(const int slotid);
59 int MMSoundMgrCodecCreate(int *slotid, const mmsound_mgr_codec_param_t *param);
60 int MMSoundMgrCodecPlayWave(int slotid, const mmsound_mgr_codec_param_t *param);
61 int MMSoundMgrCodecPlayDtmf(int *slotid, const mmsound_mgr_codec_param_t *param);
62 int MMSoundMgrCodecDestroy(const int slotid);
63
64
65 #endif /* __MM_SOUND_MGR_CODEC_H__ */
66