// Copyright 2018 The Cobalt Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "starboard/media.h"

#include "starboard/log.h"

#if SB_API_VERSION >= 10
SbMediaBufferStorageType SbMediaGetBufferStorageType() {
// Use define forwarded from GYP variable.
#if defined(COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY)
  SB_DLOG(WARNING) << "COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY will be "
                      "deprecated in a future Starboard version.";
  return kSbMediaBufferStorageTypeMemory;
#elif defined(COBALT_MEDIA_BUFFER_STORAGE_TYPE_FILE)
  SB_DLOG(WARNING) << "COBALT_MEDIA_BUFFER_STORAGE_TYPE_FILE will be "
                      "deprecated in a future Starboard version.";
  return kSbMediaBufferStorageTypeFile;
#else   // defined(COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY)
  // In the absence of other information, assume memory storage is the default.
  return kSbMediaBufferStorageTypeMemory;
#endif  // defined(COBALT_MEDIA_BUFFER_STORAGE_TYPE_MEMORY)
}
#endif  // SB_API_VERSION >= 10
