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 // Custom binding for the Cast Streaming RtpStream API.
7 var binding
= require('binding').Binding
.create('cast.streaming.rtpStream');
8 var natives
= requireNative('cast_streaming_natives');
10 binding
.registerCustomHook(function(bindingsAPI
, extensionId
) {
11 var apiFunctions
= bindingsAPI
.apiFunctions
;
13 apiFunctions
.setHandleRequest('destroy',
14 function(transportId
) {
15 natives
.DestroyCastRtpStream(transportId
);
17 apiFunctions
.setHandleRequest('getSupportedParams',
18 function(transportId
) {
19 return natives
.GetSupportedParamsCastRtpStream(transportId
);
21 apiFunctions
.setHandleRequest('start',
22 function(transportId
, params
) {
23 natives
.StartCastRtpStream(transportId
, params
);
25 apiFunctions
.setHandleRequest('stop',
26 function(transportId
) {
27 natives
.StopCastRtpStream(transportId
);
29 apiFunctions
.setHandleRequest('toggleLogging',
30 function(transportId
, enable
) {
31 natives
.ToggleLogging(transportId
, enable
);
33 apiFunctions
.setHandleRequest('getRawEvents',
34 function(transportId
, extraData
, callback
) {
35 natives
.GetRawEvents(transportId
, extraData
, callback
);
37 apiFunctions
.setHandleRequest('getStats',
38 function(transportId
, callback
) {
39 natives
.GetStats(transportId
, callback
);
43 exports
.binding
= binding
.generate();