/* * Copyright (c) 2019 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 "test/pc/e2e/analyzer/video/simulcast_dummy_buffer_helper.h" #include namespace webrtc { namespace webrtc_pc_e2e { namespace { constexpr char kIrrelatedSimulcastStreamFrameData[] = "Dummy!"; } // namespace rtc::scoped_refptr CreateDummyFrameBuffer() { // Use i420 buffer here as default one and supported by all codecs. rtc::scoped_refptr buffer = webrtc::I420Buffer::Create(2, 2); memcpy(buffer->MutableDataY(), kIrrelatedSimulcastStreamFrameData, 2); memcpy(buffer->MutableDataY() + buffer->StrideY(), kIrrelatedSimulcastStreamFrameData + 2, 2); memcpy(buffer->MutableDataU(), kIrrelatedSimulcastStreamFrameData + 4, 1); memcpy(buffer->MutableDataV(), kIrrelatedSimulcastStreamFrameData + 5, 1); return buffer; } bool IsDummyFrameBuffer( rtc::scoped_refptr video_frame_buffer) { if (video_frame_buffer->width() != 2 || video_frame_buffer->height() != 2) { return false; } rtc::scoped_refptr buffer = video_frame_buffer->ToI420(); if (memcmp(buffer->DataY(), kIrrelatedSimulcastStreamFrameData, 2) != 0) { return false; } if (memcmp(buffer->DataY() + buffer->StrideY(), kIrrelatedSimulcastStreamFrameData + 2, 2) != 0) { return false; } if (memcmp(buffer->DataU(), kIrrelatedSimulcastStreamFrameData + 4, 1) != 0) { return false; } if (memcmp(buffer->DataV(), kIrrelatedSimulcastStreamFrameData + 5, 1) != 0) { return false; } return true; } } // namespace webrtc_pc_e2e } // namespace webrtc