Properly attach InfoBarContainer when it is swapped to a new WebContents
[chromium-blink-merge.git] / chrome / common / extensions / api / cast_streaming_session.idl
blob29d43d9e8a6832f6e35aa7ec10b4d06344f6600a
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.
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.
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);
23 interface Functions {
24 // Creates a Cast session using the provided audio and video track as
25 // source. The tracks must be of type MediaStreamTrack. This will
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.
31 // |audioTrack| : the source audio track.
32 // |videoTrack| : the source video track.
33 // |callback| : Called when the sesion has been created.
34 [nocompile,allowAmbiguousOptionalArguments] static void create(
35 [instanceOf=MediaStreamTrack] optional object audioTrack,
36 [instanceOf=MediaStreamTrack] optional object videoTrack,
37 CreateCallback callback);