chenqiyang
2021-08-16 d98a16782ce455ebf4624c6d29e4311598b7eead
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*
 * Copyright (c) 2010-2019 Belledonne Communications SARL.
 *
 * This file is part of Liblinphone.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
 
#ifndef LINPHONE_VIDEO_DEFINITION_H_
#define LINPHONE_VIDEO_DEFINITION_H_
 
 
#include "linphone/types.h"
 
 
#ifdef __cplusplus
extern "C" {
#endif
 
 
/**
 * @addtogroup media_parameters
 * @{
 */
 
/**
 * Acquire a reference to the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object.
 * @return The same #LinphoneVideoDefinition object.
**/
LINPHONE_PUBLIC LinphoneVideoDefinition * linphone_video_definition_ref(LinphoneVideoDefinition *vdef);
 
/**
 * Release reference to the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object.
**/
LINPHONE_PUBLIC void linphone_video_definition_unref(LinphoneVideoDefinition *vdef);
 
/**
 * Retrieve the user pointer associated with the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object.
 * @return The user pointer associated with the video definition.
**/
LINPHONE_PUBLIC void *linphone_video_definition_get_user_data(const LinphoneVideoDefinition *vdef);
 
/**
 * Assign a user pointer to the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object.
 * @param[in] ud The user pointer to associate with the video definition.
**/
LINPHONE_PUBLIC void linphone_video_definition_set_user_data(LinphoneVideoDefinition *vdef, void *ud);
 
/**
 * Clone a video definition.
 * @param[in] vdef #LinphoneVideoDefinition object to be cloned
 * @return The new clone of the video definition
 */
LINPHONE_PUBLIC LinphoneVideoDefinition * linphone_video_definition_clone(const LinphoneVideoDefinition *vdef);
 
/**
 * Get the width of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @return The width of the video definition
 */
LINPHONE_PUBLIC unsigned int linphone_video_definition_get_width(const LinphoneVideoDefinition *vdef);
 
/**
 * Set the width of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @param[in] width The width of the video definition
 */
LINPHONE_PUBLIC void linphone_video_definition_set_width(LinphoneVideoDefinition *vdef, unsigned int width);
 
/**
 * Get the height of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @return The height of the video definition
 */
LINPHONE_PUBLIC unsigned int linphone_video_definition_get_height(const LinphoneVideoDefinition *vdef);
 
/**
 * Set the height of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @param[in] height The height of the video definition
 */
LINPHONE_PUBLIC void linphone_video_definition_set_height(LinphoneVideoDefinition *vdef, unsigned int height);
 
/**
 * Set the width and the height of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @param[in] width The width of the video definition
 * @param[in] height The height of the video definition
 */
LINPHONE_PUBLIC void linphone_video_definition_set_definition(LinphoneVideoDefinition *vdef, unsigned int width, unsigned int height);
 
/**
 * Get the name of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @return The name of the video definition
 */
LINPHONE_PUBLIC const char * linphone_video_definition_get_name(const LinphoneVideoDefinition *vdef);
 
/**
 * Set the name of the video definition.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @param[in] name The name of the video definition
 */
LINPHONE_PUBLIC void linphone_video_definition_set_name(LinphoneVideoDefinition *vdef, const char *name);
 
/**
 * Tells whether two #LinphoneVideoDefinition objects are equal (the widths and the heights are the same but can be switched).
 * @param[in] vdef1 #LinphoneVideoDefinition object
 * @param[in] vdef2 #LinphoneVideoDefinition object
 * @return A boolean value telling whether the two #LinphoneVideoDefinition objects are equal.
 */
LINPHONE_PUBLIC bool_t linphone_video_definition_equals(const LinphoneVideoDefinition *vdef1, const LinphoneVideoDefinition *vdef2);
 
/**
 * Tells whether two #LinphoneVideoDefinition objects are strictly equal (the widths are the same and the heights are the same).
 * @param[in] vdef1 #LinphoneVideoDefinition object
 * @param[in] vdef2 #LinphoneVideoDefinition object
 * @return A boolean value telling whether the two #LinphoneVideoDefinition objects are strictly equal.
 */
LINPHONE_PUBLIC bool_t linphone_video_definition_strict_equals(const LinphoneVideoDefinition *vdef1, const LinphoneVideoDefinition *vdef2);
 
/**
 * Tells whether a #LinphoneVideoDefinition is undefined.
 * @param[in] vdef #LinphoneVideoDefinition object
 * @return A boolean value telling whether the #LinphoneVideoDefinition is undefined.
 */
LINPHONE_PUBLIC bool_t linphone_video_definition_is_undefined(const LinphoneVideoDefinition *vdef);
 
/**
 * @}
 */
 
 
#ifdef __cplusplus
}
#endif
 
#endif /* LINPHONE_VIDEO_DEFINITION_H_ */