Cleanup: Remove matured deprecated symbols with zero external usage This CL removes a batch of deprecated symbols from the WebRTC API and internal headers. All removed symbols have zero confirmed usage in downstream projects and have been deprecated for at least 3 months. Symbols retired in this iteration: * SdpAudioFormat::Parameters * EncodedImage::IsAtTargetQuality / SetAtTargetQuality * kRtpExtensionGenericFrameDescriptor00 * kRtpExtensionGenericFrameDescriptor02 Bug: webrtc:41480926 Change-Id: Id501c5779f65eb2bc5eff88c43c0a2a21f532893 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/467500 Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Auto-Submit: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47565}
diff --git a/api/audio_codecs/audio_format.h b/api/audio_codecs/audio_format.h index f7daf76..d390b19 100644 --- a/api/audio_codecs/audio_format.h +++ b/api/audio_codecs/audio_format.h
@@ -13,7 +13,6 @@ #include <stddef.h> -#include <map> #include <string> #include "absl/strings/string_view.h" @@ -26,9 +25,6 @@ // SDP specification for a single audio codec. struct RTC_EXPORT SdpAudioFormat { - using Parameters [[deprecated("Use CodecParameterMap")]] = - std::map<std::string, std::string>; - SdpAudioFormat(const SdpAudioFormat&); SdpAudioFormat(SdpAudioFormat&&); SdpAudioFormat(absl::string_view name, int clockrate_hz, size_t num_channels);
diff --git a/api/video/encoded_image.h b/api/video/encoded_image.h index a934347..1b89ac2 100644 --- a/api/video/encoded_image.h +++ b/api/video/encoded_image.h
@@ -209,16 +209,6 @@ const uint8_t* begin() const { return data(); } const uint8_t* end() const { return data() + size(); } - // Returns whether the encoded image can be considered to be of target - // quality. - [[deprecated]] bool IsAtTargetQuality() const { return at_target_quality_; } - - // Sets that the encoded image can be considered to be of target quality to - // true or false. - [[deprecated]] void SetAtTargetQuality(bool at_target_quality) { - at_target_quality_ = at_target_quality; - } - // Returns whether the frame that was encoded is a steady-state refresh frame // intended to improve the visual quality. bool IsSteadyStateRefreshFrame() const { @@ -317,8 +307,6 @@ // https://w3c.github.io/webrtc-pc/#dom-rtcrtpreceiver-getcontributingsources RtpPacketInfos packet_infos_; bool retransmission_allowed_ = true; - // True if the encoded image can be considered to be of target quality. - bool at_target_quality_ = false; // True if the frame that was encoded is a steady-state refresh frame intended // to improve the visual quality. bool is_steady_state_refresh_frame_ = false;
diff --git a/g3doc/todo/remove_deprecated.md b/g3doc/todo/remove_deprecated.md index dd52c2f..249bc0a 100644 --- a/g3doc/todo/remove_deprecated.md +++ b/g3doc/todo/remove_deprecated.md
@@ -13,7 +13,7 @@ A symbol is a candidate for removal only if it meets **all** of the following: 1. **Zero Usage:** No references found in WebRTC internals or downstream - projects. Chromium/WebKit. + projects. 2. **Maturity:** The `[[deprecated]]` tag was added at least **3 months** ago. 3. **Batch Size:** No more than **10 symbols** are processed in a single iteration. @@ -35,11 +35,14 @@ 4. **Downstream Audit (CodeSearch):** For each matured symbol, perform broad searches in downstream projects (outside `third_party/webrtc`). - **External Usage:** `cs "content:<SymbolName> -file:stable/webrtc"` - - **Chromium Overrides:** - `cs "content:<SymbolName> file:chromium -file:third_party/webrtc"` + - **Search Optimization:** To minimize false positives with common names + (like `kPlanB` or `local_ssrc`), prioritize searching for qualified usage + (e.g., `cs "content:SdpSemantics::kPlanB"` or `cs "content:::kPlanB"`) or + structural access (e.g., `cs "content:.local_ssrc"`) before performing + broad searches for the bare symbol name. - *Note:* Pay special attention to virtual methods. If a symbol is overridden - in Chromium (e.g., in Blink's `RTCDTMFSenderHandler`), removing it from the - WebRTC base class will break the Chromium build. + in a downstream project, removing it from the WebRTC base class will break + the downstream build. 5. **Iteration Stop:** Continue the audit process until exactly **10 symbols** have been confirmed to have zero results. Once 10 are found, stop the search. 6. **Documentation:** List the 10 selected symbols, their locations, and their @@ -61,7 +64,8 @@ `rtc_unittests`, `rtc_pc_unittests`, `peerconnection_unittests`). 5. **Verification:** Run the relevant test suites and ensure 100% pass rate. 6. **Gerrit Upload:** Submit the changes for review. The CL description should - not contain any information about downstream projects. + refer to "downstream projects" generally and MUST NOT contain the specific + names of these projects. ______________________________________________________________________
diff --git a/modules/rtp_rtcp/include/rtp_rtcp_defines.h b/modules/rtp_rtcp/include/rtp_rtcp_defines.h index a8b2354..fac8d06 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp_defines.h +++ b/modules/rtp_rtcp/include/rtp_rtcp_defines.h
@@ -78,11 +78,7 @@ kRtpExtensionRepairedRtpStreamId, kRtpExtensionMid, kRtpExtensionGenericFrameDescriptor, - kRtpExtensionGenericFrameDescriptor00 [[deprecated]] = - kRtpExtensionGenericFrameDescriptor, kRtpExtensionDependencyDescriptor, - kRtpExtensionGenericFrameDescriptor02 [[deprecated]] = - kRtpExtensionDependencyDescriptor, kRtpExtensionColorSpace, kRtpExtensionVideoFrameTrackingId, kRtpExtensionCorruptionDetection,