| Index: remoting/base/encoder_zlib.h
|
| diff --git a/remoting/base/encoder_zlib.h b/remoting/base/encoder_zlib.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9266e2b1ed752e079bbb2486bc07189f961a5b32
|
| --- /dev/null
|
| +++ b/remoting/base/encoder_zlib.h
|
| @@ -0,0 +1,46 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef REMOTING_BASE_ENCODER_ZLIB_H_
|
| +#define REMOTING_BASE_ENCODER_ZLIB_H_
|
| +
|
| +#include "remoting/base/encoder.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +class CompressorZlib;
|
| +class UpdateStreamPacket;
|
| +
|
| +// EncoderZlib implements an Encoder using Zlib for compression.
|
| +class EncoderZlib : public Encoder {
|
| + public:
|
| + EncoderZlib();
|
| + EncoderZlib(int packet_size);
|
| +
|
| + virtual ~EncoderZlib() {}
|
| +
|
| + virtual void Encode(scoped_refptr<CaptureData> capture_data,
|
| + bool key_frame,
|
| + DataAvailableCallback* data_available_callback);
|
| +
|
| + private:
|
| + // Encode a single dirty rect using compressor.
|
| + void EncodeRect(CompressorZlib* compressor);
|
| +
|
| + // Create a new HostMessage with the right flag and attributes. The message
|
| + // can be used immediately for output of encoding.
|
| + HostMessage* PrepareMessage(bool new_rect);
|
| +
|
| + // Submit |message| to |callback_|.
|
| + void SubmitMessage(HostMessage* message);
|
| +
|
| + scoped_refptr<CaptureData> capture_data_;
|
| + scoped_ptr<DataAvailableCallback> callback_;
|
| + size_t current_rect_;
|
| + int packet_size_;
|
| +};
|
| +
|
| +} // namespace remoting
|
| +
|
| +#endif // REMOTING_BASE_ENCODER_ZLIB_H_
|
|
|