Index: ash/system/audio/tray_audio.cc |
diff --git a/ash/system/audio/tray_audio.cc b/ash/system/audio/tray_audio.cc |
index a3b32ca96a822b0a1d33de7e9fb6b443055391d9..dca4b1d023ebac98fbe0fe807e34b2c505d484e0 100644 |
--- a/ash/system/audio/tray_audio.cc |
+++ b/ash/system/audio/tray_audio.cc |
@@ -7,6 +7,7 @@ |
#include <cmath> |
#include "ash/ash_constants.h" |
+#include "ash/display/display_manager.h" |
#include "ash/metrics/user_metrics_recorder.h" |
#include "ash/shell.h" |
#include "ash/system/audio/tray_audio_delegate.h" |
@@ -26,6 +27,7 @@ |
#include "third_party/skia/include/core/SkRect.h" |
#include "third_party/skia/include/effects/SkGradientShader.h" |
#include "ui/gfx/canvas.h" |
+#include "ui/gfx/display.h" |
#include "ui/gfx/font_list.h" |
#include "ui/gfx/image/image.h" |
#include "ui/gfx/image/image_skia_operations.h" |
@@ -127,6 +129,12 @@ void TrayAudio::OnAudioNodesChanged() { |
void TrayAudio::OnActiveOutputNodeChanged() { |
Update(); |
+ // Swap left/right channel if it is in Yoga mode. |
+ const DisplayInfo& display_info = |
+ Shell::GetInstance()->display_manager()->GetDisplayInfo( |
+ gfx::Display::InternalDisplayId()); |
+ audio_delegate_->SwapLeftRight(display_info.rotation() == |
+ gfx::Display::ROTATE_180); |
} |
void TrayAudio::OnActiveInputNodeChanged() { |