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