Shaka Player Embedded
media_capabilities.cc
Go to the documentation of this file.
1 // Copyright 2019 Google LLC
2 //
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 // https://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 
16 
17 #define DEFINE_SPECIAL_METHODS(Type) \
18  Type::~Type() {} \
19  Type::Type(const Type&) = default; \
20  Type::Type(Type&&) = default; \
21  Type& Type::operator=(const Type&) = default; \
22  Type& Type::operator=(Type&&) = default
23 
24 namespace shaka {
25 namespace media {
26 
27 // \cond Doxygen_Skip
29  : width(0),
30  height(0),
31  bitrate(0),
32  framerate(0),
33  has_alpha_channel(false),
34  hdr_metadata_type(HdrMetadataType::Unspecified),
35  color_gamut(ColorGamut::Unspecified),
36  transfer_function(TransferFunction::Unspecified) {}
37 DEFINE_SPECIAL_METHODS(VideoConfiguration);
38 
39 
41  : channels(0), bitrate(0), samplerate(0), spatial_rendering(false) {}
42 DEFINE_SPECIAL_METHODS(AudioConfiguration);
43 
44 
47 
48 
51  : init_data_type(eme::MediaKeyInitDataType::Cenc),
52  distinctive_identifier(eme::MediaKeysRequirement::Optional),
53  persistent_state(eme::MediaKeysRequirement::Optional) {}
54 DEFINE_SPECIAL_METHODS(MediaCapabilitiesKeySystemConfiguration);
55 
56 
59 DEFINE_SPECIAL_METHODS(MediaDecodingConfiguration);
60 
61 
63  : supported(false), smooth(false), power_efficient(false) {}
64 DEFINE_SPECIAL_METHODS(MediaCapabilitiesInfo);
65 // \endcond Doxygen_Skip
66 
67 } // namespace media
68 } // namespace shaka
#define DEFINE_SPECIAL_METHODS(Type)
int width
ExceptionCode type
int height