EBML library, input and output, supports MKV and WebM.
This commit is contained in:
parent
105b1677d1
commit
a762932c45
11 changed files with 2141 additions and 0 deletions
33
lib/ebml_socketglue.h
Normal file
33
lib/ebml_socketglue.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
#include "ebml.h"
|
||||
#include "socket.h"
|
||||
#include "bitfields.h"
|
||||
#include "dtsc.h"
|
||||
|
||||
namespace EBML{
|
||||
static 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);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue