summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/jsep/SsrcGenerator.cpp
blob: 50025007d175e17ae019bd7b6efdf49fac22bc98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* 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 http://mozilla.org/MPL/2.0/. */

#include "jsep/SsrcGenerator.h"
#include "pk11pub.h"

namespace mozilla {

bool SsrcGenerator::GenerateSsrc(uint32_t* ssrc) {
  do {
    SECStatus rv = PK11_GenerateRandom(reinterpret_cast<unsigned char*>(ssrc),
                                       sizeof(uint32_t));
    if (rv != SECSuccess) {
      return false;
    }
  } while (mSsrcs.count(*ssrc));
  mSsrcs.insert(*ssrc);

  return true;
}
}  // namespace mozilla