Chromium Code Reviews| Index: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h |
| diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h |
| index 777ac1ba368c5546000ba1b78601549d3689357b..83f5af7d212b25edec464aae4a3982dc869e35e7 100644 |
| --- a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h |
| +++ b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h |
| @@ -12,14 +12,18 @@ |
| #ifndef WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SIMULCAST_ENCODER_ADAPTER_H_ |
| #define WEBRTC_MODULES_VIDEO_CODING_CODECS_VP8_SIMULCAST_ENCODER_ADAPTER_H_ |
| +#include <map> |
| #include <memory> |
| #include <string> |
| +#include <utility> |
| #include <vector> |
| #include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h" |
| namespace webrtc { |
| +class SimulcastState; |
| + |
| class VideoEncoderFactory { |
| public: |
| virtual VideoEncoder* Create() = 0; |
| @@ -91,29 +95,15 @@ class SimulcastEncoderAdapter : public VP8Encoder { |
| bool send_stream; |
| }; |
| - // Get the stream bitrate, for the stream |stream_idx|, given the bitrate |
| - // |new_bitrate_kbit| and the actual configured stream count in |
| - // |total_number_of_streams|. The function also returns whether there's enough |
| - // bandwidth to send this stream via |send_stream|. |
| - uint32_t GetStreamBitrate(int stream_idx, |
| - size_t total_number_of_streams, |
| - uint32_t new_bitrate_kbit, |
| - bool* send_stream) const; |
| - |
| - // Populate the codec settings for each stream. |
| - void PopulateStreamCodec(const webrtc::VideoCodec* inst, |
| - int stream_index, |
| - size_t total_number_of_streams, |
| - bool highest_resolution_stream, |
| - webrtc::VideoCodec* stream_codec, |
| - bool* send_stream); |
| - |
| bool Initialized() const; |
| std::unique_ptr<VideoEncoderFactory> factory_; |
| std::unique_ptr<TemporalLayersFactory> screensharing_tl_factory_; |
| VideoCodec codec_; |
| - std::vector<StreamInfo> streaminfos_; |
| + std::unique_ptr<SimulcastState> stream_states_; |
|
pbos-webrtc
2016/04/29 21:23:27
Can you stack allocate this (e.g. SimulcastState s
|
| + typedef std::pair<VideoEncoder*, std::unique_ptr<EncodedImageCallback>> |
| + EncoderContext; |
| + std::map<uint8_t, EncoderContext> encoders_; |
| EncodedImageCallback* encoded_complete_callback_; |
| std::string implementation_name_; |
| }; |