Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / api / cast_streaming_udp_transport.idl
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // The <code>chrome.webrtc.castUdpTransport</code> API represents a UDP
6 // transport for Cast RTP streams. This API is not useful when standalone
7 // since it does not have send and receive methods.
8 // It is used to configure the UDP transport used in Cast session.
9 //
10 // Valid transport IDs are positive and non-zero.
11 namespace cast.streaming.udpTransport {
12   // The UDP socket address and port.
13   dictionary IPEndPoint {
14     DOMString address;
15     long port;
16   };
17
18   interface Functions {
19     // Destroys a UDP transport.
20     // |transportId| : The transport ID.
21     [nocompile] static void destroy(long transportId);
22
23     // Sets parameters for this UDP transport. This can only be called
24     // once per transport.
25     // |transportId| : The transport ID.
26     // |destination| : The address and port to send packets to.
27     [nocompile] static void setDestination(long transportId,
28                                            IPEndPoint destination);
29
30     // Sets the options.
31     // Attributes of this object will be used to activate optional
32     // behaviours in the transport. Normally this is only used for
33     // experimentation. Must be called before setDestination.
34     // |transportId| : The transport ID that is created by
35     // chrome.cast.streaming.session.create().
36     // |options| : A dictionary of key-value pairs of options.
37     // See media/cast/net/cast_transport_sender_impl.h for supported
38     // options.
39     [nocompile] static void setOptions(long transportId,
40                                        object options);
41   };
42 };