Index: services/media/audio/audio_track_impl.cc |
diff --git a/services/media/audio/audio_track_impl.cc b/services/media/audio/audio_track_impl.cc |
index 1241139f418bd6f9dbb1dc5beace06801b079901..092b8695c977d8ca28ad878d9079902e1c271ac9 100644 |
--- a/services/media/audio/audio_track_impl.cc |
+++ b/services/media/audio/audio_track_impl.cc |
@@ -21,21 +21,21 @@ constexpr size_t AudioTrackImpl::PTS_FRACTIONAL_BITS; |
// TODO(johngro): If there is ever a better way to do this type of static-table |
// initialization using mojom generated structs, we should switch to it. |
static const struct { |
- LpcmSampleFormat sample_format; |
+ AudioSampleFormat sample_format; |
uint32_t min_channels; |
uint32_t max_channels; |
uint32_t min_frames_per_second; |
uint32_t max_frames_per_second; |
-} kSupportedLpcmTypeSets[] = { |
+} kSupportedAudioTypeSets[] = { |
{ |
- .sample_format = LpcmSampleFormat::UNSIGNED_8, |
+ .sample_format = AudioSampleFormat::UNSIGNED_8, |
.min_channels = 1, |
.max_channels = 2, |
.min_frames_per_second = 1000, |
.max_frames_per_second = 48000, |
}, |
{ |
- .sample_format = LpcmSampleFormat::SIGNED_16, |
+ .sample_format = AudioSampleFormat::SIGNED_16, |
.min_channels = 1, |
.max_channels = 2, |
.min_frames_per_second = 1000, |
@@ -108,24 +108,27 @@ void AudioTrackImpl::Describe(const DescribeCallback& cbk) { |
AudioTrackDescriptorPtr desc(AudioTrackDescriptor::New()); |
desc->supported_media_types = |
- Array<MediaTypeSetPtr>::New(arraysize(kSupportedLpcmTypeSets)); |
+ Array<MediaTypeSetPtr>::New(arraysize(kSupportedAudioTypeSets)); |
for (size_t i = 0; i < desc->supported_media_types.size(); ++i) { |
const MediaTypeSetPtr& mts = |
(desc->supported_media_types[i] = MediaTypeSet::New()); |
- mts->scheme = MediaTypeScheme::LPCM; |
- mts->details = MediaTypeSetDetails::New(); |
+ mts->medium = MediaTypeMedium::AUDIO; |
+ mts->encodings = Array<String>::New(1); |
+ mts->details = MediaTypeSetDetails::New(); |
- const auto& s = kSupportedLpcmTypeSets[i]; |
- LpcmMediaTypeSetDetailsPtr lpcm_detail = LpcmMediaTypeSetDetails::New(); |
+ mts->encodings[0] = MediaType::kAudioEncodingLpcm; |
- lpcm_detail->sample_format = s.sample_format; |
- lpcm_detail->min_channels = s.min_channels; |
- lpcm_detail->max_channels = s.max_channels; |
- lpcm_detail->min_frames_per_second = s.min_frames_per_second; |
- lpcm_detail->max_frames_per_second = s.max_frames_per_second; |
- mts->details->set_lpcm(lpcm_detail.Pass()); |
+ const auto& s = kSupportedAudioTypeSets[i]; |
+ AudioMediaTypeSetDetailsPtr audio_detail = AudioMediaTypeSetDetails::New(); |
+ |
+ audio_detail->sample_format = s.sample_format; |
+ audio_detail->min_channels = s.min_channels; |
+ audio_detail->max_channels = s.max_channels; |
+ audio_detail->min_frames_per_second = s.min_frames_per_second; |
+ audio_detail->max_frames_per_second = s.max_frames_per_second; |
+ mts->details->set_audio(audio_detail.Pass()); |
} |
cbk.Run(desc.Pass()); |
@@ -141,20 +144,21 @@ void AudioTrackImpl::Configure(AudioTrackConfigurationPtr configuration, |
} |
// Check the requested configuration. |
- if ((configuration->media_type->scheme != MediaTypeScheme::LPCM) || |
- (!configuration->media_type->details->is_lpcm())) { |
+ if ((configuration->media_type->medium != MediaTypeMedium::AUDIO) || |
+ (configuration->media_type->encoding != MediaType::kAudioEncodingLpcm) || |
+ (!configuration->media_type->details->is_audio())) { |
LOG(ERROR) << "Unsupported configuration requested in " |
- "AudioTrack::Configure. Media type must be LPCM."; |
+ "AudioTrack::Configure. Media type must be LPCM audio."; |
Shutdown(); |
return; |
} |
// Search our supported configuration sets to find one compatible with this |
// request. |
- auto& cfg = configuration->media_type->details->get_lpcm(); |
+ auto& cfg = configuration->media_type->details->get_audio(); |
size_t i; |
- for (i = 0; i < arraysize(kSupportedLpcmTypeSets); ++i) { |
- const auto& cfg_set = kSupportedLpcmTypeSets[i]; |
+ for (i = 0; i < arraysize(kSupportedAudioTypeSets); ++i) { |
+ const auto& cfg_set = kSupportedAudioTypeSets[i]; |
if ((cfg->sample_format == cfg_set.sample_format) && |
(cfg->channels >= cfg_set.min_channels) && |
@@ -165,7 +169,7 @@ void AudioTrackImpl::Configure(AudioTrackConfigurationPtr configuration, |
} |
} |
- if (i >= arraysize(kSupportedLpcmTypeSets)) { |
+ if (i >= arraysize(kSupportedAudioTypeSets)) { |
LOG(ERROR) << "Unsupported LPCM configuration requested in " |
"AudioTrack::Configure. " |
<< "(format = " << cfg->sample_format |
@@ -206,15 +210,15 @@ void AudioTrackImpl::Configure(AudioTrackConfigurationPtr configuration, |
// Figure out how many bytes we need to hold the requested number of nSec of |
// audio. |
switch (cfg->sample_format) { |
- case LpcmSampleFormat::UNSIGNED_8: |
+ case AudioSampleFormat::UNSIGNED_8: |
bytes_per_frame_ = 1; |
break; |
- case LpcmSampleFormat::SIGNED_16: |
+ case AudioSampleFormat::SIGNED_16: |
bytes_per_frame_ = 2; |
break; |
- case LpcmSampleFormat::SIGNED_24_IN_32: |
+ case AudioSampleFormat::SIGNED_24_IN_32: |
bytes_per_frame_ = 4; |
break; |