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