tizen 2.3.1 release
[framework/multimedia/libmm-player.git] / src / include / mm_player_attrs.h
1 /*
2  * libmm-player
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: JongHyuk Choi <jhchoi.choi@samsung.com>, YeJin Cho <cho.yejin@samsung.com>,
7  * YoungHwan An <younghwan_.an@samsung.com>
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  */
22
23 #ifndef __MM_PLAYER_ATTRS_H__
24 #define __MM_PLAYER_ATTRS_H__
25
26 #ifdef __cplusplus
27         extern "C" {
28 #endif
29
30 /**
31  * This function set values of attributes.
32  *
33  * @param[in]   handle                  Handle of player.
34  * @param[in]   err_atr_name            Name of attribute that is failed (NULL can be set if it's not require to check. )
35  * @param[in]   attribute_name  Name of the first attribute to set
36  * @param[in]   args_list                       List of attributes and values
37  * @return      This function returns zero on success, or negative value with error code.
38  * @remarks
39  * @see         _mmplayer_get_attribute()
40  *
41  */
42 int _mmplayer_set_attribute(MMHandleType handle,  char **err_atr_name, const char *attribute_name, va_list args_list);
43 /**
44  * This function get values of attributes.
45  *
46  * @param[in]   handle                  Handle of player.
47  * @param[in]   err_atr_name            Name of attribute that is failed (NULL can be set if it's not require to check. )
48  * @param[in]   attribute_name  Name of the first attribute to set
49  * @param[in]   args_list                       List of attributes and values
50  * @return      This function returns zero on success, or negative value with error code.
51  * @remarks
52  * @see         _mmplayer_set_attribute()
53  *
54  */
55 int _mmplayer_get_attribute(MMHandleType handle,  char **err_atr_name, const char *attribute_name, va_list args_list);
56 /**
57  * This function get configuration values of attribute.
58  *
59  * @param[in]   handle                  Handle of player.
60  * @param[in]   attribute_name  Name of the first attribute to set
61  * @param[in]   info                            Configuration values
62  * @return      This function returns zero on success, or negative value with error code.
63  * @remarks
64  * @see
65  *
66  */
67 int _mmplayer_get_attributes_info(MMHandleType handle,  const char *attribute_name, MMPlayerAttrsInfo *info);
68 /**
69  * This function allocates structure of attributes and sets initial values.
70  *
71  * @param[in]   handle          Handle of player.
72  * @return      This function returns allocated structure of attributes.
73  * @remarks
74  * @see         _mmplayer_deconstruct_attribute()
75  *
76  */
77 MMHandleType _mmplayer_construct_attribute(MMHandleType handle);
78 /**
79  * This function release allocated attributes.
80  *
81  * @param[in]   handle          Handle of player.
82  * @return      This function returns true on success or false on failure.
83  * @remarks
84  * @see         _mmplayer_construct_attribute()
85  *
86  */
87 bool _mmplayer_deconstruct_attribute(MMHandleType handle);
88
89 #ifdef __cplusplus
90         }
91 #endif
92
93 #endif /* __MM_PLAYER_ATTRS_H__ */