7 #include "packager/media/base/audio_stream_info.h" 11 #include "packager/base/logging.h" 12 #include "packager/base/strings/string_number_conversions.h" 13 #include "packager/base/strings/stringprintf.h" 14 #include "packager/media/base/limits.h" 20 std::string AudioCodecToString(Codec codec) {
47 NOTIMPLEMENTED() <<
"Unknown Audio Codec: " << codec;
48 return "UnknownCodec";
54 int track_id, uint32_t time_scale, uint64_t duration, Codec codec,
55 const std::string& codec_string,
const uint8_t* codec_config,
56 size_t codec_config_size, uint8_t sample_bits, uint8_t num_channels,
57 uint32_t sampling_frequency, uint64_t seek_preroll_ns,
58 uint64_t codec_delay_ns, uint32_t max_bitrate, uint32_t avg_bitrate,
59 const std::string& language,
bool is_encrypted)
60 :
StreamInfo(kStreamAudio, track_id, time_scale, duration, codec,
61 codec_string, codec_config, codec_config_size, language,
63 sample_bits_(sample_bits),
64 num_channels_(num_channels),
65 sampling_frequency_(sampling_frequency),
66 seek_preroll_ns_(seek_preroll_ns),
67 codec_delay_ns_(codec_delay_ns),
68 max_bitrate_(max_bitrate),
69 avg_bitrate_(avg_bitrate) {}
71 AudioStreamInfo::~AudioStreamInfo() {}
74 return codec() != kUnknownCodec && num_channels_ != 0 &&
75 num_channels_ <= limits::kMaxChannels && sample_bits_ > 0 &&
76 sample_bits_ <= limits::kMaxBitsPerSample && sampling_frequency_ > 0 &&
77 sampling_frequency_ <= limits::kMaxSampleRate;
81 std::string str = base::StringPrintf(
82 "%s codec: %s\n sample_bits: %d\n num_channels: %d\n " 83 "sampling_frequency: %d\n language: %s\n",
85 sample_bits_, num_channels_, sampling_frequency_, language().c_str());
86 if (seek_preroll_ns_ != 0) {
87 base::StringAppendF(&str,
" seek_preroll_ns: %" PRIu64
"\n",
90 if (codec_delay_ns_ != 0) {
91 base::StringAppendF(&str,
" codec_delay_ns: %" PRIu64
"\n",
102 uint8_t audio_object_type) {
105 return "mp4a.40." + base::UintToString(audio_object_type);
129 NOTIMPLEMENTED() <<
"Codec: " << codec;
All the methods that are virtual are virtual for mocking.