blob: 9fbb31836809acfcf42c1f6361ef57d4334b857d [file] [log] [blame] [edit]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMECAST_COMMON_MOJOM_APPLICATION_MEDIA_CAPABILITIES_TRAITS_H_
#define CHROMECAST_COMMON_MOJOM_APPLICATION_MEDIA_CAPABILITIES_TRAITS_H_
#include "chromecast/base/bitstream_audio_codecs.h"
#include "chromecast/common/mojom/application_media_capabilities.mojom-shared.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
namespace mojo {
template <>
struct StructTraits<chromecast::shell::mojom::BitstreamAudioCodecsInfoDataView,
chromecast::BitstreamAudioCodecsInfo> {
static int32_t codecs(const chromecast::BitstreamAudioCodecsInfo& info) {
return info.codecs;
}
static int32_t spatial_rendering(
const chromecast::BitstreamAudioCodecsInfo& info) {
return info.spatial_rendering;
}
static bool Read(
chromecast::shell::mojom::BitstreamAudioCodecsInfoDataView input,
chromecast::BitstreamAudioCodecsInfo* output) {
output->codecs = input.codecs();
output->spatial_rendering = input.spatial_rendering();
return true;
}
};
} // namespace mojo
#endif // CHROMECAST_COMMON_MOJOM_APPLICATION_MEDIA_CAPABILITIES_TRAITS_H_