Reland "Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config."
This is a reland of 529d0d9795b81dbed5e4231f15d3752a5fc0df32
Original change's description:
> Replace VideoDecoder with VideoDecoderFactory in VideoReceiveStream config.
>
> Preparation for deleting EnableFrameRecordning, and also a step
> towards landing of the new VideoStreamDecoder.
>
> Bug: webrtc:9106
> Change-Id: I50964ee458b08a702ec69b82a62e4995c57cee82
> Reviewed-on: https://webrtc-review.googlesource.com/97660
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24861}
Bug: webrtc:9106
Change-Id: I2eb894773b3f33ff6a980e8008e8248607e32668
Reviewed-on: https://webrtc-review.googlesource.com/102480
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24882}
diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h
index b5c1649..d299cd8 100644
--- a/call/video_receive_stream.h
+++ b/call/video_receive_stream.h
@@ -33,7 +33,7 @@
namespace webrtc {
class RtpPacketSinkInterface;
-class VideoDecoder;
+class VideoDecoderFactory;
class VideoReceiveStream {
public:
@@ -45,8 +45,10 @@
~Decoder();
std::string ToString() const;
- // The actual decoder instance.
- VideoDecoder* decoder = nullptr;
+ // Ownership stays with WebrtcVideoEngine (delegated from PeerConnection).
+ // TODO(nisse): Move one level out, to VideoReceiveStream::Config, and later
+ // to the configuration of VideoStreamDecoder.
+ VideoDecoderFactory* decoder_factory = nullptr;
SdpVideoFormat video_format;
// Received RTP packets with this payload type will be sent to this decoder
@@ -210,6 +212,10 @@
// Target delay in milliseconds. A positive value indicates this stream is
// used for streaming instead of a real-time call.
int target_delay_ms = 0;
+
+ // TODO(nisse): Used with VideoDecoderFactory::LegacyCreateVideoDecoder.
+ // Delete when that method is retired.
+ std::string stream_id;
};
// Starts stream activity.