From 3801604bc766515c4c5ee08c82653411c7dd0715 Mon Sep 17 00:00:00 2001 From: Evan Shrubsole Date: Thu, 28 Apr 2022 10:48:17 +0200 Subject: [PATCH] Delete unused video_stream_decoder video_stream_decoder2 is the only one used. Change-Id: Iabee3521b2946f097296cf2b02025aa6e41e87a4 Bug: webrtc:11489 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260282 Commit-Queue: Evan Shrubsole Reviewed-by: Tomas Gunnarsson Cr-Commit-Position: refs/heads/main@{#36692} --- video/BUILD.gn | 2 -- video/video_stream_decoder.cc | 67 ----------------------------------- video/video_stream_decoder.h | 63 -------------------------------- 3 files changed, 132 deletions(-) delete mode 100644 video/video_stream_decoder.cc delete mode 100644 video/video_stream_decoder.h diff --git a/video/BUILD.gn b/video/BUILD.gn index 27b821bfd7..90a8c99a6f 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -176,8 +176,6 @@ rtc_source_set("video_legacy") { "rtp_video_stream_receiver.h", "video_quality_observer.cc", "video_quality_observer.h", - "video_stream_decoder.cc", - "video_stream_decoder.h", ] deps = [ ":frame_dumping_decoder", diff --git a/video/video_stream_decoder.cc b/video/video_stream_decoder.cc deleted file mode 100644 index 7fe0adef10..0000000000 --- a/video/video_stream_decoder.cc +++ /dev/null @@ -1,67 +0,0 @@ -/* - * 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. - */ - -#include "video/video_stream_decoder.h" - -#include "modules/video_coding/video_receiver2.h" -#include "rtc_base/checks.h" -#include "video/receive_statistics_proxy.h" - -namespace webrtc { - -VideoStreamDecoder::VideoStreamDecoder( - VideoReceiver2* video_receiver, - ReceiveStatisticsProxy* receive_statistics_proxy, - rtc::VideoSinkInterface* incoming_video_stream) - : video_receiver_(video_receiver), - receive_stats_callback_(receive_statistics_proxy), - incoming_video_stream_(incoming_video_stream) { - RTC_DCHECK(video_receiver_); - - video_receiver_->RegisterReceiveCallback(this); -} - -VideoStreamDecoder::~VideoStreamDecoder() { - // Note: There's an assumption at this point that the decoder thread is - // *not* running. If it was, then there could be a race for each of these - // callbacks. - - // Unset all the callback pointers that we set in the ctor. - video_receiver_->RegisterReceiveCallback(nullptr); -} - -// Do not acquire the lock of `video_receiver_` in this function. Decode -// callback won't necessarily be called from the decoding thread. The decoding -// thread may have held the lock when calling VideoDecoder::Decode, Reset, or -// Release. Acquiring the same lock in the path of decode callback can deadlock. -int32_t VideoStreamDecoder::FrameToRender(VideoFrame& video_frame, - absl::optional qp, - int32_t decode_time_ms, - VideoContentType content_type) { - receive_stats_callback_->OnDecodedFrame(video_frame, qp, decode_time_ms, - content_type); - incoming_video_stream_->OnFrame(video_frame); - return 0; -} - -void VideoStreamDecoder::OnDroppedFrames(uint32_t frames_dropped) { - receive_stats_callback_->OnDroppedFrames(frames_dropped); -} - -void VideoStreamDecoder::OnIncomingPayloadType(int payload_type) { - receive_stats_callback_->OnIncomingPayloadType(payload_type); -} - -void VideoStreamDecoder::OnDecoderImplementationName( - const char* implementation_name) { - receive_stats_callback_->OnDecoderImplementationName(implementation_name); -} - -} // namespace webrtc diff --git a/video/video_stream_decoder.h b/video/video_stream_decoder.h deleted file mode 100644 index bfe9252976..0000000000 --- a/video/video_stream_decoder.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * 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 VIDEO_VIDEO_STREAM_DECODER_H_ -#define VIDEO_VIDEO_STREAM_DECODER_H_ - -#include -#include -#include -#include - -#include "api/scoped_refptr.h" -#include "api/video/video_sink_interface.h" -#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h" -#include "modules/video_coding/include/video_coding_defines.h" -#include "rtc_base/platform_thread.h" -#include "rtc_base/synchronization/mutex.h" - -namespace webrtc { - -class ReceiveStatisticsProxy; -class VideoReceiver2; - -class VideoStreamDecoder : public VCMReceiveCallback { - public: - VideoStreamDecoder( - VideoReceiver2* video_receiver, - ReceiveStatisticsProxy* receive_statistics_proxy, - rtc::VideoSinkInterface* incoming_video_stream); - ~VideoStreamDecoder() override; - - // Implements VCMReceiveCallback. - int32_t FrameToRender(VideoFrame& video_frame, - absl::optional qp, - int32_t decode_time_ms, - VideoContentType content_type) override; - void OnDroppedFrames(uint32_t frames_dropped) override; - void OnIncomingPayloadType(int payload_type) override; - void OnDecoderImplementationName(const char* implementation_name) override; - - void RegisterReceiveStatisticsProxy( - ReceiveStatisticsProxy* receive_statistics_proxy); - - private: - // Used for all registered callbacks except rendering. - Mutex mutex_; - - VideoReceiver2* const video_receiver_; - - ReceiveStatisticsProxy* const receive_stats_callback_; - rtc::VideoSinkInterface* const incoming_video_stream_; -}; - -} // namespace webrtc - -#endif // VIDEO_VIDEO_STREAM_DECODER_H_