1fa7767c5Sopenharmony_ci/* 2fa7767c5Sopenharmony_ci * Copyright (c) 2021-2021 Huawei Device Co., Ltd. 3fa7767c5Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fa7767c5Sopenharmony_ci * you may not use this file except in compliance with the License. 5fa7767c5Sopenharmony_ci * You may obtain a copy of the License at 6fa7767c5Sopenharmony_ci * 7fa7767c5Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fa7767c5Sopenharmony_ci * 9fa7767c5Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fa7767c5Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fa7767c5Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fa7767c5Sopenharmony_ci * See the License for the specific language governing permissions and 13fa7767c5Sopenharmony_ci * limitations under the License. 14fa7767c5Sopenharmony_ci */ 15fa7767c5Sopenharmony_ci 16fa7767c5Sopenharmony_ci#include "gtest/gtest.h" 17fa7767c5Sopenharmony_ci#include "plugin/common/plugin_buffer.h" 18fa7767c5Sopenharmony_ci#include "plugin/common/surface_allocator.h" 19fa7767c5Sopenharmony_ci#include "plugin/common/surface_memory.h" 20fa7767c5Sopenharmony_ci#include "plugin/common/share_memory.h" 21fa7767c5Sopenharmony_ci#include "surface.h" 22fa7767c5Sopenharmony_cinamespace OHOS { 23fa7767c5Sopenharmony_cinamespace Media { 24fa7767c5Sopenharmony_cinamespace Test { 25fa7767c5Sopenharmony_ciusing namespace Plugin; 26fa7767c5Sopenharmony_ciusing namespace testing::ext; 27fa7767c5Sopenharmony_ciHWTEST(PluginBufferTest, test_PluginBuffer, TestSize.Level1) { 28fa7767c5Sopenharmony_ci std::shared_ptr<Buffer> audioBuffer = Buffer::CreateDefaultBuffer(BufferMetaType::AUDIO, 16, 29fa7767c5Sopenharmony_ci std::shared_ptr<Allocator>(), 1); 30fa7767c5Sopenharmony_ci audioBuffer->AllocMemory(nullptr, 16); 31fa7767c5Sopenharmony_ci ASSERT_TRUE(nullptr == audioBuffer->GetMemory(10)); 32fa7767c5Sopenharmony_ci std::shared_ptr<Memory> memory = audioBuffer->GetMemory(0); 33fa7767c5Sopenharmony_ci uint8_t in; 34fa7767c5Sopenharmony_ci memory->Write(&in, 10, -1); 35fa7767c5Sopenharmony_ci memory->Write(&in, 10, 0); 36fa7767c5Sopenharmony_ci memory->Read(&in, 10, 0); 37fa7767c5Sopenharmony_ci ASSERT_TRUE(nullptr == memory->GetReadOnlyData(17)); 38fa7767c5Sopenharmony_ci ASSERT_TRUE(nullptr == memory->GetWritableAddr(8, 9)); 39fa7767c5Sopenharmony_ci memory->UpdateDataSize(8, 9); 40fa7767c5Sopenharmony_ci audioBuffer->Reset(); 41fa7767c5Sopenharmony_ci audioBuffer->ChangeBufferMetaType(BufferMetaType::AUDIO); 42fa7767c5Sopenharmony_ci audioBuffer->ChangeBufferMetaType(BufferMetaType::VIDEO); 43fa7767c5Sopenharmony_ci std::shared_ptr<Buffer> videoBuffer = Buffer::CreateDefaultBuffer(BufferMetaType::VIDEO, 16, 44fa7767c5Sopenharmony_ci std::shared_ptr<Allocator>(), 1); 45fa7767c5Sopenharmony_ci videoBuffer->Reset(); 46fa7767c5Sopenharmony_ci} 47fa7767c5Sopenharmony_ci} //namespace Test 48fa7767c5Sopenharmony_ci} //namespace Media 49fa7767c5Sopenharmony_ci} //namespace OHOS