// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MEDIA_AUDIO_AUDIO_THREAD_H_
#define MEDIA_AUDIO_AUDIO_THREAD_H_

#include "media/base/media_export.h"

namespace base {
class SingleThreadTaskRunner;
}  // namespace base

namespace media {

// This class encapulates the logic for the thread and task runners that the
// AudioManager and related classes run on.
class MEDIA_EXPORT AudioThread {
 public:
  virtual ~AudioThread() {}

  // Synchronously stops all underlying threads.
  virtual void Stop() = 0;

  // Returns the task runner used for audio IO.
  // It always returns a non-null task runner (even after Stop has been called).
  virtual base::SingleThreadTaskRunner* GetTaskRunner() = 0;

  // Heavyweight tasks should use GetWorkerTaskRunner() instead of
  // GetTaskRunner(). On most platforms they are the same, but some share the
  // UI loop with the audio IO loop.
  // It always returns a non-null task runner (even after Stop has been called).
  virtual base::SingleThreadTaskRunner* GetWorkerTaskRunner() = 0;
};

}  // namespace media

#endif  // MEDIA_AUDIO_AUDIO_THREAD_H_
