// 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 MOJO_MEDIA_MODELS_ACTIVE_SINK_H_
#define MOJO_MEDIA_MODELS_ACTIVE_SINK_H_

#include "services/media/framework/models/demand.h"
#include "services/media/framework/models/part.h"
#include "services/media/framework/packet.h"
#include "services/media/framework/payload_allocator.h"

namespace mojo {
namespace media {

// Sink that consumes packets asynchronously.
class ActiveSink : public Part {
 public:
  using DemandCallback = std::function<void(Demand demand)>;

  ~ActiveSink() override {}

  // An allocator that must be used for supplied packets or nullptr if there's
  // no such requirement.
  virtual PayloadAllocator* allocator() = 0;

  // Sets the callback that signals demand asynchronously.
  virtual void SetDemandCallback(const DemandCallback& demand_callback) = 0;

  // Supplies a packet to the sink, returning the new demand for the input.
  virtual Demand SupplyPacket(PacketPtr packet) = 0;
};

}  // namespace media
}  // namespace mojo

#endif  // MOJO_MEDIA_MODELS_ACTIVE_SINK_H_
