Add method to get compression settings from encoder
diff --git a/common/rfb/Encoder.h b/common/rfb/Encoder.h
index 1e57fda..e135ec0 100644
--- a/common/rfb/Encoder.h
+++ b/common/rfb/Encoder.h
@@ -54,6 +54,9 @@
virtual void setQualityLevel(int level) {};
virtual void setFineQualityLevel(int quality, int subsampling) {};
+ virtual int getCompressLevel() { return -1; };
+ virtual int getQualityLevel() { return -1; };
+
// writeRect() is the main interface that encodes the given rectangle
// with data from the PixelBuffer onto the SConnection given at
// encoder creation.
diff --git a/common/rfb/TightJPEGEncoder.cxx b/common/rfb/TightJPEGEncoder.cxx
index 5d39b62..bbe4f8f 100644
--- a/common/rfb/TightJPEGEncoder.cxx
+++ b/common/rfb/TightJPEGEncoder.cxx
@@ -101,6 +101,11 @@
fineSubsampling = subsampling;
}
+int TightJPEGEncoder::getQualityLevel()
+{
+ return qualityLevel;
+}
+
void TightJPEGEncoder::writeRect(const PixelBuffer* pb, const Palette& palette)
{
const rdr::U8* buffer;
diff --git a/common/rfb/TightJPEGEncoder.h b/common/rfb/TightJPEGEncoder.h
index 458c383..3d8fa8c 100644
--- a/common/rfb/TightJPEGEncoder.h
+++ b/common/rfb/TightJPEGEncoder.h
@@ -35,6 +35,8 @@
virtual void setQualityLevel(int level);
virtual void setFineQualityLevel(int quality, int subsampling);
+ virtual int getQualityLevel();
+
virtual void writeRect(const PixelBuffer* pb, const Palette& palette);
virtual void writeSolidRect(int width, int height,
const PixelFormat& pf,