Danil Chapovalov 164b3b3fce Introduce ModuleRtpRtcpImpl factory that accepts Environment
ModuleRtpRtcpImpl and ModuleRtpRtcpImpl2 share certain components, RtcpReceiver in particular.
To always have Environment in RtcpReceiver both legacy and new module need to propagate it.

No-Iwyu: suggests too many changes, better address them separately.
Bug: webrtc:362762208
Change-Id: I2c885f57e24f135229fb7cd9781126d663017b3d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361142
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42908}
2024-09-02 10:24:12 +00:00

40 lines
1.2 KiB
C++

/*
* Copyright (c) 2012 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 MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_H_
#define MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_H_
#include <memory>
#include "api/environment/environment.h"
#include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
namespace webrtc {
// A deprecated version of the RtpRtcp module.
class [[deprecated("bugs.webrtc.org/42224904")]] RtpRtcp
: public RtpRtcpInterface {
public:
[[deprecated("bugs.webrtc.org/362762208")]] //
static std::unique_ptr<RtpRtcp>
Create(const Configuration& configuration);
[[deprecated("bugs.webrtc.org/42224904")]] //
static std::unique_ptr<RtpRtcp>
Create(const Environment& env, const Configuration& configuration);
// Process any pending tasks such as timeouts.
virtual void Process() = 0;
};
} // namespace webrtc
#endif // MODULES_RTP_RTCP_INCLUDE_RTP_RTCP_H_