Chromium Code Reviews| Index: webrtc/video_frame.h | 
| diff --git a/webrtc/video_frame.h b/webrtc/video_frame.h | 
| index a834f83ddf1333c74e3f3f70779e905248aceec2..f0b40d8a3a00a2fd830a7464f944f4779b7ee5ff 100644 | 
| --- a/webrtc/video_frame.h | 
| +++ b/webrtc/video_frame.h | 
| @@ -11,130 +11,13 @@ | 
| #ifndef WEBRTC_VIDEO_FRAME_H_ | 
| #define WEBRTC_VIDEO_FRAME_H_ | 
| -#include "webrtc/base/scoped_ref_ptr.h" | 
| -#include "webrtc/base/timeutils.h" | 
| +#include "webrtc/api/video/video_frame.h" | 
| + | 
| #include "webrtc/common_types.h" | 
| -#include "webrtc/common_video/include/video_frame_buffer.h" | 
| -#include "webrtc/common_video/rotation.h" | 
| #include "webrtc/typedefs.h" | 
| namespace webrtc { | 
| -class VideoFrame { | 
| - public: | 
| - // TODO(nisse): Deprecated. Using the default constructor violates the | 
| - // reasonable assumption that video_frame_buffer() returns a valid buffer. | 
| - VideoFrame(); | 
| - | 
| - // TODO(nisse): This constructor is consistent with | 
| - // cricket::WebRtcVideoFrame. After the class | 
| - // cricket::WebRtcVideoFrame and its baseclass cricket::VideoFrame | 
| - // are deleted, we should consider whether or not we want to stick | 
| - // to this style and deprecate the other constructors. | 
| - VideoFrame(const rtc::scoped_refptr<VideoFrameBuffer>& buffer, | 
| - webrtc::VideoRotation rotation, | 
| - int64_t timestamp_us); | 
| - | 
| - // Preferred constructor. | 
| - VideoFrame(const rtc::scoped_refptr<VideoFrameBuffer>& buffer, | 
| - uint32_t timestamp, | 
| - int64_t render_time_ms, | 
| - VideoRotation rotation); | 
| - | 
| - // Support move and copy. | 
| - VideoFrame(const VideoFrame&) = default; | 
| - VideoFrame(VideoFrame&&) = default; | 
| - VideoFrame& operator=(const VideoFrame&) = default; | 
| - VideoFrame& operator=(VideoFrame&&) = default; | 
| - | 
| - // Get frame width. | 
| - int width() const; | 
| - | 
| - // Get frame height. | 
| - int height() const; | 
| - | 
| - // System monotonic clock, same timebase as rtc::TimeMicros(). | 
| - int64_t timestamp_us() const { return timestamp_us_; } | 
| - void set_timestamp_us(int64_t timestamp_us) { | 
| - timestamp_us_ = timestamp_us; | 
| - } | 
| - | 
| - // TODO(nisse): After the cricket::VideoFrame and webrtc::VideoFrame | 
| - // merge, timestamps other than timestamp_us will likely be | 
| - // deprecated. | 
| - | 
| - // Set frame timestamp (90kHz). | 
| - void set_timestamp(uint32_t timestamp) { timestamp_rtp_ = timestamp; } | 
| - | 
| - // Get frame timestamp (90kHz). | 
| - uint32_t timestamp() const { return timestamp_rtp_; } | 
| - | 
| - // For now, transport_frame_id and rtp timestamp are the same. | 
| - // TODO(nisse): Must be handled differently for QUIC. | 
| - uint32_t transport_frame_id() const { return timestamp(); } | 
| - | 
| - // Set capture ntp time in milliseconds. | 
| - void set_ntp_time_ms(int64_t ntp_time_ms) { | 
| - ntp_time_ms_ = ntp_time_ms; | 
| - } | 
| - | 
| - // Get capture ntp time in milliseconds. | 
| - int64_t ntp_time_ms() const { return ntp_time_ms_; } | 
| - | 
| - // Naming convention for Coordination of Video Orientation. Please see | 
| - // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf | 
| - // | 
| - // "pending rotation" or "pending" = a frame that has a VideoRotation > 0. | 
| - // | 
| - // "not pending" = a frame that has a VideoRotation == 0. | 
| - // | 
| - // "apply rotation" = modify a frame from being "pending" to being "not | 
| - // pending" rotation (a no-op for "unrotated"). | 
| - // | 
| - VideoRotation rotation() const { return rotation_; } | 
| - void set_rotation(VideoRotation rotation) { | 
| - rotation_ = rotation; | 
| - } | 
| - | 
| - // Set render time in milliseconds. | 
| - void set_render_time_ms(int64_t render_time_ms) { | 
| - set_timestamp_us(render_time_ms * rtc::kNumMicrosecsPerMillisec);; | 
| - } | 
| - | 
| - // Get render time in milliseconds. | 
| - int64_t render_time_ms() const { | 
| - return timestamp_us() / rtc::kNumMicrosecsPerMillisec; | 
| - } | 
| - | 
| - // Return true if and only if video_frame_buffer() is null. Which is possible | 
| - // only if the object was default-constructed. | 
| - // TODO(nisse): Deprecated. Should be deleted in the cricket::VideoFrame and | 
| - // webrtc::VideoFrame merge. The intention is that video_frame_buffer() never | 
| - // should return nullptr. To handle potentially uninitialized or non-existent | 
| - // frames, consider using rtc::Optional. Otherwise, IsZeroSize() can be | 
| - // replaced by video_frame_buffer() == nullptr. | 
| - bool IsZeroSize() const; | 
| - | 
| - // Return the underlying buffer. Never nullptr for a properly | 
| - // initialized VideoFrame. | 
| - rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer() const; | 
| - | 
| - // Return true if the frame is stored in a texture. | 
| - bool is_texture() const { | 
| - return video_frame_buffer() && | 
| - video_frame_buffer()->native_handle() != nullptr; | 
| - } | 
| - | 
| - private: | 
| - // An opaque reference counted handle that stores the pixel data. | 
| - rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer_; | 
| - uint32_t timestamp_rtp_; | 
| - int64_t ntp_time_ms_; | 
| - int64_t timestamp_us_; | 
| - VideoRotation rotation_; | 
| -}; | 
| - | 
| - | 
| // TODO(pbos): Rename EncodedFrame and reformat this class' members. | 
| class EncodedImage { | 
| 
 
the sun
2016/11/24 10:36:59
This also need to be in api/? Did you intend to mo
 
nisse-webrtc
2016/11/25 08:58:03
For now, I intend to move only interfaces related
 
 | 
| public: |