1. Add the log color.
[archive/platform/core/multimedia/libmm-scmirroring-common.git] / wfdconfig / include / wfdconfigmessage.h
1 /*
2  * wfdconfig messages
3  *
4  * Copyright (c) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: JongHyuk Choi <jhchoi.choi@samsung.com>, ByungWook Jang <bw.jang@samsung.com>,
7  * Manoj Kumar K <manojkumar.k@samsung.com>, Abhishek Bajaj <abhi.bajaj@samsung.com>, Nikhilesh Mittal <nikhilesh.m@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 __GST_WFD_CONFIG_MESSAGE_H__
24 #define __GST_WFD_CONFIG_MESSAGE_H__
25
26 #include <glib.h>
27
28 G_BEGIN_DECLS
29
30 /**
31  * WFDResult:
32  * @WFD_OK: A successful return value
33  * @WFD_EINVAL: a function was given invalid parameters
34  *
35  * Return values for the WFD_CONFIG functions.
36  */
37 typedef enum {
38   WFD_OK     = 0,
39   WFD_EINVAL = -1,
40   WFD_NOT_IMPLEMENTED = -2,
41   WFD_NOT_SUPPORTED = -3
42 } WFDResult;
43
44 typedef enum {
45   WFD_AUDIO_UNKNOWN     = 0,
46   WFD_AUDIO_LPCM                = (1 << 0),
47   WFD_AUDIO_AAC         = (1 << 1),
48   WFD_AUDIO_AC3         = (1 << 2)
49 }WFDAudioFormats;
50
51 typedef enum {
52   WFD_FREQ_UNKNOWN = 0,
53   WFD_FREQ_44100         = (1 << 0),
54   WFD_FREQ_48000         = (1 << 1)
55 }WFDAudioFreq;
56
57 typedef enum {
58   WFD_CHANNEL_UNKNOWN = 0,
59   WFD_CHANNEL_2                 = (1 << 0),
60   WFD_CHANNEL_4         = (1 << 1),
61   WFD_CHANNEL_6         = (1 << 2),
62   WFD_CHANNEL_8         = (1 << 3)
63 }WFDAudioChannels;
64
65
66 typedef enum {
67   WFD_VIDEO_UNKNOWN = 0,
68   WFD_VIDEO_H264          = (1 << 0)
69 }WFDVideoCodecs;
70
71 typedef enum {
72   WFD_VIDEO_CEA_RESOLUTION = 0,
73   WFD_VIDEO_VESA_RESOLUTION,
74   WFD_VIDEO_HH_RESOLUTION
75 }WFDVideoNativeResolution;
76
77 typedef enum {
78   WFD_CEA_UNKNOWN               = 0,
79   WFD_CEA_640x480P60    = (1 << 0),
80   WFD_CEA_720x480P60    = (1 << 1),
81   WFD_CEA_720x480I60    = (1 << 2),
82   WFD_CEA_720x576P50    = (1 << 3),
83   WFD_CEA_720x576I50    = (1 << 4),
84   WFD_CEA_1280x720P30   = (1 << 5),
85   WFD_CEA_1280x720P60   = (1 << 6),
86   WFD_CEA_1920x1080P30= (1 << 7),
87   WFD_CEA_1920x1080P60= (1 << 8),
88   WFD_CEA_1920x1080I60= (1 << 9),
89   WFD_CEA_1280x720P25   = (1 << 10),
90   WFD_CEA_1280x720P50   = (1 << 11),
91   WFD_CEA_1920x1080P25= (1 << 12),
92   WFD_CEA_1920x1080P50= (1 << 13),
93   WFD_CEA_1920x1080I50= (1 << 14),
94   WFD_CEA_1280x720P24   = (1 << 15),
95   WFD_CEA_1920x1080P24= (1 << 16)
96 }WFDVideoCEAResolution;
97
98 typedef enum {
99   WFD_VESA_UNKNOWN              = 0,
100   WFD_VESA_800x600P30   = (1 << 0),
101   WFD_VESA_800x600P60           = (1 << 1),
102   WFD_VESA_1024x768P30  = (1 << 2),
103   WFD_VESA_1024x768P60  = (1 << 3),
104   WFD_VESA_1152x864P30  = (1 << 4),
105   WFD_VESA_1152x864P60  = (1 << 5),
106   WFD_VESA_1280x768P30  = (1 << 6),
107   WFD_VESA_1280x768P60  = (1 << 7),
108   WFD_VESA_1280x800P30  = (1 << 8),
109   WFD_VESA_1280x800P60  = (1 << 9),
110   WFD_VESA_1360x768P30  = (1 << 10),
111   WFD_VESA_1360x768P60  = (1 << 11),
112   WFD_VESA_1366x768P30  = (1 << 12),
113   WFD_VESA_1366x768P60  = (1 << 13),
114   WFD_VESA_1280x1024P30 = (1 << 14),
115   WFD_VESA_1280x1024P60 = (1 << 15),
116   WFD_VESA_1400x1050P30 = (1 << 16),
117   WFD_VESA_1400x1050P60 = (1 << 17),
118   WFD_VESA_1440x900P30  = (1 << 18),
119   WFD_VESA_1440x900P60  = (1 << 19),
120   WFD_VESA_1600x900P30  = (1 << 20),
121   WFD_VESA_1600x900P60  = (1 << 21),
122   WFD_VESA_1600x1200P30 = (1 << 22),
123   WFD_VESA_1600x1200P60 = (1 << 23),
124   WFD_VESA_1680x1024P30 = (1 << 24),
125   WFD_VESA_1680x1024P60 = (1 << 25),
126   WFD_VESA_1680x1050P30 = (1 << 26),
127   WFD_VESA_1680x1050P60 = (1 << 27),
128   WFD_VESA_1920x1200P30 = (1 << 28),
129   WFD_VESA_1920x1200P60 = (1 << 29)
130 }WFDVideoVESAResolution;
131
132 typedef enum {
133   WFD_HH_UNKNOWN                = 0,
134   WFD_HH_800x480P30     = (1 << 0),
135   WFD_HH_800x480P60     = (1 << 1),
136   WFD_HH_854x480P30     = (1 << 2),
137   WFD_HH_854x480P60     = (1 << 3),
138   WFD_HH_864x480P30     = (1 << 4),
139   WFD_HH_864x480P60     = (1 << 5),
140   WFD_HH_640x360P30     = (1 << 6),
141   WFD_HH_640x360P60     = (1 << 7),
142   WFD_HH_960x540P30     = (1 << 8),
143   WFD_HH_960x540P60     = (1 << 9),
144   WFD_HH_848x480P30     = (1 << 10),
145   WFD_HH_848x480P60     = (1 << 11)
146 }WFDVideoHHResolution;
147
148 typedef enum {
149   WFD_H264_UNKNOWN_PROFILE= 0,
150   WFD_H264_BASE_PROFILE = (1 << 0),
151   WFD_H264_HIGH_PROFILE = (1 << 1)
152 }WFDVideoH264Profile;
153
154 typedef enum {
155   WFD_H264_LEVEL_UNKNOWN = 0,
156   WFD_H264_LEVEL_3_1   = (1 << 0),
157   WFD_H264_LEVEL_3_2   = (1 << 1),
158   WFD_H264_LEVEL_4       = (1 << 2),
159   WFD_H264_LEVEL_4_1   = (1 << 3),
160   WFD_H264_LEVEL_4_2   = (1 << 4)
161 }WFDVideoH264Level;
162
163 typedef enum {
164   WFD_HDCP_NONE = 0,
165   WFD_HDCP_2_0  = (1 << 0),
166   WFD_HDCP_2_1  = (1 << 1)
167 }WFDHDCPProtection;
168
169 typedef enum {
170   WFD_SINK_UNKNOWN = -1,
171   WFD_SINK_NOT_COUPLED  = 0,
172   WFD_SINK_COUPLED,
173   WFD_SINK_TEARDOWN_COUPLING,
174   WFD_SINK_RESERVED
175 }WFDCoupledSinkStatus;
176
177 typedef enum {
178   WFD_TRIGGER_UNKNOWN = 0,
179   WFD_TRIGGER_SETUP,
180   WFD_TRIGGER_PAUSE,
181   WFD_TRIGGER_TEARDOWN,
182   WFD_TRIGGER_PLAY
183 }WFDTrigger;
184
185 typedef enum {
186   WFD_RTSP_TRANS_UNKNOWN =  0,
187   WFD_RTSP_TRANS_RTP     = (1 << 0),
188   WFD_RTSP_TRANS_RDT     = (1 << 1)
189 } WFDRTSPTransMode;
190
191 typedef enum {
192   WFD_RTSP_PROFILE_UNKNOWN =  0,
193   WFD_RTSP_PROFILE_AVP     = (1 << 0),
194   WFD_RTSP_PROFILE_SAVP    = (1 << 1)
195 } WFDRTSPProfile;
196
197 typedef enum {
198   WFD_RTSP_LOWER_TRANS_UNKNOWN   = 0,
199   WFD_RTSP_LOWER_TRANS_UDP       = (1 << 0),
200   WFD_RTSP_LOWER_TRANS_UDP_MCAST = (1 << 1),
201   WFD_RTSP_LOWER_TRANS_TCP       = (1 << 2),
202   WFD_RTSP_LOWER_TRANS_HTTP      = (1 << 3)
203 } WFDRTSPLowerTrans;
204
205 typedef enum {
206   WFD_PRIMARY_SINK   = 0,
207   WFD_SECONDARY_SINK
208 }WFDSinkType;
209
210 typedef enum {
211   WFD_UIBC_INPUT_CAT_UNKNOWN   = 0,
212   WFD_UIBC_INPUT_CAT_GENERIC   = (1 << 0),
213   WFD_UIBC_INPUT_CAT_HIDC      = (1 << 1),
214 }WFDUibcinput_cat;
215
216 typedef enum {
217   WFD_UIBC_INPUT_TYPE_UNKNOWN        = 0,
218   WFD_UIBC_INPUT_TYPE_KEYBOARD       = (1 << 0),
219   WFD_UIBC_INPUT_TYPE_MOUSE          = (1 << 1),
220   WFD_UIBC_INPUT_TYPE_SINGLETOUCH    = (1 << 2),
221   WFD_UIBC_INPUT_TYPE_MULTITOUCH     = (1 << 3),
222   WFD_UIBC_INPUT_TYPE_JOYSTICK       = (1 << 4),
223   WFD_UIBC_INPUT_TYPE_CAMERA         = (1 << 5),
224   WFD_UIBC_INPUT_TYPE_GESTURE        = (1 << 6),
225   WFD_UIBC_INPUT_TYPE_REMOTECONTROL  = (1 << 7)
226 }WFDUibcinp_type;
227
228 typedef enum {
229   WFD_UIBC_INPUT_PATH_UNKNOWN   = 0,
230   WFD_UIBC_INPUT_PATH_INFRARED  = (1 << 0),
231   WFD_UIBC_INPUT_PATH_USB       = (1 << 1),
232   WFD_UIBC_INPUT_PATH_BT        = (1 << 2),
233   WFD_UIBC_INPUT_PATH_ZIGBEE    = (1 << 3),
234   WFD_UIBC_INPUT_PATH_WIFI      = (1 << 4),
235   WFD_UIBC_INPUT_PATH_NOSP      = (1 << 5)
236 }WFDUibcinp_path;
237
238 typedef enum {
239   WFD_CONNECTOR_VGA           = 0,
240   WFD_CONNECTOR_S,
241   WFD_CONNECTOR_COMPOSITE,
242   WFD_CONNECTOR_COMPONENT,
243   WFD_CONNECTOR_DVI,
244   WFD_CONNECTOR_HDMI,
245   WFD_CONNECTOR_LVDS,
246   WFD_CONNECTOR_RESERVED_7,
247   WFD_CONNECTOR_JAPANESE_D,
248   WFD_CONNECTOR_SDI,
249   WFD_CONNECTOR_DP,
250   WFD_CONNECTOR_RESERVED_11,
251   WFD_CONNECTOR_UDI,
252   WFD_CONNECTOR_NO           = 254,
253   WFD_CONNECTOR_PHYSICAL     = 255
254 }WFDConnector;
255
256
257 typedef struct {
258   gchar *audio_format;
259   guint32 modes;
260   guint latency;
261 } WFDAudioCodec;
262
263 typedef struct {
264   guint count;
265   WFDAudioCodec *list;
266 } WFDAudioCodeclist;
267
268
269 typedef struct {
270   guint CEA_Support;
271   guint VESA_Support;
272   guint HH_Support;
273   guint latency;
274   guint min_slice_size;
275   guint slice_enc_params;
276   guint frame_rate_control_support;
277 } WFDVideoH264MiscParams;
278
279 typedef struct {
280   guint profile;
281   guint level;
282   guint max_hres;
283   guint max_vres;
284   WFDVideoH264MiscParams misc_params;
285 } WFDVideoH264Codec;
286
287 typedef struct {
288   guint native;
289   guint preferred_display_mode_supported;
290   WFDVideoH264Codec H264_codec;
291 } WFDVideoCodec;
292
293 typedef struct {
294   guint                 count;
295   WFDVideoCodec *list;
296 } WFDVideoCodeclist;
297
298 typedef struct {
299   guint video_3d_capability;
300   guint latency;
301   guint min_slice_size;
302   guint slice_enc_params;
303   guint frame_rate_control_support;
304 } WFD3DVideoH264MiscParams;
305
306 typedef struct {
307   guint profile;
308   guint level;
309   WFD3DVideoH264MiscParams misc_params;
310   guint max_hres;
311   guint max_vres;
312 } WFD3DVideoH264Codec;
313
314 typedef struct {
315   guint native;
316   guint preferred_display_mode_supported;
317   WFD3DVideoH264Codec H264_codec;
318 } WFD3dCapList;
319
320 typedef struct {
321   guint                 count;
322   WFD3dCapList *list;
323 } WFD3DFormats;
324
325 typedef struct {
326   gchar *hdcpversion;
327   gchar *TCPPort;
328 } WFDHdcp2Spec;
329
330 typedef struct {
331   WFDHdcp2Spec *hdcp2_spec;
332 } WFDContentProtection;
333
334 typedef struct {
335   guint edid_supported;
336   guint edid_block_count;
337   gchar *edid_payload;
338 } WFDDisplayEdid;
339
340
341 typedef struct {
342   guint status;
343   gchar *sink_address;
344 } WFDCoupled_sink_cap;
345
346 typedef struct {
347         WFDCoupled_sink_cap *coupled_sink_cap;
348 } WFDCoupledSink;
349
350 typedef struct {
351   gchar *wfd_trigger_method;
352 } WFDTriggerMethod;
353
354 typedef struct {
355   gchar *wfd_url0;
356   gchar *wfd_url1;
357 } WFDPresentationUrl;
358
359 typedef struct {
360   gchar *profile;
361   guint32 rtp_port0;
362   guint32 rtp_port1;
363   gchar *mode;
364 } WFDClientRtpPorts;
365
366 typedef struct {
367  gchar *destination;
368 } WFDRoute;
369
370 typedef struct {
371   gboolean I2CPresent;
372   guint32 I2C_port;
373 } WFDI2C;
374
375 typedef struct {
376   guint64 PTS;
377   guint64 DTS;
378 } WFDAVFormatChangeTiming;
379
380 typedef struct {
381   gboolean displaymodesupported;
382   guint64 p_clock;
383   guint32 H;
384   guint32 HB;
385   guint32 HSPOL_HSOFF;
386   guint32 HSW;
387   guint32 V;
388   guint32 VB;
389   guint32 VSPOL_VSOFF;
390   guint32 VSW;
391   guint VBS3D;
392   guint R;
393   guint V2d_s3d_modes;
394   guint P_depth;
395   WFDVideoH264Codec H264_codec;
396 } WFDPreferredDisplayMode;
397
398 typedef struct {
399   guint32 input_cat;
400 }WFDInputCategoryList;
401
402 typedef struct {
403   guint32 inp_type;
404 }WFDGenericCategoryList;
405
406 typedef struct _detailed_cap detailed_cap;
407
408 typedef struct {
409   WFDUibcinp_type inp_type;
410   WFDUibcinp_path inp_path;
411 }WFDHIDCTypePathPair;
412
413 struct _detailed_cap {
414   WFDHIDCTypePathPair p;
415   detailed_cap *next;
416 };
417
418 typedef struct {
419   guint cap_count;
420   detailed_cap *next;
421 }WFDHIDCCategoryList;
422
423 typedef struct {
424   gboolean uibcsupported;
425   WFDInputCategoryList input_category_list;
426   WFDGenericCategoryList generic_cap_list;
427   WFDHIDCCategoryList hidc_cap_list;
428   guint32 tcp_port;
429 } WFDUibcCapability;
430
431 typedef struct {
432   gboolean uibc_setting;
433 } WFDUibcSetting;
434
435 typedef struct {
436   gboolean standby_resume_cap;
437 } WFDStandbyResumeCapability;
438
439 typedef struct {
440   gboolean wfd_standby;
441 } WFDStandby;
442
443 typedef struct {
444   gboolean supported;
445   gint32 connector_type;
446 } WFDConnectorType;
447
448 typedef struct {
449   gboolean idr_request;
450 } WFDIdrRequest;
451
452 /***********************************************************/
453
454 typedef struct {
455
456   WFDAudioCodeclist *audio_codecs;
457   WFDVideoCodeclist *video_formats;
458   WFD3DFormats *video_3d_formats;
459   WFDContentProtection *content_protection;
460   WFDDisplayEdid *display_edid;
461   WFDCoupledSink *coupled_sink;
462   WFDTriggerMethod *trigger_method;
463   WFDPresentationUrl *presentation_url;
464   WFDClientRtpPorts *client_rtp_ports;
465   WFDRoute *route;
466   WFDI2C *I2C;
467   WFDAVFormatChangeTiming *av_format_change_timing;
468   WFDPreferredDisplayMode *preferred_display_mode;
469   WFDUibcCapability *uibc_capability;
470   WFDUibcSetting *uibc_setting;
471   WFDStandbyResumeCapability *standby_resume_capability;
472   WFDStandby *standby;
473   WFDConnectorType *connector_type;
474   WFDIdrRequest *idr_request;
475 } WFDMessage;
476
477 /* Session descriptions */
478 WFDResult wfdconfig_message_new                 (WFDMessage **msg);
479 WFDResult wfdconfig_message_init                (WFDMessage *msg);
480 WFDResult wfdconfig_message_uninit              (WFDMessage *msg);
481 WFDResult wfdconfig_message_free                (WFDMessage *msg);
482 WFDResult wfdconfig_message_parse_buffer        (const guint8 *data, guint size, WFDMessage *msg);
483 gchar* wfdconfig_message_as_text                (const WFDMessage *msg);
484 gchar* wfdconfig_parameter_names_as_text        (const WFDMessage *msg);
485 WFDResult wfdconfig_message_dump                (const WFDMessage *msg);
486
487
488 WFDResult wfdconfig_set_supported_audio_format(WFDMessage *msg,
489                                                                                                 guint aCodec, guint aFreq, guint aChanels,
490                                                                                                 guint aBitwidth, guint32 aLatency);
491 WFDResult wfdconfig_set_prefered_audio_format(WFDMessage *msg,
492                                                                                                 WFDAudioFormats aCodec, WFDAudioFreq aFreq, WFDAudioChannels aChanels,
493                                                                                                 guint aBitwidth, guint32 aLatency);
494 WFDResult wfdconfig_get_supported_audio_format(WFDMessage *msg,
495                                                                                                 guint *aCodec, guint *aFreq, guint *aChanels,
496                                                                                                 guint *aBitwidth, guint32 *aLatency);
497 WFDResult wfdconfig_get_prefered_audio_format(WFDMessage *msg,
498                                                                                                 WFDAudioFormats *aCodec, WFDAudioFreq *aFreq, WFDAudioChannels *aChanels,
499                                                                                                 guint *aBitwidth, guint32 *aLatency);
500
501 WFDResult wfdconfig_set_supported_video_format(WFDMessage *msg, WFDVideoCodecs vCodec,
502                                                                                                 WFDVideoNativeResolution vNative, guint64 vNativeResolution,
503                                                                                                 guint64 vCEAResolution, guint64 vVESAResolution, guint64 vHHResolution,
504                                                                                                 guint vProfile, guint vLevel, guint32 vLatency, guint32 vMaxHeight,
505                                                                                                 guint32 vMaxWidth, guint32 min_slice_size, guint32 slice_enc_params, guint frame_rate_control);
506 WFDResult wfdconfig_set_prefered_video_format(WFDMessage *msg, WFDVideoCodecs vCodec,
507                                                                                                 WFDVideoNativeResolution vNative, guint64 vNativeResolution,
508                                                                                                 WFDVideoCEAResolution vCEAResolution, WFDVideoVESAResolution vVESAResolution,
509                                                                                                 WFDVideoHHResolution vHHResolution,     WFDVideoH264Profile vProfile,
510                                                                                                 WFDVideoH264Level vLevel, guint32 vLatency, guint32 vMaxHeight,
511                                                                                                 guint32 vMaxWidth, guint32 min_slice_size, guint32 slice_enc_params, guint frame_rate_control);
512 WFDResult wfdconfig_get_supported_video_format(WFDMessage *msg, WFDVideoCodecs *vCodec,
513                                                                                                 WFDVideoNativeResolution *vNative, guint64 *vNativeResolution,
514                                                                                                 guint64 *vCEAResolution, guint64 *vVESAResolution, guint64 *vHHResolution,
515                                                                                                 guint *vProfile, guint *vLevel, guint32 *vLatency, guint32 *vMaxHeight,
516                                                                                                 guint32 *vMaxWidth, guint32 *min_slice_size, guint32 *slice_enc_params, guint *frame_rate_control);
517 WFDResult wfdconfig_get_prefered_video_format(WFDMessage *msg, WFDVideoCodecs *vCodec,
518                                                                                                 WFDVideoNativeResolution *vNative, guint64 *vNativeResolution,
519                                                                                                 WFDVideoCEAResolution *vCEAResolution, WFDVideoVESAResolution *vVESAResolution,
520                                                                                                 WFDVideoHHResolution *vHHResolution,    WFDVideoH264Profile *vProfile,
521                                                                                                 WFDVideoH264Level *vLevel, guint32 *vLatency, guint32 *vMaxHeight,
522                                                                                                 guint32 *vMaxWidth, guint32 *min_slice_size, guint32 *slice_enc_params, guint *frame_rate_control);
523
524 // Todo wfd-3d-formats
525
526 WFDResult wfdconfig_set_contentprotection_type(WFDMessage *msg, WFDHDCPProtection hdcpversion, guint32 TCPPort);
527 WFDResult wfdconfig_get_contentprotection_type(WFDMessage *msg, WFDHDCPProtection *hdcpversion, guint32 *TCPPort);
528
529 WFDResult wfdconfig_set_display_EDID(WFDMessage *msg, gboolean edid_supported, guint32 edid_blockcount, gchar *edid_playload);
530 WFDResult wfdconfig_get_display_EDID(WFDMessage *msg, gboolean *edid_supported, guint32 *edid_blockcount, gchar **edid_playload);
531
532
533 WFDResult wfdconfig_set_coupled_sink(WFDMessage *msg, WFDCoupledSinkStatus status, gchar *sink_address);
534 WFDResult wfdconfig_get_coupled_sink(WFDMessage *msg, WFDCoupledSinkStatus *status, gchar **sink_address);
535
536 WFDResult wfdconfig_set_trigger_type(WFDMessage *msg, WFDTrigger trigger);
537 WFDResult wfdconfig_get_trigger_type(WFDMessage *msg, WFDTrigger *trigger);
538
539 WFDResult wfdconfig_set_presentation_url(WFDMessage *msg, gchar *wfd_url0, gchar *wfd_url1);
540 WFDResult wfdconfig_get_presentation_url(WFDMessage *msg, gchar **wfd_url0, gchar **wfd_url1);
541
542 WFDResult wfdconfig_set_prefered_RTP_ports(WFDMessage *msg, WFDRTSPTransMode trans, WFDRTSPProfile profile,
543                                                                                                 WFDRTSPLowerTrans lowertrans, guint32 rtp_port0, guint32 rtp_port1);
544 WFDResult wfdconfig_get_prefered_RTP_ports(WFDMessage *msg, WFDRTSPTransMode *trans, WFDRTSPProfile *profile,
545                                                                                                 WFDRTSPLowerTrans *lowertrans, guint32 *rtp_port0, guint32 *rtp_port1);
546
547 WFDResult wfdconfig_set_audio_sink_type(WFDMessage *msg, WFDSinkType sinktype);
548 WFDResult wfdconfig_get_audio_sink_type(WFDMessage *msg, WFDSinkType *sinktype);
549
550 WFDResult wfdconfig_set_I2C_port(WFDMessage *msg, gboolean i2csupport, guint32 i2cport);
551 WFDResult wfdconfig_get_I2C_port(WFDMessage *msg, gboolean *i2csupport, guint32 *i2cport);
552
553 WFDResult wfdconfig_set_av_format_change_timing(WFDMessage *msg, guint64 PTS, guint64 DTS);
554 WFDResult wfdconfig_get_av_format_change_timing(WFDMessage *msg, guint64 *PTS, guint64 *DTS);
555
556 // Todo wfd-preferred-display-mode
557
558 WFDResult wfdconfig_set_uibc_capability(WFDMessage *msg, guint32 input_category, guint32 inp_type, WFDHIDCTypePathPair *inp_pair,
559                                                                                                 guint32 inp_type_path_count, guint32 tcp_port);
560 WFDResult wfdconfig_get_uibc_capability(WFDMessage *msg, guint32 *input_category, guint32 *inp_type, WFDHIDCTypePathPair **inp_pair,
561                                                                                                 guint32 *inp_type_path_count, guint32 *tcp_port);
562
563 WFDResult wfdconfig_set_uibc_status(WFDMessage *msg, gboolean uibc_enable);
564 WFDResult wfdconfig_get_uibc_status(WFDMessage *msg, gboolean *uibc_enable);
565
566 WFDResult wfdconfig_set_standby_resume_capability(WFDMessage *msg, gboolean supported);
567 WFDResult wfdconfig_get_standby_resume_capability(WFDMessage *msg, gboolean *supported);
568
569 WFDResult wfdconfig_set_standby(WFDMessage *msg, gboolean standby_enable);
570 WFDResult wfdconfig_get_standby(WFDMessage *msg, gboolean *standby_enable);
571
572 WFDResult wfdconfig_set_connector_type(WFDMessage *msg, WFDConnector connector);
573 WFDResult wfdconfig_get_connector_type(WFDMessage *msg, WFDConnector *connector);
574
575 WFDResult wfdconfig_set_idr_request(WFDMessage *msg);
576
577 G_END_DECLS
578
579 #endif /* __GST_WFD_CONFIG_MESSAGE_H__ */