Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Unified Diff: webrtc/media/engine/webrtcvideoframe.cc

Issue 2411953002: Reland of Make cricket::VideoFrame inherit webrtc::VideoFrame. (Closed)
Patch Set: Fix for windows build. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvideoframe.h ('k') | webrtc/media/engine/webrtcvideoframe_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/webrtcvideoframe.cc
diff --git a/webrtc/media/engine/webrtcvideoframe.cc b/webrtc/media/engine/webrtcvideoframe.cc
deleted file mode 100644
index c478c0a74daff6f3f487c6d43f02c9e243e9eee0..0000000000000000000000000000000000000000
--- a/webrtc/media/engine/webrtcvideoframe.cc
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "webrtc/media/engine/webrtcvideoframe.h"
-
-#include "libyuv/convert.h"
-#include "webrtc/base/logging.h"
-#include "webrtc/media/base/videocapturer.h"
-#include "webrtc/media/base/videocommon.h"
-#include "webrtc/video_frame.h"
-
-namespace cricket {
-
-WebRtcVideoFrame::WebRtcVideoFrame()
- : timestamp_us_(0), rotation_(webrtc::kVideoRotation_0) {}
-
-WebRtcVideoFrame::WebRtcVideoFrame(
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
- webrtc::VideoRotation rotation,
- int64_t timestamp_us,
- uint32_t transport_frame_id)
- : video_frame_buffer_(buffer),
- timestamp_us_(timestamp_us),
- transport_frame_id_(transport_frame_id),
- rotation_(rotation) {}
-
-WebRtcVideoFrame::WebRtcVideoFrame(
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
- webrtc::VideoRotation rotation,
- int64_t timestamp_us)
- : WebRtcVideoFrame(buffer, rotation, timestamp_us, 0) {};
-
-WebRtcVideoFrame::WebRtcVideoFrame(
- const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
- int64_t time_stamp_ns,
- webrtc::VideoRotation rotation)
- : WebRtcVideoFrame(buffer,
- rotation,
- time_stamp_ns / rtc::kNumNanosecsPerMicrosec,
- 0) {}
-
-WebRtcVideoFrame::~WebRtcVideoFrame() {}
-
-bool WebRtcVideoFrame::Init(uint32_t format,
- int w,
- int h,
- int dw,
- int dh,
- uint8_t* sample,
- size_t sample_size,
- int64_t time_stamp_ns,
- webrtc::VideoRotation rotation) {
- return Reset(format, w, h, dw, dh, sample, sample_size,
- time_stamp_ns / rtc::kNumNanosecsPerMicrosec, rotation,
- true /*apply_rotation*/);
-}
-
-int WebRtcVideoFrame::width() const {
- return video_frame_buffer_ ? video_frame_buffer_->width() : 0;
-}
-
-int WebRtcVideoFrame::height() const {
- return video_frame_buffer_ ? video_frame_buffer_->height() : 0;
-}
-
-const rtc::scoped_refptr<webrtc::VideoFrameBuffer>&
-WebRtcVideoFrame::video_frame_buffer() const {
- return video_frame_buffer_;
-}
-
-uint32_t WebRtcVideoFrame::transport_frame_id() const {
- return transport_frame_id_;
-}
-
-int64_t WebRtcVideoFrame::timestamp_us() const {
- return timestamp_us_;
-}
-
-void WebRtcVideoFrame::set_timestamp_us(int64_t time_us) {
- timestamp_us_ = time_us;
-}
-
-webrtc::VideoRotation WebRtcVideoFrame::rotation() const {
- return rotation_;
-}
-
-bool WebRtcVideoFrame::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) {
- if (!Validate(format, w, h, sample, sample_size)) {
- return false;
- }
- // Translate aliases to standard enums (e.g., IYUV -> I420).
- format = CanonicalFourCC(format);
-
- // Set up a new buffer.
- // TODO(fbarchard): Support lazy allocation.
- int new_width = dw;
- int new_height = dh;
- // If rotated swap width, height.
- if (apply_rotation && (rotation == 90 || rotation == 270)) {
- new_width = dh;
- new_height = dw;
- }
-
- rtc::scoped_refptr<webrtc::I420Buffer> buffer =
- webrtc::I420Buffer::Create(new_width, new_height);
- video_frame_buffer_ = buffer;
- rotation_ = apply_rotation ? webrtc::kVideoRotation_0 : rotation;
-
- int horiz_crop = ((w - dw) / 2) & ~1;
- // ARGB on Windows has negative height.
- // The sample's layout in memory is normal, so just correct crop.
- int vert_crop = ((abs(h) - dh) / 2) & ~1;
- // Conversion functions expect negative height to flip the image.
- int idh = (h < 0) ? -dh : dh;
- int r = libyuv::ConvertToI420(
- sample, sample_size,
- buffer->MutableDataY(), buffer->StrideY(),
- buffer->MutableDataU(), buffer->StrideU(),
- buffer->MutableDataV(), buffer->StrideV(),
- horiz_crop, vert_crop, w, h, dw, idh,
- static_cast<libyuv::RotationMode>(
- apply_rotation ? rotation : webrtc::kVideoRotation_0),
- format);
- if (r) {
- LOG(LS_ERROR) << "Error parsing format: " << GetFourccName(format)
- << " return code : " << r;
- return false;
- }
- timestamp_us_ = timestamp_us;
- return true;
-}
-
-void WebRtcVideoFrame::InitToEmptyBuffer(int w, int h) {
- video_frame_buffer_ = webrtc::I420Buffer::Create(w, h);
- rotation_ = webrtc::kVideoRotation_0;
-}
-
-} // namespace cricket
« no previous file with comments | « webrtc/media/engine/webrtcvideoframe.h ('k') | webrtc/media/engine/webrtcvideoframe_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698