diff options
Diffstat (limited to 'dom/media/webrtc/jsep/SsrcGenerator.cpp')
-rw-r--r-- | dom/media/webrtc/jsep/SsrcGenerator.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dom/media/webrtc/jsep/SsrcGenerator.cpp b/dom/media/webrtc/jsep/SsrcGenerator.cpp new file mode 100644 index 0000000000..50025007d1 --- /dev/null +++ b/dom/media/webrtc/jsep/SsrcGenerator.cpp @@ -0,0 +1,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 |