Index: webrtc/media/engine/webrtcvideoframe.h |
diff --git a/webrtc/media/engine/webrtcvideoframe.h b/webrtc/media/engine/webrtcvideoframe.h |
index 79ad571236cfd922898989fd453f461daecc12db..3c36b005d6bca131e712a50295d0c5ed6aa96179 100644 |
--- a/webrtc/media/engine/webrtcvideoframe.h |
+++ b/webrtc/media/engine/webrtcvideoframe.h |
@@ -8,6 +8,10 @@ |
* be found in the AUTHORS file in the root of the source tree. |
*/ |
+// TODO(nisse): Deprecated, replace cricket::WebRtcVideoFrame with |
+// webrtc::VideoFrame everywhere, then delete this file. See |
+// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682. |
+ |
#ifndef WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_ |
#define WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_ |
@@ -22,100 +26,22 @@ |
namespace cricket { |
-// TODO(nisse): This class will be deleted when the cricket::VideoFrame and |
-// webrtc::VideoFrame classes are merged. See |
-// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682. Try to use only the |
-// preferred constructor, and the non-deprecated methods of the VideoFrame base |
-// class. |
class WebRtcVideoFrame : public VideoFrame { |
public: |
- // TODO(nisse): Deprecated. Using the default constructor violates the |
- // reasonable assumption that video_frame_buffer() returns a valid buffer. |
- WebRtcVideoFrame(); |
- |
- // Preferred constructor. |
+ WebRtcVideoFrame() : VideoFrame() {} |
WebRtcVideoFrame(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer, |
webrtc::VideoRotation rotation, |
- int64_t timestamp_us, |
- uint32_t transport_frame_id); |
- |
- // Alternative constructor, when not knowing or caring about the |
- // transport_frame_id. Which is set to zero. |
+ int64_t timestamp_us) |
+ : VideoFrame(buffer, rotation, timestamp_us) {} |
WebRtcVideoFrame(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer, |
webrtc::VideoRotation rotation, |
- int64_t timestamp_us); |
- |
- // TODO(nisse): Deprecated, delete as soon as all callers have switched to the |
- // above constructor with microsecond timestamp. |
- WebRtcVideoFrame(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer, |
- int64_t timestamp_ns, |
- webrtc::VideoRotation rotation); |
- |
- ~WebRtcVideoFrame(); |
- |
- // TODO(nisse): Init (and its helpers Reset and Validate) are used |
- // only by the LoadFrame function used in the VideoFrame unittests. |
- // Rewrite tests, and delete this function. |
- |
- // Creates a frame from a raw sample with FourCC "format" and size "w" x "h". |
- // "h" can be negative indicating a vertically flipped image. |
- // "dh" is destination height if cropping is desired and is always positive. |
- // Returns "true" if successful. |
- bool Init(uint32_t format, |
- int w, |
- int h, |
- int dw, |
- int dh, |
- uint8_t* sample, |
- size_t sample_size, |
- int64_t timestamp_ns, |
- webrtc::VideoRotation rotation); |
- |
- void InitToEmptyBuffer(int w, int h); |
- |
- int width() const override; |
- int height() const override; |
- |
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& video_frame_buffer() |
- const override; |
- |
- uint32_t transport_frame_id() const override; |
- |
- int64_t timestamp_us() const override; |
- void set_timestamp_us(int64_t time_us) override; |
- |
- webrtc::VideoRotation rotation() const override; |
- |
- protected: |
- // Creates a frame from a raw sample with FourCC |format| and size |w| x |h|. |
- // |h| can be negative indicating a vertically flipped image. |
- // |dw| is destination width; can be less than |w| if cropping is desired. |
- // |dh| is destination height, like |dw|, but must be a positive number. |
- // Returns whether the function succeeded or failed. |
- bool Reset(uint32_t format, |
- int w, |
- int h, |
- int dw, |
- int dh, |
- uint8_t* sample, |
- size_t sample_size, |
- int64_t timestamp_us, |
- webrtc::VideoRotation rotation, |
- bool apply_rotation); |
- |
- private: |
- // Tests mutate |rotation_|, so the base test class is a friend. |
- friend class WebRtcVideoFrameTest; |
- |
- // An opaque reference counted handle that stores the pixel data. |
- rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer_; |
- int64_t timestamp_us_; |
- uint32_t transport_frame_id_; |
- webrtc::VideoRotation rotation_; |
- |
- // This is mutable as the calculation is expensive but once calculated, it |
- // remains const. |
- mutable std::unique_ptr<VideoFrame> rotated_frame_; |
+ int64_t timestamp_us, |
+ uint32_t transport_frame_id) |
+ : VideoFrame(buffer, rotation, timestamp_us) { |
+ // For now, transport_frame_id and rtp timestamp are the same. |
+ // TODO(nisse): Must be handled differently for QUIC. |
+ set_timestamp(transport_frame_id); |
+ } |
}; |
} // namespace cricket |