summaryrefslogtreecommitdiffstats
path: root/dom/media/bridge/IPeerConnection.idl
blob: 37e66e98774c7ea84553ac2dedf4c7182c77a12c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */

#include "nsIThread.idl"
#include "nsIDOMWindow.idl"
#include "nsIPropertyBag2.idl"

/* Do not confuse with nsIDOMRTCPeerConnection. This interface is purely for
 * communication between the PeerConnection JS DOM binding and the C++
 * implementation in SIPCC.
 *
 * See media/webrtc/signaling/include/PeerConnectionImpl.h
 */
[scriptable, uuid(d7dfe148-0416-446b-a128-66a7c71ae8d3)]
interface IPeerConnectionObserver : nsISupports
{
};

[scriptable, uuid(14afc8e7-e421-4d0c-99a5-69308d871481)]
interface IPeerConnection : nsISupports
{
  const unsigned long kHintAudio = 0x00000001;
  const unsigned long kHintVideo = 0x00000002;

  const long kActionNone = -1;
  const long kActionOffer = 0;
  const long kActionAnswer = 1;
  const long kActionPRAnswer = 2;
  const long kActionRollback = 3;

  const long kIceGathering = 0;
  const long kIceWaiting = 1;
  const long kIceChecking = 2;
  const long kIceConnected = 3;
  const long kIceFailed = 4;

  /* for readyState on Peer Connection */
  const long kNew = 0;
  const long kNegotiating = 1;
  const long kActive = 2;
  const long kClosing = 3;
  const long kClosed = 4;

  /* for 'type' in DataChannelInit dictionary */
  const unsigned short kDataChannelReliable = 0;
  const unsigned short kDataChannelPartialReliableRexmit = 1;
  const unsigned short kDataChannelPartialReliableTimed = 2;

  /* Constants for 'name' in error callbacks */
  const unsigned long kNoError                          = 0; // Test driver only
  const unsigned long kInvalidCandidate                 = 2;
  const unsigned long kInvalidMediastreamTrack          = 3;
  const unsigned long kInvalidState                     = 4;
  const unsigned long kInvalidSessionDescription        = 5;
  const unsigned long kIncompatibleSessionDescription   = 6;
  const unsigned long kIncompatibleMediaStreamTrack     = 8;
  const unsigned long kInternalError                    = 9;
  const unsigned long kTypeError                        = 10;
  const unsigned long kOperationError                   = 11;
  const unsigned long kMaxErrorType                     = 11; // Same as final error
};