GetSimulcastConfig had to be overloaded in order to not break downstream client tests when the API was changed. Now that the downstream client has been updated to use the new API, we can remove the overloaded function. Bug: webrtc:8630 Change-Id: I5d5d494e0579e60858d6efbb4715761394874b38 Reviewed-on: https://webrtc-review.googlesource.com/38882 Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Commit-Queue: Seth Hampson <shampson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21590}
65 lines
2.3 KiB
C++
65 lines
2.3 KiB
C++
/*
|
|
* Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef MEDIA_ENGINE_SIMULCAST_H_
|
|
#define MEDIA_ENGINE_SIMULCAST_H_
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "call/video_config.h"
|
|
#include "rtc_base/basictypes.h"
|
|
|
|
namespace cricket {
|
|
struct StreamParams;
|
|
|
|
// TODO(sprang): Remove this, as we're moving away from temporal layer mode.
|
|
// Config for use with screen cast when temporal layers are enabled.
|
|
struct ScreenshareLayerConfig {
|
|
public:
|
|
ScreenshareLayerConfig(int tl0_bitrate, int tl1_bitrate);
|
|
|
|
// Bitrates, for temporal layers 0 and 1.
|
|
int tl0_bitrate_kbps;
|
|
int tl1_bitrate_kbps;
|
|
|
|
static ScreenshareLayerConfig GetDefault();
|
|
|
|
// Parse bitrate from group name on format "(tl0_bitrate)-(tl1_bitrate)",
|
|
// eg. "100-1000" for the default rates.
|
|
static bool FromFieldTrialGroup(const std::string& group,
|
|
ScreenshareLayerConfig* config);
|
|
};
|
|
|
|
// TODO(pthatcher): Write unit tests just for these functions,
|
|
// independent of WebrtcVideoEngine.
|
|
|
|
int GetTotalMaxBitrateBps(const std::vector<webrtc::VideoStream>& streams);
|
|
|
|
// Get the ssrcs of the SIM group from the stream params.
|
|
void GetSimulcastSsrcs(const StreamParams& sp, std::vector<uint32_t>* ssrcs);
|
|
|
|
// Get simulcast settings.
|
|
// TODO(sprang): Remove default parameter when it's not longer referenced.
|
|
std::vector<webrtc::VideoStream> GetSimulcastConfig(size_t max_streams,
|
|
int width,
|
|
int height,
|
|
int max_bitrate_bps,
|
|
double bitrate_priority,
|
|
int max_qp,
|
|
int max_framerate,
|
|
bool is_screencast = false);
|
|
|
|
bool UseSimulcastScreenshare();
|
|
|
|
} // namespace cricket
|
|
|
|
#endif // MEDIA_ENGINE_SIMULCAST_H_
|