00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <Inventor/sys/port.h>
00024 #include <memory>
00025
00026 namespace RemoteViz
00027 {
00028 namespace Rendering
00029 {
00030 class EncodedFrameImpl;
00031
00043 class RENDERSERVICE_API EncodedFrame
00044 {
00045
00047 friend class ConnectionImpl;
00050 public:
00051
00055 enum EncodingFormat {
00056 JPEG,
00057 PNG,
00058 H264
00059 };
00060
00064 virtual ~EncodedFrame();
00065
00070 size_t getBufferSize() const;
00071
00076 EncodingFormat getEncodingFormat() const;
00077
00082 size_t getId() const;
00083
00088 bool isLossless() const;
00089
00096 bool isInteractive() const;
00097
00098 private:
00101 std::shared_ptr<EncodedFrameImpl> getImpl() const;
00104 private:
00108 EncodedFrame();
00109
00113 EncodedFrame(const EncodedFrame&) = delete;
00114 EncodedFrame& operator= (const EncodedFrame&) = delete;
00115
00117 std::shared_ptr<EncodedFrameImpl> pImpl;
00118
00119 };
00120 }
00121 }
00122