#ifndef TGCALLS_STREAMING_PART_H #define TGCALLS_STREAMING_PART_H #include "absl/types/optional.h" #include #include namespace tgcalls { class StreamingPartState; class StreamingPart { public: struct StreamingPartChannel { uint32_t ssrc = 0; std::vector pcmData; }; explicit StreamingPart(std::vector &&data); ~StreamingPart(); StreamingPart(const StreamingPart&) = delete; StreamingPart(StreamingPart&& other) { _state = other._state; other._state = nullptr; } StreamingPart& operator=(const StreamingPart&) = delete; StreamingPart& operator=(StreamingPart&&) = delete; int getRemainingMilliseconds() const; std::vector get10msPerChannel(); private: StreamingPartState *_state = nullptr; }; } #endif