Fix and test CreateVideoStreamDecoder
create TaskQueue using provided factory instead of through constructor that uses GlobalTaskQueueFactory
Rename interface to avoid collision with class in video/video_stream_decoder.h
Add simple unittest to avoid future breakages.
Bug: webrtc:10284, webrtc:10521
Change-Id: I647b31cc99a2b6beb79b936f05f482788861f1cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131398
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27503}
diff --git a/video/video_stream_decoder_impl.h b/video/video_stream_decoder_impl.h
index cd1f953..5578e70 100644
--- a/video/video_stream_decoder_impl.h
+++ b/video/video_stream_decoder_impl.h
@@ -27,12 +27,13 @@
namespace webrtc {
-class VideoStreamDecoderImpl : public VideoStreamDecoder,
+class VideoStreamDecoderImpl : public VideoStreamDecoderInterface,
private DecodedImageCallback {
public:
VideoStreamDecoderImpl(
- VideoStreamDecoder::Callbacks* callbacks,
+ VideoStreamDecoderInterface::Callbacks* callbacks,
VideoDecoderFactory* decoder_factory,
+ TaskQueueFactory* task_queue_factory,
std::map<int, std::pair<SdpVideoFormat, int>> decoder_settings);
~VideoStreamDecoderImpl() override;
@@ -67,7 +68,7 @@
absl::optional<int32_t> decode_time_ms,
absl::optional<uint8_t> qp) override;
- VideoStreamDecoder::Callbacks* const callbacks_
+ VideoStreamDecoderInterface::Callbacks* const callbacks_
RTC_PT_GUARDED_BY(bookkeeping_queue_);
VideoDecoderFactory* const decoder_factory_;
std::map<int, std::pair<SdpVideoFormat, int>> decoder_settings_;