Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / api / cast_streaming_session.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.cast.streaming.session</code> API creates a Cast
6 // session using WebMediaStreamTrack as sources. The session is composed
7 // by RTP streams and a network transport.
8 //
9 // Calling this API will generate corresponding resources for use with
10 // chrome.cast.streaming.rtpStream and chrome.cast.streaming.udpTransport
11 // APIs.
12 //
13 // Valid resource IDs are positive and non-zero.
14 namespace cast.streaming.session {
15   // Callback from the <code>create</code> method.
16   // |audioStreamId| : The audio RTP stream ID.
17   // |videoStreamId| : The video RTP stream ID.
18   // |udpTransportId| : The UDP transport ID.
19   callback CreateCallback = void (long audioStreamId,
20                                   long videoStreamId,
21                                   long udpTransportId);
22
23   interface Functions {
24     // Creates a Cast session using the provided audio and video track as
25     // source. This will create two RTP streams and a UDP transport that
26     // builds the session.
27     //
28     // |audioTrack| : the source audio track.
29     // |videoTrack| : the source video track.
30     // |callback| : Called when the sesion has been created.
31     [nocompile] static void create(
32         [instanceOf=MediaStreamTrack] object audioTrack,
33         [instanceOf=MediaStreamTrack] object videoTrack,
34         CreateCallback callback);
35   };
36 };