Files

31 lines
858 B
C++

#pragma once
#include "cvmmap_streamer/config/runtime_config.hpp"
#include "cvmmap_streamer/core/status.hpp"
#include "cvmmap_streamer/encode/encoded_access_unit.hpp"
#include <string_view>
#include <proxy/proxy.h>
namespace cvmmap_streamer::protocol {
PRO_DEF_MEM_DISPATCH(MemBackendName, backend_name);
PRO_DEF_MEM_DISPATCH(MemPublishAccessUnit, publish_access_unit);
PRO_DEF_MEM_DISPATCH(MemLogMetrics, log_metrics);
struct RtmpOutputFacade : pro::facade_builder
::add_convention<MemBackendName, std::string_view() const>
::add_convention<MemPublishAccessUnit, Status(const encode::EncodedAccessUnit &)>
::add_convention<MemLogMetrics, void() const>
::build {};
using RtmpOutput = pro::proxy<RtmpOutputFacade>;
[[nodiscard]]
Result<RtmpOutput> make_rtmp_output(
const RuntimeConfig &config,
const encode::EncodedStreamInfo &stream_info);
}