f2de73b7d1e38c18ddcee08d39421fa583b30ef2
[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 <stdbool.h>
27
28 #include <mm_sound_stream.h>
29
30 typedef struct {
31         int tone;
32         int repeat_count;
33         double volume;
34         void *stopcb;
35         int (*callback)(int, void *, void *, int);
36         void *msgcallback;              /* Client callback function */
37         void *msgdata;                  /* Client callback data */
38         void *param;
39         char *pfilename;
40         int samplerate;
41         int channels;
42         int volume_config;
43         char stream_type[MAX_STREAM_TYPE_LEN];
44         int stream_index;
45 } mmsound_mgr_codec_param_t;
46
47 int MMSoundMgrCodecInit(const char *targetdir, GSourceFunc _shutdown_cb);
48 int MMSoundMgrCodecFini(void);
49
50 int MMSoundMgrCodecPlayWithStreamInfo(int *slotid, const mmsound_mgr_codec_param_t *param);
51 int MMSoundMgrCodecStop(const int slotid);
52 int MMSoundMgrCodecPlayDtmfWithStreamInfo(int *slotid, const mmsound_mgr_codec_param_t *param);
53
54
55 #endif /* __MM_SOUND_MGR_CODEC_H__ */
56