blob: 8c26b22eb74f83b8e9505655cc1a62608dc36716 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
pwestin@webrtc.orgcac78782012-04-05 08:30:10 +00002 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00003 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef MODULES_RTP_RTCP_SOURCE_TMMBR_HELP_H_
12#define MODULES_RTP_RTCP_SOURCE_TMMBR_HELP_H_
niklase@google.com470e71d2011-07-07 08:21:25 +000013
Yves Gerey988cc082018-10-23 12:03:01 +020014#include <stdint.h>
Jonas Olssona4d87372019-07-05 19:08:33 +020015
hta@webrtc.org54536bb2012-05-03 14:07:23 +000016#include <vector>
Yves Gerey988cc082018-10-23 12:03:01 +020017
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020018#include "modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h"
niklase@google.com470e71d2011-07-07 08:21:25 +000019
20namespace webrtc {
niklase@google.com470e71d2011-07-07 08:21:25 +000021
danilchap262e4862016-08-05 03:37:38 -070022class TMMBRHelp {
23 public:
danilchap2f69ce92016-08-16 03:21:38 -070024 static std::vector<rtcp::TmmbItem> FindBoundingSet(
25 std::vector<rtcp::TmmbItem> candidates);
niklase@google.com470e71d2011-07-07 08:21:25 +000026
Danil Chapovalovdaa90a72016-08-10 11:29:50 +020027 static bool IsOwner(const std::vector<rtcp::TmmbItem>& bounding,
28 uint32_t ssrc);
niklase@google.com470e71d2011-07-07 08:21:25 +000029
danilchap2f69ce92016-08-16 03:21:38 -070030 static uint64_t CalcMinBitrateBps(
31 const std::vector<rtcp::TmmbItem>& candidates);
niklase@google.com470e71d2011-07-07 08:21:25 +000032};
pbos@webrtc.orgd900e8b2013-07-03 15:12:26 +000033} // namespace webrtc
niklase@google.com470e71d2011-07-07 08:21:25 +000034
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020035#endif // MODULES_RTP_RTCP_SOURCE_TMMBR_HELP_H_