| Index: webrtc/video_engine/vie_encoder.h
|
| diff --git a/webrtc/video_engine/vie_encoder.h b/webrtc/video_engine/vie_encoder.h
|
| index 424a2a2b51fc61b7c33044b0d6cb7411d88f3f7b..2221f0781debe4225ed0364ff6a2ee31c82d9783 100644
|
| --- a/webrtc/video_engine/vie_encoder.h
|
| +++ b/webrtc/video_engine/vie_encoder.h
|
| @@ -39,29 +39,8 @@ class QMVideoSettingsCallback;
|
| class SendStatisticsProxy;
|
| class ViEBitrateObserver;
|
| class ViEEffectFilter;
|
| -class ViEEncoderObserver;
|
| class VideoCodingModule;
|
|
|
| -// This class declares an abstract interface for a user defined observer. It is
|
| -// up to the VideoEngine user to implement a derived class which implements the
|
| -// observer class. The observer is registered using RegisterEncoderObserver()
|
| -// and deregistered using DeregisterEncoderObserver().
|
| -class ViEEncoderObserver {
|
| - public:
|
| - // This method is called once per second with the current encoded frame rate
|
| - // and bit rate.
|
| - virtual void OutgoingRate(const int video_channel,
|
| - const unsigned int framerate,
|
| - const unsigned int bitrate) = 0;
|
| -
|
| - // This method is called whenever the state of the SuspendBelowMinBitrate
|
| - // changes, i.e., when |is_suspended| toggles.
|
| - virtual void SuspendChange(int video_channel, bool is_suspended) = 0;
|
| -
|
| - protected:
|
| - virtual ~ViEEncoderObserver() {}
|
| -};
|
| -
|
| class ViEEncoder : public RtcpIntraFrameObserver,
|
| public VideoEncoderRateObserver,
|
| public VCMPacketizationCallback,
|
| @@ -72,7 +51,9 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
|
|
| ViEEncoder(int32_t channel_id,
|
| uint32_t number_of_cores,
|
| - ProcessThread& module_process_thread,
|
| + ProcessThread* module_process_thread,
|
| + SendStatisticsProxy* stats_proxy,
|
| + I420FrameCallback* pre_encode_callback,
|
| PacedSender* pacer,
|
| BitrateAllocator* bitrate_allocator);
|
| ~ViEEncoder();
|
| @@ -146,8 +127,6 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
| int32_t SendStatistics(const uint32_t bit_rate,
|
| const uint32_t frame_rate) override;
|
|
|
| - int32_t RegisterCodecObserver(ViEEncoderObserver* observer);
|
| -
|
| // Implements RtcpIntraFrameObserver.
|
| void OnReceivedIntraFrameRequest(uint32_t ssrc) override;
|
| void OnReceivedSLI(uint32_t ssrc, uint8_t picture_id) override;
|
| @@ -165,12 +144,9 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
| void SuspendBelowMinBitrate();
|
|
|
| // New-style callbacks, used by VideoSendStream.
|
| - void RegisterPreEncodeCallback(I420FrameCallback* pre_encode_callback);
|
| void RegisterPostEncodeImageCallback(
|
| EncodedImageCallback* post_encode_callback);
|
|
|
| - void RegisterSendStatisticsProxy(SendStatisticsProxy* send_statistics_proxy);
|
| -
|
| int channel_id() const { return channel_id_; }
|
|
|
| int GetPaddingNeededBps() const;
|
| @@ -196,10 +172,11 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
| const rtc::scoped_ptr<VideoCodingModule> vcm_;
|
| rtc::scoped_refptr<PayloadRouter> send_payload_router_;
|
|
|
| - rtc::scoped_ptr<CriticalSectionWrapper> callback_cs_;
|
| rtc::scoped_ptr<CriticalSectionWrapper> data_cs_;
|
| rtc::scoped_ptr<BitrateObserver> bitrate_observer_;
|
|
|
| + SendStatisticsProxy* const stats_proxy_;
|
| + I420FrameCallback* const pre_encode_callback_;
|
| PacedSender* const pacer_;
|
| BitrateAllocator* const bitrate_allocator_;
|
|
|
| @@ -220,8 +197,7 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
| bool fec_enabled_;
|
| bool nack_enabled_;
|
|
|
| - ViEEncoderObserver* codec_observer_ GUARDED_BY(callback_cs_);
|
| - ProcessThread& module_process_thread_;
|
| + ProcessThread* module_process_thread_;
|
|
|
| bool has_received_sli_ GUARDED_BY(data_cs_);
|
| uint8_t picture_id_sli_ GUARDED_BY(data_cs_);
|
| @@ -230,10 +206,7 @@ class ViEEncoder : public RtcpIntraFrameObserver,
|
| std::map<uint32_t, int> ssrc_streams_ GUARDED_BY(data_cs_);
|
|
|
| bool video_suspended_ GUARDED_BY(data_cs_);
|
| - I420FrameCallback* pre_encode_callback_ GUARDED_BY(callback_cs_);
|
| const int64_t start_ms_;
|
| -
|
| - SendStatisticsProxy* send_statistics_proxy_ GUARDED_BY(callback_cs_);
|
| };
|
|
|
| } // namespace webrtc
|
|
|