diff --git a/stream-servers/RendererImpl.cpp b/stream-servers/RendererImpl.cpp
index 4ffb018..9d8e121 100644
--- a/stream-servers/RendererImpl.cpp
+++ b/stream-servers/RendererImpl.cpp
@@ -380,16 +380,10 @@
     if (fb) fb->fillGLESUsages(usages);
 }
 
-int RendererImpl::getScreenshot(unsigned int nChannels,
-                                unsigned int* width,
-                                unsigned int* height,
-                                uint8_t* pixels,
-                                size_t* cPixels,
-                                int displayId = 0,
-                                int desiredWidth = 0,
-                                int desiredHeight = 0,
-                                int desiredRotation = SKIN_ROTATION_0,
-                                SkinRect rect = {{0, 0}, {0, 0}}) {
+int RendererImpl::getScreenshot(unsigned int nChannels, unsigned int* width, unsigned int* height,
+                                uint8_t* pixels, size_t* cPixels, int displayId = 0,
+                                int desiredWidth = 0, int desiredHeight = 0,
+                                int desiredRotation = 0, Rect rect = {{0, 0}, {0, 0}}) {
     auto fb = FrameBuffer::getFB();
     if (fb) {
         return fb->getScreenshot(nChannels, width, height, pixels, cPixels,
