diff --git a/src/private/directrenderer.cpp b/src/private/directrenderer.cpp
index 7cd788a578a0d8a03d0092232c7b6f6a4e8d8c43..6fcb1bcb128185621c3e719e0e9762831de35483 100644
--- a/src/private/directrenderer.cpp
+++ b/src/private/directrenderer.cpp
@@ -40,17 +40,13 @@ class DirectRendererPrivate : public QObject
    Q_OBJECT
 public:
    DirectRendererPrivate(Video::DirectRenderer* parent);
-
-   //Attributes
-
 private:
-   Video::DirectRenderer* q_ptr;
-
+//    Video::DirectRenderer* q_ptr;
 };
 
 }
 
-Video::DirectRendererPrivate::DirectRendererPrivate(Video::DirectRenderer* parent) : QObject(parent), q_ptr(parent)
+Video::DirectRendererPrivate::DirectRendererPrivate(Video::DirectRenderer* parent) : QObject(parent)/*, q_ptr(parent)*/
 {
 }
 
@@ -67,26 +63,30 @@ Video::DirectRenderer::~DirectRenderer()
 
 void Video::DirectRenderer::startRendering()
 {
-
-    qWarning() << "STARTING RENDERING";
-    Video::Renderer::d_ptr->m_isRendering = true;
-    emit started();
+   qWarning() << "STARTING RENDERING";
+   Video::Renderer::d_ptr->m_isRendering = true;
+   emit started();
 }
 void Video::DirectRenderer::stopRendering ()
 {
-    qWarning() << "STOPPING RENDERING";
-    Video::Renderer::d_ptr->m_isRendering = false;
-    emit stopped();
+   qWarning() << "STOPPING RENDERING";
+   Video::Renderer::d_ptr->m_isRendering = false;
+   emit stopped();
 }
 
 void Video::DirectRenderer::onNewFrame(const QByteArray& frame)
 {
-    if (!isRendering()) {
-       return;
-    }
+   if (!isRendering()) {
+      return;
+   }
 
-    Video::Renderer::d_ptr->m_pFrame = const_cast<char*>(frame.data());
-    emit frameUpdated();
+   Video::Renderer::d_ptr->m_pFrame = const_cast<char*>(frame.data());
+   emit frameUpdated();
+}
+
+Video::Renderer::ColorSpace Video::DirectRenderer::colorSpace() const
+{
+   return Video::Renderer::ColorSpace::RGBA;
 }
 
 #include <directrenderer.moc>
diff --git a/src/private/directrenderer.h b/src/private/directrenderer.h
index a71fb06b25a66e5c472ab9bd76da6a5a8bb49f39..db6a2d99dfc528d24a4acb5dbfffa3b55d7d8904 100644
--- a/src/private/directrenderer.h
+++ b/src/private/directrenderer.h
@@ -42,21 +42,24 @@ class LIB_EXPORT DirectRenderer : public Renderer {
    Q_OBJECT
    #pragma GCC diagnostic pop
 
-   public:
+public:
 
-      //Constructor
-      DirectRenderer (const QByteArray& id, const QSize& res);
-      virtual ~DirectRenderer();
+   //Constructor
+   DirectRenderer (const QByteArray& id, const QSize& res);
+   virtual ~DirectRenderer();
 
-      void onNewFrame(const QByteArray& frame);
+   //Getter
+   virtual ColorSpace colorSpace() const override;
 
-  public Q_SLOTS:
-      virtual void startRendering() override;
-      virtual void stopRendering () override;
+   void onNewFrame(const QByteArray& frame);
 
-  private:
-     QScopedPointer<DirectRendererPrivate> d_ptr;
-     Q_DECLARE_PRIVATE(DirectRenderer)
+public Q_SLOTS:
+   virtual void startRendering() override;
+   virtual void stopRendering () override;
+
+private:
+   QScopedPointer<DirectRendererPrivate> d_ptr;
+   Q_DECLARE_PRIVATE(DirectRenderer)
 
 };
 
diff --git a/src/private/shmrenderer.cpp b/src/private/shmrenderer.cpp
index 1cced05c2a9eb1eeda71034f0b95721f2c59c987..3256466133d9705e888e5961519190435857e60a 100644
--- a/src/private/shmrenderer.cpp
+++ b/src/private/shmrenderer.cpp
@@ -340,6 +340,11 @@ const QByteArray& ShmRenderer::currentFrame() const
    return Renderer::currentFrame();
 }
 
+Video::Renderer::ColorSpace ShmRenderer::colorSpace() const
+{
+   return Video::Renderer::ColorSpace::BGRA;
+}
+
 /*****************************************************************************
  *                                                                           *
  *                                 Setters                                   *
diff --git a/src/private/shmrenderer.h b/src/private/shmrenderer.h
index f77a31ee21336f262af3289e988b333e47889a93..63e042d209db3533dddd353ae8996752baaa376b 100644
--- a/src/private/shmrenderer.h
+++ b/src/private/shmrenderer.h
@@ -54,8 +54,9 @@ public:
    bool startShm ();
 
    //Getters
-   virtual int   fps() const;
+   int fps() const;
    virtual const QByteArray& currentFrame() const override;
+   virtual ColorSpace        colorSpace  () const override;
 
    //Setters
    void setShmPath(const QString& path);
diff --git a/src/video/renderer.h b/src/video/renderer.h
index 9541d334cb54b34e4a9c1ff78db8621b5b4a7a2f..a2db70f00f71b6b4b569360659f9d7107833e5cd 100644
--- a/src/video/renderer.h
+++ b/src/video/renderer.h
@@ -58,6 +58,16 @@ class LIB_EXPORT Renderer : public QObject
    friend class VideoRendererManagerPrivate ;
 
 public:
+
+   /**
+    * Each platform may have its preferred color space. To be able to use a
+    * client on multiple platforms, they need to check the colorspace.
+    */
+   enum class ColorSpace {
+      BGRA , /*!< 32bit BLUE  GREEN RED ALPHA */
+      RGBA , /*!< 32bit ALPHA GREEN RED BLUE  */
+   };
+
    //Constructor
    Renderer (const QByteArray& id,  const QSize& res);
    virtual ~Renderer();
@@ -67,6 +77,7 @@ public:
    virtual const QByteArray& currentFrame    () const;
    virtual QSize             size            () const;
    virtual QMutex*           mutex           () const;
+   virtual ColorSpace        colorSpace      () const = 0;
 
    void setSize(const QSize& size) const;