Overte C++ Documentation
WrapperClip.h
1 //
2 // Created by Bradley Austin Davis 2015/11/05
3 // Copyright 2015 High Fidelity, Inc.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 
9 #pragma once
10 #ifndef hifi_Recording_Impl_WrapperClip_h
11 #define hifi_Recording_Impl_WrapperClip_h
12 
13 #include "../Clip.h"
14 
15 #include <QtCore/QFile>
16 #include <QtCore/QJsonDocument>
17 
18 #include <mutex>
19 
20 namespace recording {
21 
22 class WrapperClip : public Clip {
23 public:
24  using Pointer = std::shared_ptr<WrapperClip>;
25 
26  WrapperClip(const Clip::Pointer& wrappedClip);
27 
28  virtual float duration() const override;
29  virtual size_t frameCount() const override;
30 
31  virtual void seekFrameTime(Frame::Time offset) override;
32  virtual Frame::Time positionFrameTime() const override;
33 
34  virtual FrameConstPointer peekFrame() const override;
35  virtual FrameConstPointer nextFrame() override;
36  virtual void skipFrame() override;
37  virtual void addFrame(FrameConstPointer) override;
38 
39 protected:
40  virtual void reset() override;
41 
42  const Clip::Pointer _wrappedClip;
43 };
44 
45 }
46 
47 #endif