| Index: chromeos/audio/cras_audio_handler.h
|
| diff --git a/chromeos/audio/cras_audio_handler.h b/chromeos/audio/cras_audio_handler.h
|
| index 633e30a33a7a2d5d9b4729f747479f23c668b79c..10c77a471da34484a652cd488124cccf26c5613d 100644
|
| --- a/chromeos/audio/cras_audio_handler.h
|
| +++ b/chromeos/audio/cras_audio_handler.h
|
| @@ -11,6 +11,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/observer_list.h"
|
| +#include "base/timer/timer.h"
|
| #include "chromeos/audio/audio_device.h"
|
| #include "chromeos/audio/audio_pref_observer.h"
|
| #include "chromeos/dbus/audio_node.h"
|
| @@ -188,6 +189,15 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| // Enables error logging.
|
| virtual void LogErrors();
|
|
|
| + // If necessary, sets the starting point for re-discovering the active HDMI
|
| + // output device caused by device entering/exiting docking mode, HDMI display
|
| + // changing resolution, or chromeos device suspend/resume. If
|
| + // |force_rediscovering| is true, it will force to set the starting point for
|
| + // re-discovering the active HDMI output device again if it has been in the
|
| + // middle of rediscovering the HDMI active output device.
|
| + virtual void SetActiveHDMIOutoutRediscoveringIfNecessary(
|
| + bool force_rediscovering);
|
| +
|
| protected:
|
| explicit CrasAudioHandler(
|
| scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler);
|
| @@ -293,6 +303,16 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| // Removes |node_id| from additional active nodes.
|
| void RemoveActiveNodeInternal(uint64_t node_id, bool notify);
|
|
|
| + void UpdateAudioAfterHDMIRediscoverGracePeriod();
|
| +
|
| + bool IsHDMIPrimaryOutputDevice() const;
|
| +
|
| + void StartHDMIRediscoverGracePeriod();
|
| +
|
| + bool hdmi_rediscovering() const { return hdmi_rediscovering_; }
|
| +
|
| + void SetHDMIRediscoverGracePeriodForTesting(int duration_in_ms);
|
| +
|
| enum DeviceStatus {
|
| OLD_DEVICE,
|
| NEW_DEVICE,
|
| @@ -328,6 +348,11 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| // Failures are not logged at startup, since CRAS may not be running yet.
|
| bool log_errors_;
|
|
|
| + // Timer for HDMI re-discovering grace period.
|
| + base::OneShotTimer<CrasAudioHandler> hdmi_rediscover_timer_;
|
| + int hdmi_rediscover_grace_period_duration_in_ms_;
|
| + bool hdmi_rediscovering_;
|
| +
|
| base::WeakPtrFactory<CrasAudioHandler> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(CrasAudioHandler);
|
|
|