Added sourceURI to stream metadata structures

This commit is contained in:
Thulinma 2017-01-15 23:41:28 +01:00
parent 8866b299fb
commit 88749d2259
3 changed files with 21 additions and 4 deletions

View file

@ -338,6 +338,7 @@ namespace DTSC {
uint16_t version;
long long int moreheader;
long long int bufferWindow;
std::string sourceURI;
};
/// An iterator helper for easily iterating over the parts in a Fragment.

View file

@ -1311,6 +1311,7 @@ namespace DTSC {
merged = source.getFlag("merged");
bufferWindow = source.getInt("buffer_window");
moreheader = source.getInt("moreheader");
source.getString("source", sourceURI);
Scan tmpTracks = source.getScan().getMember("tracks");
unsigned int num = 0;
Scan tmpTrack;
@ -1330,6 +1331,7 @@ namespace DTSC {
Meta::Meta(JSON::Value & meta) {
vod = meta.isMember("vod") && meta["vod"];
live = meta.isMember("live") && meta["live"];
sourceURI = meta.isMember("source") ? meta["source"].asStringRef() : "";
version = meta.isMember("version") ? meta["version"].asInt() : 0;
merged = meta.isMember("merged") && meta["merged"];
bufferWindow = 0;
@ -1741,6 +1743,7 @@ namespace DTSC {
}
}
if (version){dataLen += 18;}
if (sourceURI.size()){dataLen += 13+sourceURI.size();}
return dataLen + 8; //add 8 bytes header
}
@ -1770,6 +1773,11 @@ namespace DTSC {
writePointer(p, "\000\007version\001", 10);
writePointer(p, convertLongLong(version), 8);
}
if (sourceURI.size()) {
writePointer(p, "\000\006source\002", 9);
writePointer(p, convertInt(sourceURI.size()), 4);
writePointer(p, sourceURI);
}
if (bufferWindow) {
writePointer(p, "\000\015buffer_window\001", 16);
writePointer(p, convertLongLong(bufferWindow), 8);
@ -1807,6 +1815,11 @@ namespace DTSC {
conn.SendNow("\000\007version\001", 10);
conn.SendNow(convertLongLong(version), 8);
}
if (sourceURI.size()) {
conn.SendNow("\000\006source\002", 9);
conn.SendNow(convertInt(sourceURI.size()), 4);
conn.SendNow(sourceURI);
}
if (bufferWindow) {
conn.SendNow("\000\015buffer_window\001", 16);
conn.SendNow(convertLongLong(bufferWindow), 8);
@ -1894,6 +1907,9 @@ namespace DTSC {
if (version) {
result["version"] = (long long)version;
}
if (sourceURI.size()){
result["source"] = sourceURI;
}
result["moreheader"] = moreheader;
return result;
}
@ -1925,6 +1941,9 @@ namespace DTSC {
if (bufferWindow) {
str << std::string(indent, ' ') << "Buffer Window: " << bufferWindow << std::endl;
}
if (sourceURI.size()){
str << std::string(indent, ' ') << "Source: " << sourceURI << std::endl;
}
str << std::string(indent, ' ') << "More Header: " << moreheader << std::endl;
}

View file

@ -157,10 +157,6 @@ namespace Mist {
return 0;
}
if (streamName != "") {
config->getOption("streamname") = streamName;
}
streamName = config->getString("streamname");
nProxy.streamName = streamName;
if (!setup()){
@ -173,6 +169,7 @@ namespace Mist {
std::cerr << "Reading header for " << config->getString("input") << " failed." << std::endl;
return 0;
}
myMeta.sourceURI = config->getString("input");
parseHeader();
MEDIUM_MSG("Header parsed, %lu tracks", myMeta.tracks.size());