blob: 55994d36933c66fdb8af1aeeeeaed656bdedc88b [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// The <code>chrome.cast.streaming.rtpStream</code> API allows configuration
// of encoding parameters and RTP parameters used in a Cast streaming
// session.
namespace cast.streaming.rtpStream {
// Params for audio and video codec.
dictionary CodecSpecificParams {
DOMString key;
DOMString value;
};
// RTP payload param.
dictionary RtpPayloadParams {
long payloadType;
DOMString codecName;
// Synchronization source identifier.
long? ssrc;
long? clockRate;
long? minBitrate;
long? maxBitrate;
// The number of channels.
long? channels;
// Video width in pixels.
long? width;
// Video height in pixels.
long? height;
// A list of codec specific params.
CodecSpecificParams[] codecSpecificParams;
};
// Cast RTP capabilities.
dictionary RtpCaps {
// RTP payload params.
RtpPayloadParams[] payloads;
DOMString[] rtcpFeatures;
};
// Cast RTP parameters.
dictionary RtpParams {
// RTP payload params.
RtpPayloadParams[] payloads;
DOMString[] rtcpFeatures;
};
// Callback from the <code>create</code> method.
// |id| : The ID for the RTP stream.
callback CreateCallback = void (long streamId);
interface Functions {
// Destroys a Cast RTP stream.
// |streamId| : The RTP stream ID.
[nocompile] static void destroy(long streamId);
// Returns capabilities of the RTP stream.
// |streamId| : The RTP stream ID.
[nocompile] static RtpCaps getCaps(long streamId);
// Activates the RTP stream by providing the parameters.
// |streamId| : The RTP stream ID.
// |params| : Parameters set for this stream.
[nocompile] static void start(long streamId, RtpParams params);
// Stops activity on the specified stream.
// |streamId| : The RTP stream ID.
[nocompile] static void stop(long streamId);
};
interface Events {
// Event fired when a Cast RTP stream has started.
// |streamId| : The ID of the RTP stream.
static void onStarted(long streamId);
// Event fired when a Cast RTP stream has stopped.
// |streamId| : The ID of the RTP stream.
static void onStopped(long streamId);
// Event fired when a Cast RTP stream has error.
// |streamId| : The ID of the RTP stream.
// |errorString| : The error info.
static void onError(long streamId, DOMString errorString);
};
};