OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // The <code>chrome.cast.streaming.session</code> API creates a Cast | 5 // The <code>chrome.cast.streaming.session</code> API creates a Cast |
6 // session using WebMediaStreamTrack as sources. The session is composed | 6 // session using WebMediaStreamTrack as sources. The session is composed |
7 // by RTP streams and a network transport. | 7 // by RTP streams and a network transport. |
8 // | 8 // |
9 // Calling this API will generate corresponding resources for use with | 9 // Calling this API will generate corresponding resources for use with |
10 // chrome.cast.streaming.rtpStream and chrome.cast.streaming.udpTransport | 10 // chrome.cast.streaming.rtpStream and chrome.cast.streaming.udpTransport |
11 // APIs. | 11 // APIs. |
12 // | 12 // |
13 // Valid resource IDs are positive and non-zero. | 13 // Valid resource IDs are positive and non-zero. |
14 namespace cast.streaming.session { | 14 namespace cast.streaming.session { |
15 // Callback from the <code>create</code> method. | 15 // Callback from the <code>create</code> method. |
16 // |audioStreamId| : The audio RTP stream ID. | 16 // |audioStreamId| : The audio RTP stream ID. |
17 // |videoStreamId| : The video RTP stream ID. | 17 // |videoStreamId| : The video RTP stream ID. |
18 // |udpTransportId| : The UDP transport ID. | 18 // |udpTransportId| : The UDP transport ID. |
19 callback CreateCallback = void (long audioStreamId, | 19 callback CreateCallback = void (long audioStreamId, |
20 long videoStreamId, | 20 long videoStreamId, |
21 long udpTransportId); | 21 long udpTransportId); |
22 | 22 |
23 interface Functions { | 23 interface Functions { |
24 // Creates a Cast session using the provided audio and video track as | 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 | 25 // source. The tracks must be of type MediaStreamTrack. This will |
26 // builds the session. | 26 // create two RTP streams and a UDP transport that builds the session. |
| 27 // Either |audioTrack| or |videoTrack| can be null but not both. This |
| 28 // means creating a session with only audio or video. If a given |
| 29 // track is null then the created stream ID will be null. |
27 // | 30 // |
28 // |audioTrack| : the source audio track. | 31 // |audioTrack| : the source audio track. |
29 // |videoTrack| : the source video track. | 32 // |videoTrack| : the source video track. |
30 // |callback| : Called when the sesion has been created. | 33 // |callback| : Called when the sesion has been created. |
31 [nocompile] static void create( | 34 [nocompile,allowAmbiguousOptionalArguments] static void create( |
32 [instanceOf=MediaStreamTrack] object audioTrack, | 35 [instanceOf=MediaStreamTrack] optional object audioTrack, |
33 [instanceOf=MediaStreamTrack] object videoTrack, | 36 [instanceOf=MediaStreamTrack] optional object videoTrack, |
34 CreateCallback callback); | 37 CreateCallback callback); |
35 }; | 38 }; |
36 }; | 39 }; |
OLD | NEW |