Home | History | Annotate | Download | only in extensions
      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