Create public EncodedFrame interface.
The plan is to:
1. Move FrameObject to api/video.
2. Rename FrameObject to EncodedFrame.
3. Move EncodedFrame out of the video_coding namespace.
This is the 1st CL.
Bug: webrtc:8909
Change-Id: I2e5100eda6c51bcefb32295e03b73cf1f5c213a4
Reviewed-on: https://webrtc-review.googlesource.com/55560
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22135}
diff --git a/modules/video_coding/frame_object.h b/modules/video_coding/frame_object.h
index 6f31c1a..72b719c 100644
--- a/modules/video_coding/frame_object.h
+++ b/modules/video_coding/frame_object.h
@@ -12,54 +12,13 @@
#define MODULES_VIDEO_CODING_FRAME_OBJECT_H_
#include "api/optional.h"
+#include "api/video/encoded_frame.h"
#include "common_types.h" // NOLINT(build/include)
#include "modules/include/module_common_types.h"
-#include "modules/video_coding/encoded_frame.h"
namespace webrtc {
namespace video_coding {
-class FrameObject : public webrtc::VCMEncodedFrame {
- public:
- static const uint8_t kMaxFrameReferences = 5;
-
- FrameObject();
- virtual ~FrameObject() {}
-
- virtual bool GetBitstream(uint8_t* destination) const = 0;
-
- // The capture timestamp of this frame.
- virtual uint32_t Timestamp() const = 0;
-
- // When this frame was received.
- virtual int64_t ReceivedTime() const = 0;
-
- // When this frame should be rendered.
- virtual int64_t RenderTime() const = 0;
-
- // This information is currently needed by the timing calculation class.
- // TODO(philipel): Remove this function when a new timing class has
- // been implemented.
- virtual bool delayed_by_retransmission() const { return 0; }
-
- size_t size() const { return _length; }
-
- bool is_keyframe() const { return num_references == 0; }
-
- // The tuple (|picture_id|, |spatial_layer|) uniquely identifies a frame
- // object. For codec types that don't necessarily have picture ids they
- // have to be constructed from the header data relevant to that codec.
- int64_t picture_id;
- uint8_t spatial_layer;
- uint32_t timestamp;
-
- // TODO(philipel): Add simple modify/access functions to prevent adding too
- // many |references|.
- size_t num_references;
- int64_t references[kMaxFrameReferences];
- bool inter_layer_predicted;
-};
-
class PacketBuffer;
class RtpFrameObject : public FrameObject {