1#ifndef _PRIVMXLIB_ENDPOINT_STREAM_ONTRACKINTERFACE_HPP
2#define _PRIVMXLIB_ENDPOINT_STREAM_ONTRACKINTERFACE_HPP
7#include <privmx/endpoint/stream/Types.hpp>
90 Data(DataType _type,
const std::vector<std::string>& _streamIds,
const std::string& _track)
129 virtual int ConvertToRGBA(uint8_t* dst_argb,
int dst_stride_argb,
int dest_width,
int dest_height) = 0;
140 const std::vector<std::string>& _streamIds,
141 const std::string& _track,
144 std::shared_ptr<Frame> _frameData
146 :
Data(DataType::VIDEO, _streamIds, _track),
w(_w),
h(_h),
frameData(_frameData) {}
172 const std::vector<std::string>& _streamIds,
173 const std::string& _track,
174 const void* _audio_data,
175 int _bits_per_sample,
177 size_t _number_of_channels,
178 size_t _number_of_frames
217 const std::vector<std::string>& _streamIds,
218 const std::string& _track,
220 const uint64_t& _seq,
222 const uint64_t& _statusCode
274 virtual void OnData(std::shared_ptr<Data> data) = 0;
Definition OnTrackInterface.hpp:117
virtual int ConvertToRGBA(uint8_t *dst_argb, int dst_stride_argb, int dest_width, int dest_height)=0
Definition OnTrackInterface.hpp:255
virtual ~OnTrackInterface()=default
virtual void OnRemoteTrack(Track tack, TrackAction action)=0
virtual void OnData(std::shared_ptr< Data > data)=0
size_t number_of_channels
Definition OnTrackInterface.hpp:201
int bits_per_sample
Definition OnTrackInterface.hpp:191
size_t number_of_frames
Definition OnTrackInterface.hpp:206
const void * audio_data
Definition OnTrackInterface.hpp:186
AudioData(const std::vector< std::string > &_streamIds, const std::string &_track, const void *_audio_data, int _bits_per_sample, int _sample_rate, size_t _number_of_channels, size_t _number_of_frames)
Definition OnTrackInterface.hpp:171
int sample_rate
Definition OnTrackInterface.hpp:196
const std::string track
Definition OnTrackInterface.hpp:111
const std::vector< std::string > streamIds
Definition OnTrackInterface.hpp:106
Data(DataType _type, const std::vector< std::string > &_streamIds, const std::string &_track)
Definition OnTrackInterface.hpp:90
DataType type
Definition OnTrackInterface.hpp:101
core::Buffer data
Definition OnTrackInterface.hpp:229
PlainData(const std::vector< std::string > &_streamIds, const std::string &_track, const core::Buffer &_data, const uint64_t &_seq, bool _binary, const uint64_t &_statusCode)
Definition OnTrackInterface.hpp:216
bool binary
Definition OnTrackInterface.hpp:239
uint64_t seq
Definition OnTrackInterface.hpp:234
uint64_t statusCode
Definition OnTrackInterface.hpp:245
Definition OnTrackInterface.hpp:53
std::vector< std::string > streamIds
Definition OnTrackInterface.hpp:62
std::function< void(bool)> updateMute
Definition OnTrackInterface.hpp:78
DataType kind
Definition OnTrackInterface.hpp:57
std::string trackId
Definition OnTrackInterface.hpp:67
bool muted
Definition OnTrackInterface.hpp:72
const int64_t w
Definition OnTrackInterface.hpp:151
const int64_t h
Definition OnTrackInterface.hpp:156
VideoData(const std::vector< std::string > &_streamIds, const std::string &_track, const int64_t _w, const int64_t _h, std::shared_ptr< Frame > _frameData)
Definition OnTrackInterface.hpp:139
std::shared_ptr< Frame > frameData
Definition OnTrackInterface.hpp:161