Chromium Code Reviews| Index: remoting/protocol/video_reader.h |
| diff --git a/remoting/protocol/video_reader.h b/remoting/protocol/video_reader.h |
| index 63582cf73813401fe7ef415a49c812c42c89801f..430a4ea2fff3d104a49de3ca3c7aeff31eeaec3e 100644 |
| --- a/remoting/protocol/video_reader.h |
| +++ b/remoting/protocol/video_reader.h |
| @@ -2,44 +2,46 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -// VideoReader is a generic interface used by ConnectionToHost to read |
| -// video stream. ProtobufVideoReader implements this interface for |
| -// protobuf video stream. |
| - |
| #ifndef REMOTING_PROTOCOL_VIDEO_READER_H_ |
| #define REMOTING_PROTOCOL_VIDEO_READER_H_ |
| -#include "base/callback.h" |
| -#include "base/memory/scoped_ptr.h" |
| -#include "remoting/protocol/video_stub.h" |
| +#include "base/compiler_specific.h" |
| +#include "remoting/proto/video.pb.h" |
| +#include "remoting/protocol/channel_dispatcher_base.h" |
| +#include "remoting/protocol/message_reader.h" |
| + |
| +namespace net { |
| +class StreamSocket; |
| +} // namespace net |
| namespace remoting { |
| namespace protocol { |
| +class StreamChannelFactory; |
| class Session; |
| -class SessionConfig; |
| +class VideoStub; |
| -class VideoReader { |
| +class VideoReader : public ChannelDispatcherBase { |
| public: |
| - // The callback is called when initialization is finished. The |
| - // parameter is set to true on success. |
| - typedef base::Callback<void(bool)> InitializedCallback; |
| - |
| + VideoReader(); |
| virtual ~VideoReader(); |
| - static scoped_ptr<VideoReader> Create(const SessionConfig& config); |
| - |
| - // Initializies the reader. Doesn't take ownership of either |connection| |
| - // or |video_stub|. |
| - virtual void Init(Session* session, |
| - VideoStub* video_stub, |
| - const InitializedCallback& callback) = 0; |
| - virtual bool is_connected() = 0; |
| + void set_video_stub(VideoStub* video_stub) { video_stub_ = video_stub; } |
|
Wez
2014/09/16 23:10:07
Why does this need a setter rather than being a co
Sergey Ulanov
2014/09/17 21:52:06
This is consistent with other channel dispatchers.
Wez
2014/09/18 00:23:54
Acknowledged.
|
| protected: |
| - VideoReader() { } |
| + // ChannelDispatcherBase overrides. |
| + virtual void OnInitialized() OVERRIDE; |
| private: |
| + void OnNewData(scoped_ptr<VideoPacket> packet, |
| + const base::Closure& done_task); |
|
Wez
2014/09/16 23:10:06
OnVideoPacket?
Sergey Ulanov
2014/09/17 21:52:06
Done.
|
| + |
| + StreamChannelFactory* channel_factory_; |
|
Wez
2014/09/16 23:10:06
This doesn't seem to be used?
Sergey Ulanov
2014/09/17 21:52:06
Done.
|
| + ProtobufMessageReader<VideoPacket> reader_; |
|
Wez
2014/09/16 23:10:06
It ends up looking a little strange to have VideoR
Sergey Ulanov
2014/09/17 21:52:06
Renamed this class
|
| + |
| + // The stub that processes all received packets. |
|
Wez
2014/09/16 23:10:06
Or "Interface to which VideoPackets are passed for
Sergey Ulanov
2014/09/17 21:52:06
Done.
|
| + VideoStub* video_stub_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(VideoReader); |
| }; |