Loading services/audiopolicy/managerdefault/AudioPolicyManager.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -1355,6 +1355,14 @@ status_t AudioPolicyManager::getBestMsdAudioProfileFor(const sp<DeviceDescriptor // For encoded streams force direct flag to prevent downstream mixing. // For encoded streams force direct flag to prevent downstream mixing. sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_DIRECT); sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_DIRECT); if (audio_is_iec61937_compatible(sinkConfig->format)) { // For formats compatible with IEC61937 encapsulation, assume that // the record thread input from MSD is IEC61937 framed (for proportional buffer sizing). // Add the AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO flag so downstream HAL can distinguish between // raw and IEC61937 framed streams. sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO); } sourceConfig->sample_rate = bestSinkConfig.sample_rate; sourceConfig->sample_rate = bestSinkConfig.sample_rate; // Specify exact channel mask to prevent guessing by bit count in PatchPanel. // Specify exact channel mask to prevent guessing by bit count in PatchPanel. sourceConfig->channel_mask = audio_channel_mask_out_to_in(bestSinkConfig.channel_mask); sourceConfig->channel_mask = audio_channel_mask_out_to_in(bestSinkConfig.channel_mask); Loading Loading
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -1355,6 +1355,14 @@ status_t AudioPolicyManager::getBestMsdAudioProfileFor(const sp<DeviceDescriptor // For encoded streams force direct flag to prevent downstream mixing. // For encoded streams force direct flag to prevent downstream mixing. sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_DIRECT); sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_DIRECT); if (audio_is_iec61937_compatible(sinkConfig->format)) { // For formats compatible with IEC61937 encapsulation, assume that // the record thread input from MSD is IEC61937 framed (for proportional buffer sizing). // Add the AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO flag so downstream HAL can distinguish between // raw and IEC61937 framed streams. sinkConfig->flags.output = static_cast<audio_output_flags_t>( sinkConfig->flags.output | AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO); } sourceConfig->sample_rate = bestSinkConfig.sample_rate; sourceConfig->sample_rate = bestSinkConfig.sample_rate; // Specify exact channel mask to prevent guessing by bit count in PatchPanel. // Specify exact channel mask to prevent guessing by bit count in PatchPanel. sourceConfig->channel_mask = audio_channel_mask_out_to_in(bestSinkConfig.channel_mask); sourceConfig->channel_mask = audio_channel_mask_out_to_in(bestSinkConfig.channel_mask); Loading