1  /*
2   * Copyright (C) 2023 Huawei Device Co., Ltd.
3   * Licensed under the Apache License, Version 2.0 (the "License");
4   * you may not use this file except in compliance with the License.
5   * You may obtain a copy of the License at
6   *
7   *     http://www.apache.org/licenses/LICENSE-2.0
8   *
9   * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  
16  #include "avbuffer_inner_mock.h"
17  #include "buffer/avbuffer.h"
18  #include "native_averrors.h"
19  #include "unittest_log.h"
20  
21  
22  namespace OHOS {
23  namespace MediaAVCodec {
CreateAVBuffer(const int32_t & capacity)24  std::shared_ptr<AVBufferMock> AVBufferMockFactory::CreateAVBuffer(const int32_t &capacity)
25  {
26      auto allocator = AVAllocatorFactory::CreateSharedAllocator(MemoryFlag::MEMORY_READ_WRITE);
27      std::shared_ptr<AVBuffer> buffer = AVBuffer::CreateAVBuffer(allocator, capacity);
28      UNITTEST_CHECK_AND_RETURN_RET_LOG(buffer != nullptr, nullptr, "CreateAVBuffer is nullptr!");
29      return std::make_shared<AVBufferInnerMock>(buffer);
30  }
31  
CreateAVBuffer(std::shared_ptr<AVBuffer> buffer)32  std::shared_ptr<AVBufferMock> AVBufferMockFactory::CreateAVBuffer(std::shared_ptr<AVBuffer> buffer)
33  {
34      UNITTEST_CHECK_AND_RETURN_RET_LOG(buffer != nullptr, nullptr, "CreateAVBuffer is nullptr!");
35      return std::make_shared<AVBufferInnerMock>(buffer);
36  }
37  } // namespace MediaAVCodec
38  } // namespace OHOS