Chromium Code Reviews| Index: chromecast/public/media/decoder_config.h |
| diff --git a/chromecast/public/media/decoder_config.h b/chromecast/public/media/decoder_config.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..24abd5860245e78db1583b890f7d41945c61c561 |
| --- /dev/null |
| +++ b/chromecast/public/media/decoder_config.h |
| @@ -0,0 +1,88 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROMECAST_MEDIA_CMA_PUBLIC_DECODER_CONFIG_H_ |
| +#define CHROMECAST_MEDIA_CMA_PUBLIC_DECODER_CONFIG_H_ |
| + |
| +#include <string> |
| +#include <vector> |
| + |
| +#include "base/basictypes.h" |
| + |
| +namespace chromecast { |
| +namespace media { |
| + |
| +enum Codec { |
| + kUnknownCodec = -1, |
| + |
| + kAudioCodecMin = 0, |
| + kCodecAAC = kAudioCodecMin, |
| + kCodecMP3, |
| + kCodecPCM, |
| + kCodecPCM_S16BE, |
| + kCodecVorbis, |
| + kCodecOpus, |
| + kCodecEAC3, |
| + kCodecAC3, |
| + kCodecDTS, |
| + kAudioCodecMax = kCodecDTS, |
| + |
| + kVideoCodecMin = 0x100, |
| + kCodecH264 = kVideoCodecMin, |
| + kCodecVC1, |
| + kCodecMPEG2, |
| + kCodecMPEG4, |
| + kCodecTheora, |
| + kCodecVP8, |
| + kCodecVP9, |
| + kCodecHEVC, |
| + kVideoCodecMax = kCodecHEVC, |
| +}; |
| + |
| +// Profile for Video codec. |
| +enum Profile { |
| + kCodecProfileUnknown = -1, |
| + |
| + kCodecProfileMin = 0, |
| + kH264Baseline = kCodecProfileMin, |
| + kH264Main = 1, |
| + kH264Extended = 2, |
| + kH264High = 3, |
| + kH264High10 = 4, |
| + kH264High422 = 5, |
| + kH264High444Predictive = 6, |
| + kH264ScalabBaseline = 7, |
| + kH264ScalableHigh = 8, |
| + kH264Stereohigh = 9, |
| + kH264MultiviewHigh = 10, |
| + kVP8ProfileAny = 11, |
| + kVP9ProfileAny = 12, |
| + kCodecProfileMax = kVP9ProfileAny, |
| +}; |
| + |
| +struct DecoderConfig { |
|
gunsch
2015/04/17 01:38:51
Out of curiosity, what was the logic for merging t
erickung1
2015/04/29 08:52:20
Done. Slipt to AudioConfig and VideoConfig
|
| + DecoderConfig(); |
| + ~DecoderConfig(); |
| + |
| + Codec codec; |
| + |
| + // Video related config. |
| + Profile profile; |
| + |
| + // Audio related config. |
| + int bytes_per_channel; |
| + int channel_number; |
| + int samples_per_second; |
| + |
| + // Optional extra buffer for decoder initialization. |
| + std::vector<uint8> extra_data; |
| + |
| + bool is_encrypted; |
| + bool is_valid_config; |
| +}; |
| + |
| +} // namespace media |
| +} // namespace chromecast |
| + |
| +#endif // CHROMECAST_MEDIA_CMA_PUBLIC_DECODER_CONFIG_H_ |