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 7var binding = require('binding').Binding.create('cast.streaming.rtpStream'); 8var natives = requireNative('cast_streaming_natives'); 9 10binding.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 43exports.binding = binding.generate(); 44