blob: 1e7591741f5a55aff92ff2963bba1e45fb7c9410 [file] [log] [blame]
// 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 SERVICES_MEDIA_FRAMEWORK_PARTS_NULL_SINK_H_
#define SERVICES_MEDIA_FRAMEWORK_PARTS_NULL_SINK_H_
#include "services/media/framework/models/active_sink.h"
namespace mojo {
namespace media {
// Sink that throws packets away.
class NullSink : public ActiveSink {
public:
static std::shared_ptr<NullSink> Create() {
return std::shared_ptr<NullSink>(new NullSink());
}
~NullSink() override;
// ActiveSink implementation.
PayloadAllocator* allocator() override;
void SetDemandCallback(const DemandCallback& demand_callback) override;
void Prime() override;
Demand SupplyPacket(PacketPtr packet) override;
private:
NullSink();
DemandCallback demand_callback_;
};
} // namespace media
} // namespace mojo
#endif // SERVICES_MEDIA_FRAMEWORK_PARTS_NULL_SINK_H_