chromium/media/base/buffering_state.h

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

#ifndef MEDIA_BASE_BUFFERING_STATE_H_
#define MEDIA_BASE_BUFFERING_STATE_H_

#include <string>

#include "base/functional/callback_forward.h"

namespace media {

enum BufferingState {};

enum BufferingStateChangeReason {};

enum class SerializableBufferingStateType {};

// A serializable combo of the state, type, and reason.
template <SerializableBufferingStateType T>
struct SerializableBufferingState {};

// Used to indicate changes in buffering state;
BufferingStateCB;

std::string BufferingStateToString(
    BufferingState state,
    BufferingStateChangeReason reason = BUFFERING_CHANGE_REASON_UNKNOWN);

}  // namespace media

#endif  // MEDIA_BASE_BUFFERING_STATE_H_