0813b6794be92a0b0211205943776fdccedc95a7
[platform/core/multimedia/gst-rtsp-server-wfd.git] / src / include / wfdconfigmessage.h
1 /* GStreamer
2  * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20
21
22 #ifndef __GST_WFD_CONFIG_MESSAGE_H__
23 #define __GST_WFD_CONFIG_MESSAGE_H__
24
25 #include <glib.h>
26
27 G_BEGIN_DECLS
28
29 /**
30  * WFDResult:
31  * @WFD_OK: A successful return value
32  * @WFD_EINVAL: a function was given invalid parameters
33  *
34  * Return values for the WFD_CONFIG functions.
35  */
36 typedef enum {
37   WFD_OK     = 0,
38   WFD_EINVAL = -1
39 } WFDResult;
40
41 typedef enum {
42   WFD_AUDIO_UNKNOWN     = 0,
43   WFD_AUDIO_LPCM                = (1 << 0),
44   WFD_AUDIO_AAC         = (1 << 1),
45   WFD_AUDIO_AC3         = (1 << 2)
46 }WFDAudioFormats;
47
48 typedef enum {
49   WFD_FREQ_UNKNOWN = 0,
50   WFD_FREQ_44100         = (1 << 0),
51   WFD_FREQ_48000         = (1 << 1)
52 }WFDAudioFreq;
53
54 typedef enum {
55   WFD_CHANNEL_UNKNOWN = 0,
56   WFD_CHANNEL_2                 = (1 << 0),
57   WFD_CHANNEL_4         = (1 << 1),
58   WFD_CHANNEL_6         = (1 << 2),
59   WFD_CHANNEL_8         = (1 << 3)
60 }WFDAudioChannels;
61
62
63 typedef enum {
64   WFD_VIDEO_UNKNOWN = 0,
65   WFD_VIDEO_H264          = (1 << 0)
66 }WFDVideoCodecs;
67
68 typedef enum {
69   WFD_VIDEO_CEA_RESOLUTION = 0,
70   WFD_VIDEO_VESA_RESOLUTION,
71   WFD_VIDEO_HH_RESOLUTION
72 }WFDVideoNativeResolution;
73
74 typedef enum {
75   WFD_CEA_UNKNOWN               = 0,
76   WFD_CEA_640x480P60    = (1 << 0),
77   WFD_CEA_720x480P60    = (1 << 1),
78   WFD_CEA_720x480I60    = (1 << 2),
79   WFD_CEA_720x576P50    = (1 << 3),
80   WFD_CEA_720x576I50    = (1 << 4),
81   WFD_CEA_1280x720P30   = (1 << 5),
82   WFD_CEA_1280x720P60   = (1 << 6),
83   WFD_CEA_1920x1080P30= (1 << 7),
84   WFD_CEA_1920x1080P60= (1 << 8),
85   WFD_CEA_1920x1080I60= (1 << 9),
86   WFD_CEA_1280x720P25   = (1 << 10),
87   WFD_CEA_1280x720P50   = (1 << 11),
88   WFD_CEA_1920x1080P25= (1 << 12),
89   WFD_CEA_1920x1080P50= (1 << 13),
90   WFD_CEA_1920x1080I50= (1 << 14),
91   WFD_CEA_1280x720P24   = (1 << 15),
92   WFD_CEA_1920x1080P24= (1 << 16)
93 }WFDVideoCEAResolution;
94
95 typedef enum {
96   WFD_VESA_UNKNOWN              = 0,
97   WFD_VESA_800x600P30   = (1 << 0),
98   WFD_VESA_800x600P60           = (1 << 1),
99   WFD_VESA_1024x768P30  = (1 << 2),
100   WFD_VESA_1024x768P60  = (1 << 3),
101   WFD_VESA_1152x864P30  = (1 << 4),
102   WFD_VESA_1152x864P60  = (1 << 5),
103   WFD_VESA_1280x768P30  = (1 << 6),
104   WFD_VESA_1280x768P60  = (1 << 7),
105   WFD_VESA_1280x800P30  = (1 << 8),
106   WFD_VESA_1280x800P60  = (1 << 9),
107   WFD_VESA_1360x768P30  = (1 << 10),
108   WFD_VESA_1360x768P60  = (1 << 11),
109   WFD_VESA_1366x768P30  = (1 << 12),
110   WFD_VESA_1366x768P60  = (1 << 13),
111   WFD_VESA_1280x1024P30 = (1 << 14),
112   WFD_VESA_1280x1024P60 = (1 << 15),
113   WFD_VESA_1400x1050P30 = (1 << 16),
114   WFD_VESA_1400x1050P60 = (1 << 17),
115   WFD_VESA_1440x900P30  = (1 << 18),
116   WFD_VESA_1440x900P60  = (1 << 19),
117   WFD_VESA_1600x900P30  = (1 << 20),
118   WFD_VESA_1600x900P60  = (1 << 21),
119   WFD_VESA_1600x1200P30 = (1 << 22),
120   WFD_VESA_1600x1200P60 = (1 << 23),
121   WFD_VESA_1680x1024P30 = (1 << 24),
122   WFD_VESA_1680x1024P60 = (1 << 25),
123   WFD_VESA_1680x1050P30 = (1 << 26),
124   WFD_VESA_1680x1050P60 = (1 << 27),
125   WFD_VESA_1920x1200P30 = (1 << 28),
126   WFD_VESA_1920x1200P60 = (1 << 29)
127 }WFDVideoVESAResolution;
128
129 typedef enum {
130   WFD_HH_UNKNOWN                = 0,
131   WFD_HH_800x480P30     = (1 << 0),
132   WFD_HH_800x480P60     = (1 << 1),
133   WFD_HH_854x480P30     = (1 << 2),
134   WFD_HH_854x480P60     = (1 << 3),
135   WFD_HH_864x480P30     = (1 << 4),
136   WFD_HH_864x480P60     = (1 << 5),
137   WFD_HH_640x360P30     = (1 << 6),
138   WFD_HH_640x360P60     = (1 << 7),
139   WFD_HH_960x540P30     = (1 << 8),
140   WFD_HH_960x540P60     = (1 << 9),
141   WFD_HH_848x480P30     = (1 << 10),
142   WFD_HH_848x480P60     = (1 << 11)
143 }WFDVideoHHResolution;
144
145 typedef enum {
146   WFD_H264_UNKNOWN_PROFILE= 0,
147   WFD_H264_BASE_PROFILE = (1 << 0),
148   WFD_H264_HIGH_PROFILE = (1 << 1)
149 }WFDVideoH264Profile;
150
151 typedef enum {
152   WFD_H264_LEVEL_UNKNOWN = 0,
153   WFD_H264_LEVEL_3_1   = (1 << 0),
154   WFD_H264_LEVEL_3_2   = (1 << 1),
155   WFD_H264_LEVEL_4       = (1 << 2),
156   WFD_H264_LEVEL_4_1   = (1 << 3),
157   WFD_H264_LEVEL_4_2   = (1 << 4)
158 }WFDVideoH264Level;
159
160 typedef enum {
161   WFD_HDCP_NONE = 0,
162   WFD_HDCP_2_0  = (1 << 0),
163   WFD_HDCP_2_1  = (1 << 1)
164 }WFDHDCPProtection;
165
166 typedef enum {
167   WFD_SINK_UNKNOWN = -1,
168   WFD_SINK_NOT_COUPLED  = 0,
169   WFD_SINK_COUPLED,
170   WFD_SINK_TEARDOWN_COUPLING,
171   WFD_SINK_RESERVED
172 }WFDCoupledSinkStatus;
173
174 typedef enum {
175   WFD_TRIGGER_UNKNOWN = 0,
176   WFD_TRIGGER_SETUP,
177   WFD_TRIGGER_PAUSE,
178   WFD_TRIGGER_TEARDOWN,
179   WFD_TRIGGER_PLAY
180 }WFDTrigger;
181
182 typedef enum {
183   WFD_RTSP_TRANS_UNKNOWN =  0,
184   WFD_RTSP_TRANS_RTP     = (1 << 0),
185   WFD_RTSP_TRANS_RDT     = (1 << 1)
186 } WFDRTSPTransMode;
187
188 typedef enum {
189   WFD_RTSP_PROFILE_UNKNOWN =  0,
190   WFD_RTSP_PROFILE_AVP     = (1 << 0),
191   WFD_RTSP_PROFILE_SAVP    = (1 << 1)
192 } WFDRTSPProfile;
193
194 typedef enum {
195   WFD_RTSP_LOWER_TRANS_UNKNOWN   = 0,
196   WFD_RTSP_LOWER_TRANS_UDP       = (1 << 0),
197   WFD_RTSP_LOWER_TRANS_UDP_MCAST = (1 << 1),
198   WFD_RTSP_LOWER_TRANS_TCP       = (1 << 2),
199   WFD_RTSP_LOWER_TRANS_HTTP      = (1 << 3)
200 } WFDRTSPLowerTrans;
201
202 typedef enum {
203   WFD_PRIMARY_SINK   = 0,
204   WFD_SECONDARY_SINK
205 }WFDSinkType;
206
207 typedef enum {
208   WFD_UIBC_INPUT_CAT_UNKNOWN   = 0,
209   WFD_UIBC_INPUT_CAT_GENERIC   = (1 << 0),
210   WFD_UIBC_INPUT_CAT_HIDC      = (1 << 1),
211 }WFDUibcinput_cat;
212
213 typedef enum {
214   WFD_UIBC_INPUT_TYPE_UNKNOWN        = 0,
215   WFD_UIBC_INPUT_TYPE_KEYBOARD       = (1 << 0),
216   WFD_UIBC_INPUT_TYPE_MOUSE          = (1 << 1),
217   WFD_UIBC_INPUT_TYPE_SINGLETOUCH    = (1 << 2),
218   WFD_UIBC_INPUT_TYPE_MULTITOUCH     = (1 << 3),
219   WFD_UIBC_INPUT_TYPE_JOYSTICK       = (1 << 4),
220   WFD_UIBC_INPUT_TYPE_CAMERA         = (1 << 5),
221   WFD_UIBC_INPUT_TYPE_GESTURE        = (1 << 6),
222   WFD_UIBC_INPUT_TYPE_REMOTECONTROL  = (1 << 7)
223 }WFDUibcinp_type;
224
225 typedef enum {
226   WFD_UIBC_INPUT_PATH_UNKNOWN   = 0,
227   WFD_UIBC_INPUT_PATH_INFRARED  = (1 << 0),
228   WFD_UIBC_INPUT_PATH_USB       = (1 << 1),
229   WFD_UIBC_INPUT_PATH_BT        = (1 << 2),
230   WFD_UIBC_INPUT_PATH_ZIGBEE    = (1 << 3),
231   WFD_UIBC_INPUT_PATH_WIFI      = (1 << 4),
232   WFD_UIBC_INPUT_PATH_NOSP      = (1 << 5)
233 }WFDUibcinp_path;
234
235 typedef enum {
236   WFD_CONNECTOR_VGA           = 0,
237   WFD_CONNECTOR_S,
238   WFD_CONNECTOR_COMPOSITE,
239   WFD_CONNECTOR_COMPONENT,
240   WFD_CONNECTOR_DVI,
241   WFD_CONNECTOR_HDMI,
242   WFD_CONNECTOR_LVDS,
243   WFD_CONNECTOR_RESERVED_7,
244   WFD_CONNECTOR_JAPANESE_D,
245   WFD_CONNECTOR_SDI,
246   WFD_CONNECTOR_DP,
247   WFD_CONNECTOR_RESERVED_11,
248   WFD_CONNECTOR_UDI,
249   WFD_CONNECTOR_NO           = 254,
250   WFD_CONNECTOR_PHYSICAL     = 255
251 }WFDConnector;
252
253
254 typedef struct {
255   gchar *audio_format;
256   guint32 modes;
257   guint latency;
258 } WFDAudioCodec;
259
260 typedef struct {
261   guint count;
262   WFDAudioCodec *list;
263 } WFDAudioCodeclist;
264
265
266 typedef struct {
267   guint CEA_Support;
268   guint VESA_Support;
269   guint HH_Support;
270   guint latency;
271   guint min_slice_size;
272   guint slice_enc_params;
273   guint frame_rate_control_support;
274 } WFDVideoH264MiscParams;
275
276 typedef struct {
277   guint profile;
278   guint level;
279   guint max_hres;
280   guint max_vres;
281   WFDVideoH264MiscParams misc_params;
282 } WFDVideoH264Codec;
283
284 typedef struct {
285   guint native;
286   guint preferred_display_mode_supported;
287   WFDVideoH264Codec H264_codec;
288 } WFDVideoCodec;
289
290 typedef struct {
291   guint                 count;
292   WFDVideoCodec *list;
293 } WFDVideoCodeclist;
294
295 typedef struct {
296   guint video_3d_capability;
297   guint latency;
298   guint min_slice_size;
299   guint slice_enc_params;
300   guint frame_rate_control_support;
301 } WFD3DVideoH264MiscParams;
302
303 typedef struct {
304   guint profile;
305   guint level;
306   WFD3DVideoH264MiscParams misc_params;
307   guint max_hres;
308   guint max_vres;
309 } WFD3DVideoH264Codec;
310
311 typedef struct {
312   guint native;
313   guint preferred_display_mode_supported;
314   WFD3DVideoH264Codec H264_codec;
315 } WFD3dCapList;
316
317 typedef struct {
318   guint                 count;
319   WFD3dCapList *list;
320 } WFD3DFormats;
321
322 typedef struct {
323   gchar *hdcpversion;
324   gchar *TCPPort;
325 } WFDHdcp2Spec;
326
327 typedef struct {
328   WFDHdcp2Spec *hdcp2_spec;
329 } WFDContentProtection;
330
331 typedef struct {
332   guint edid_supported;
333   guint edid_block_count;
334   gchar *edid_payload;
335 } WFDDisplayEdid;
336
337
338 typedef struct {
339   guint status;
340   gchar *sink_address;
341 } WFDCoupled_sink_cap;
342
343 typedef struct {
344         WFDCoupled_sink_cap *coupled_sink_cap;
345 } WFDCoupledSink;
346
347 typedef struct {
348   gchar *wfd_trigger_method;
349 } WFDTriggerMethod;
350
351 typedef struct {
352   gchar *wfd_url0;
353   gchar *wfd_url1;
354 } WFDPresentationUrl;
355
356 typedef struct {
357   gchar *profile;
358   guint32 rtp_port0;
359   guint32 rtp_port1;
360   gchar *mode;
361 } WFDClientRtpPorts;
362
363 typedef struct {
364  gchar *destination;
365 } WFDRoute;
366
367 typedef struct {
368   gboolean I2CPresent;
369   guint32 I2C_port;
370 } WFDI2C;
371
372 typedef struct {
373   guint64 PTS;
374   guint64 DTS;
375 } WFDAVFormatChangeTiming;
376
377 typedef struct {
378   gboolean displaymodesupported;
379   guint64 p_clock;
380   guint32 H;
381   guint32 HB;
382   guint32 HSPOL_HSOFF;
383   guint32 HSW;
384   guint32 V;
385   guint32 VB;
386   guint32 VSPOL_VSOFF;
387   guint32 VSW;
388   guint VBS3D;
389   guint R;
390   guint V2d_s3d_modes;
391   guint P_depth;
392   WFDVideoH264Codec H264_codec;
393 } WFDPreferredDisplayMode;
394
395 typedef struct {
396   guint32 input_cat;
397 }WFDInputCategoryList;
398
399 typedef struct {
400   guint32 inp_type;
401 }WFDGenericCategoryList;
402
403 typedef struct _detailed_cap detailed_cap;
404
405 typedef struct {
406   WFDUibcinp_type inp_type;
407   WFDUibcinp_path inp_path;
408 }WFDHIDCTypePathPair;
409
410 struct _detailed_cap {
411   WFDHIDCTypePathPair p;
412   detailed_cap *next;
413 };
414
415 typedef struct {
416   guint cap_count;
417   detailed_cap *next;
418 }WFDHIDCCategoryList;
419
420 typedef struct {
421   gboolean uibcsupported;
422   WFDInputCategoryList input_category_list;
423   WFDGenericCategoryList generic_cap_list;
424   WFDHIDCCategoryList hidc_cap_list;
425   guint32 tcp_port;
426 } WFDUibcCapability;
427
428 typedef struct {
429   gboolean uibc_setting;
430 } WFDUibcSetting;
431
432 typedef struct {
433   gchar *standby_resume_cap;
434 } WFDStandbyResumeCapability;
435
436 typedef struct {
437   gboolean wfd_standby;
438 } WFDStandby;
439
440 typedef struct {
441   gboolean supported;
442   gint32 connector_type;
443 } WFDConnectorType;
444
445 typedef struct {
446   gboolean idr_request;
447 } WFDIdrRequest;
448
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
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
578 G_END_DECLS
579
580 #endif /* __GST_WFD_CONFIG_MESSAGE_H__ */