Index: remoting/base/compressor_zlib.cc |
diff --git a/remoting/base/compressor_zlib.cc b/remoting/base/compressor_zlib.cc |
index 6f7007319685f87f04d89a5f79ea0b4244ba26ed..0128361a16699c0f0cb59131ac6ef9cad1e0b7a9 100644 |
--- a/remoting/base/compressor_zlib.cc |
+++ b/remoting/base/compressor_zlib.cc |
@@ -21,6 +21,17 @@ |
namespace remoting { |
CompressorZlib::CompressorZlib() { |
+ Reset(); |
+} |
+ |
+CompressorZlib::~CompressorZlib() { |
+ deflateEnd(stream_.get()); |
+} |
+ |
+void CompressorZlib::Reset() { |
+ if (stream_.get()) |
+ deflateEnd(stream_.get()); |
+ |
stream_.reset(new z_stream()); |
stream_->next_in = Z_NULL; |
@@ -31,10 +42,6 @@ CompressorZlib::CompressorZlib() { |
deflateInit(stream_.get(), Z_BEST_SPEED); |
} |
-CompressorZlib::~CompressorZlib() { |
- deflateEnd(stream_.get()); |
-} |
- |
bool CompressorZlib::Process(const uint8* input_data, int input_size, |
uint8* output_data, int output_size, |
CompressorFlush flush, int* consumed, |