#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
#include "webrtc/modules/video_render/include/video_render_defines.h"
#include "webrtc/system_wrappers/interface/clock.h"
+#include "webrtc/system_wrappers/interface/scoped_ptr.h"
#include "webrtc/video/encoded_frame_callback_adapter.h"
+#include "webrtc/video/receive_statistics_proxy.h"
#include "webrtc/video/transport_adapter.h"
#include "webrtc/video_engine/include/vie_render.h"
#include "webrtc/video_receive_stream.h"
namespace internal {
class VideoReceiveStream : public webrtc::VideoReceiveStream,
+ public I420FrameCallback,
public VideoRenderCallback {
+
public:
VideoReceiveStream(webrtc::VideoEngine* video_engine,
const VideoReceiveStream::Config& config,
virtual void StartReceiving() OVERRIDE;
virtual void StopReceiving() OVERRIDE;
+ virtual Stats GetStats() const OVERRIDE;
virtual void GetCurrentReceiveCodec(VideoCodec* receive_codec) OVERRIDE;
+ // Overrides I420FrameCallback.
+ virtual void FrameCallback(I420VideoFrame* video_frame) OVERRIDE;
+
+ // Overrides VideoRenderCallback.
virtual int32_t RenderFrame(const uint32_t stream_id,
I420VideoFrame& video_frame) OVERRIDE;
ViERTP_RTCP* rtp_rtcp_;
ViEImageProcess* image_process_;
+ scoped_ptr<ReceiveStatisticsProxy> stats_proxy_;
+
int channel_;
};
} // namespace internal