MistServer
2.5.3-Pro-19-gf5e75b1 ( Generic_64)
|
Class for storage of track data. More...
#include <dtsc.h>
Public Member Functions | |
Track () | |
Constructs an empty track. More... | |
Track () | |
Track (JSON::Value &trackRef) | |
Constructs a track from a JSON::Value. More... | |
Track (JSON::Value &trackRef) | |
Track (Scan &trackRef) | |
Track (Scan &trackRef) | |
Constructs a track from a JSON::Value. More... | |
void | finalize () |
void | finalize () |
std::string | getIdentifier () |
std::string | getIdentifier () |
Returns a unique identifier for a track. More... | |
Key & | getKey (unsigned int keyNum) |
Returns a key given its number, or an empty key if the number is out of bounds. More... | |
Key & | getKey (unsigned int keyNum) |
int | getSendLen () |
int | getSendLen () |
Determines the "packed" size of a track. More... | |
std::string | getWritableIdentifier () |
Returns a writable identifier for a track, to prevent overwrites on readout. More... | |
std::string | getWritableIdentifier () |
operator bool () const | |
operator bool () const | |
void | reset () |
Resets a track, clears all meta values. More... | |
void | reset () |
void | send (Socket::Connection &conn) |
void | send (Socket::Connection &conn) |
Writes a track to a socket. More... | |
unsigned int | timeToFragnum (unsigned int timestamp) |
unsigned int | timeToFragnum (unsigned int timestamp) |
unsigned int | timeToKeynum (unsigned int timestamp) |
unsigned int | timeToKeynum (unsigned int timestamp) |
JSON::Value | toJSON (bool skipBinary=false) |
JSON::Value | toJSON (bool skipBinary=false) |
Converts a track to a JSON::Value. More... | |
void | toPrettyString (std::ostream &str, int indent=0, int verbosity=0) |
void | toPrettyString (std::ostream &str, int indent=0, int verbosity=0) |
Converts a track to a human readable string. More... | |
void | update (long long packTime, long long packOffset, long long packDataSize, long long packBytePos, bool isKeyframe, long long packSendSize, unsigned long segment_size=5000, const char *iVec=0) |
Updates a track and its metadata given new packet properties. More... | |
void | update (long long packTime, long long packOffset, long long packDataSize, long long packBytePos, bool isKeyframe, long long packSendSize, unsigned long segment_size=5000, const char *iVec=0) |
void | writeTo (char *&p) |
Writes a track to a pointer. More... | |
void | writeTo (char *&p) |
Data Fields | |
int | bps |
int | channels |
std::string | codec |
unsigned long long | firstms |
int | fpks |
std::deque< Fragment > | fragments |
int | height |
std::string | init |
std::deque< Ivec > | ivecs |
std::deque< Key > | keys |
std::deque< unsigned long > | keySizes |
unsigned long long | lastms |
int | missedFrags |
std::deque< Part > | parts |
int | rate |
int | size |
unsigned int | trackID |
std::string | type |
int | width |
Private Attributes | |
std::string | cachedIdent |
Class for storage of track data.
DTSC::Track::Track | ( | ) |
Constructs an empty track.
DTSC::Track::Track | ( | JSON::Value & | trackRef | ) |
Constructs a track from a JSON::Value.
DTSC::Track::Track | ( | Scan & | trackRef | ) |
Constructs a track from a JSON::Value.
DTSC::Track::Track | ( | ) |
DTSC::Track::Track | ( | JSON::Value & | trackRef | ) |
DTSC::Track::Track | ( | Scan & | trackRef | ) |
void DTSC::Track::finalize | ( | ) |
void DTSC::Track::finalize | ( | ) |
std::string DTSC::Track::getIdentifier | ( | ) |
Returns a unique identifier for a track.
std::string DTSC::Track::getIdentifier | ( | ) |
Key& DTSC::Track::getKey | ( | unsigned int | keyNum | ) |
Key & DTSC::Track::getKey | ( | unsigned int | keyNum | ) |
Returns a key given its number, or an empty key if the number is out of bounds.
int DTSC::Track::getSendLen | ( | ) |
int DTSC::Track::getSendLen | ( | ) |
Determines the "packed" size of a track.
std::string DTSC::Track::getWritableIdentifier | ( | ) |
Returns a writable identifier for a track, to prevent overwrites on readout.
std::string DTSC::Track::getWritableIdentifier | ( | ) |
|
inline |
|
inline |
void DTSC::Track::reset | ( | ) |
Resets a track, clears all meta values.
void DTSC::Track::reset | ( | ) |
void DTSC::Track::send | ( | Socket::Connection & | conn | ) |
void DTSC::Track::send | ( | Socket::Connection & | conn | ) |
Writes a track to a socket.
unsigned int DTSC::Track::timeToFragnum | ( | unsigned int | timestamp | ) |
unsigned int DTSC::Track::timeToFragnum | ( | unsigned int | timestamp | ) |
unsigned int DTSC::Track::timeToKeynum | ( | unsigned int | timestamp | ) |
unsigned int DTSC::Track::timeToKeynum | ( | unsigned int | timestamp | ) |
JSON::Value DTSC::Track::toJSON | ( | bool | skipBinary = false | ) |
JSON::Value DTSC::Track::toJSON | ( | bool | skipBinary = false | ) |
Converts a track to a JSON::Value.
void DTSC::Track::toPrettyString | ( | std::ostream & | str, |
int | indent = 0 , |
||
int | verbosity = 0 |
||
) |
void DTSC::Track::toPrettyString | ( | std::ostream & | str, |
int | indent = 0 , |
||
int | verbosity = 0 |
||
) |
Converts a track to a human readable string.
str | The stringstream to append to |
indent | the amount of indentation needed |
verbosity | How verbose the output needs to be |
void DTSC::Track::update | ( | long long | packTime, |
long long | packOffset, | ||
long long | packDataSize, | ||
long long | packBytePos, | ||
bool | isKeyframe, | ||
long long | packSendSize, | ||
unsigned long | segment_size = 5000 , |
||
const char * | iVec = 0 |
||
) |
Updates a track and its metadata given new packet properties.
Will also insert keyframes on non-video tracks, and creates fragments
void DTSC::Track::update | ( | long long | packTime, |
long long | packOffset, | ||
long long | packDataSize, | ||
long long | packBytePos, | ||
bool | isKeyframe, | ||
long long | packSendSize, | ||
unsigned long | segment_size = 5000 , |
||
const char * | iVec = 0 |
||
) |
void DTSC::Track::writeTo | ( | char *& | p | ) |
Writes a track to a pointer.
void DTSC::Track::writeTo | ( | char *& | p | ) |
int DTSC::Track::bps |
|
private |
int DTSC::Track::channels |
std::string DTSC::Track::codec |
unsigned long long DTSC::Track::firstms |
int DTSC::Track::fpks |
std::deque< Fragment > DTSC::Track::fragments |
int DTSC::Track::height |
std::string DTSC::Track::init |
std::deque< Ivec > DTSC::Track::ivecs |
std::deque< Key > DTSC::Track::keys |
std::deque< unsigned long > DTSC::Track::keySizes |
unsigned long long DTSC::Track::lastms |
int DTSC::Track::missedFrags |
std::deque< Part > DTSC::Track::parts |
int DTSC::Track::rate |
int DTSC::Track::size |
unsigned int DTSC::Track::trackID |
std::string DTSC::Track::type |
int DTSC::Track::width |