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 VP9
00060 };
00061
00065 EncodedFrame();
00066
00070 EncodedFrame(const EncodedFrame& obj);
00071
00075 EncodedFrame& operator=(const EncodedFrame& obj);
00076
00080 ~EncodedFrame();
00081
00086 size_t getBufferSize() const;
00087
00092 EncodingFormat getEncodingFormat() const;
00093
00098 size_t getId() const;
00099
00104 bool isLossless() const;
00105
00112 bool isInteractive() const;
00113
00114 private:
00117 std::shared_ptr<EncodedFrameImpl> getImpl() const;
00120 private:
00121
00123 std::shared_ptr<EncodedFrameImpl> pImpl;
00124
00125 };
00126 }
00127 }
00128