32 lines
1.7 KiB
C++
32 lines
1.7 KiB
C++
#include "bitfields.h"
|
|
#include "dtsc.h"
|
|
#include "ebml.h"
|
|
#include "socket.h"
|
|
|
|
namespace EBML{
|
|
void sendUniInt(Socket::Connection &C, const uint64_t val);
|
|
void sendElemHead(Socket::Connection &C, uint32_t ID, const uint64_t size);
|
|
void sendElemUInt(Socket::Connection &C, uint32_t ID, const uint64_t val);
|
|
void sendElemID(Socket::Connection &C, uint32_t ID, const uint64_t val);
|
|
void sendElemDbl(Socket::Connection &C, uint32_t ID, const double val);
|
|
void sendElemStr(Socket::Connection &C, uint32_t ID, const std::string &val);
|
|
void sendElemEBML(Socket::Connection &C, const std::string &doctype);
|
|
void sendElemInfo(Socket::Connection &C, const std::string &appName, double duration);
|
|
uint32_t sizeElemEBML(const std::string &doctype);
|
|
uint32_t sizeElemInfo(const std::string &appName, double duration);
|
|
|
|
void sendElemSeek(Socket::Connection &C, uint32_t ID, uint64_t bytePos);
|
|
uint32_t sizeElemSeek(uint32_t ID, uint64_t bytePos);
|
|
void sendElemCuePoint(Socket::Connection &C, uint64_t time, uint64_t track, uint64_t clusterPos, uint64_t relaPos);
|
|
uint32_t sizeElemCuePoint(uint64_t time, uint64_t track, uint64_t clusterPos, uint64_t relaPos);
|
|
|
|
uint8_t sizeUInt(const uint64_t val);
|
|
uint32_t sizeElemHead(uint32_t ID, const uint64_t size);
|
|
uint32_t sizeElemUInt(uint32_t ID, const uint64_t val);
|
|
uint32_t sizeElemID(uint32_t ID, const uint64_t val);
|
|
uint32_t sizeElemDbl(uint32_t ID, const double val);
|
|
uint32_t sizeElemStr(uint32_t ID, const std::string &val);
|
|
|
|
void sendSimpleBlock(Socket::Connection &C, DTSC::Packet &pkt, uint64_t clusterTime, bool forceKeyframe = false);
|
|
uint32_t sizeSimpleBlock(uint64_t trackId, uint32_t dataSize);
|
|
}// namespace EBML
|