// Copyright 2016 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 COBALT_MEDIA_BASE_MEDIA_CONTENT_TYPE_H_
#define COBALT_MEDIA_BASE_MEDIA_CONTENT_TYPE_H_

#include "base/time.h"
#include "cobalt/media/base/media_export.h"

namespace cobalt {
namespace media {

// The content type of a media player, which will be used by MediaSession to
// control its players.
enum class MediaContentType {
  // Type indicating that a player is persistent, which needs to take audio
  // focus to play.
  Persistent,
  // Type indicating that a player only plays a transient sound.
  Transient,
  // Type indicating that a player is a Pepper instance. MediaSession may duck
  // the player instead of pausing it.
  Pepper,
  // Type indicating that a player cannot be controlled. MediaSession wil ignore
  // this player.
  Uncontrollable
};

// Utility function for deciding the MediaContentType of a player based on its
// duration.
MEDIA_EXPORT MediaContentType
DurationToMediaContentType(base::TimeDelta duration);

}  // namespace media
}  // namespace cobalt

#endif  // COBALT_MEDIA_BASE_MEDIA_CONTENT_TYPE_H_
