Added sourceURI to stream metadata structures
This commit is contained in:
parent
8866b299fb
commit
88749d2259
3 changed files with 21 additions and 4 deletions
|
@ -338,6 +338,7 @@ namespace DTSC {
|
||||||
uint16_t version;
|
uint16_t version;
|
||||||
long long int moreheader;
|
long long int moreheader;
|
||||||
long long int bufferWindow;
|
long long int bufferWindow;
|
||||||
|
std::string sourceURI;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// An iterator helper for easily iterating over the parts in a Fragment.
|
/// An iterator helper for easily iterating over the parts in a Fragment.
|
||||||
|
|
|
@ -1311,6 +1311,7 @@ namespace DTSC {
|
||||||
merged = source.getFlag("merged");
|
merged = source.getFlag("merged");
|
||||||
bufferWindow = source.getInt("buffer_window");
|
bufferWindow = source.getInt("buffer_window");
|
||||||
moreheader = source.getInt("moreheader");
|
moreheader = source.getInt("moreheader");
|
||||||
|
source.getString("source", sourceURI);
|
||||||
Scan tmpTracks = source.getScan().getMember("tracks");
|
Scan tmpTracks = source.getScan().getMember("tracks");
|
||||||
unsigned int num = 0;
|
unsigned int num = 0;
|
||||||
Scan tmpTrack;
|
Scan tmpTrack;
|
||||||
|
@ -1330,6 +1331,7 @@ namespace DTSC {
|
||||||
Meta::Meta(JSON::Value & meta) {
|
Meta::Meta(JSON::Value & meta) {
|
||||||
vod = meta.isMember("vod") && meta["vod"];
|
vod = meta.isMember("vod") && meta["vod"];
|
||||||
live = meta.isMember("live") && meta["live"];
|
live = meta.isMember("live") && meta["live"];
|
||||||
|
sourceURI = meta.isMember("source") ? meta["source"].asStringRef() : "";
|
||||||
version = meta.isMember("version") ? meta["version"].asInt() : 0;
|
version = meta.isMember("version") ? meta["version"].asInt() : 0;
|
||||||
merged = meta.isMember("merged") && meta["merged"];
|
merged = meta.isMember("merged") && meta["merged"];
|
||||||
bufferWindow = 0;
|
bufferWindow = 0;
|
||||||
|
@ -1741,6 +1743,7 @@ namespace DTSC {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (version){dataLen += 18;}
|
if (version){dataLen += 18;}
|
||||||
|
if (sourceURI.size()){dataLen += 13+sourceURI.size();}
|
||||||
return dataLen + 8; //add 8 bytes header
|
return dataLen + 8; //add 8 bytes header
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1770,6 +1773,11 @@ namespace DTSC {
|
||||||
writePointer(p, "\000\007version\001", 10);
|
writePointer(p, "\000\007version\001", 10);
|
||||||
writePointer(p, convertLongLong(version), 8);
|
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) {
|
if (bufferWindow) {
|
||||||
writePointer(p, "\000\015buffer_window\001", 16);
|
writePointer(p, "\000\015buffer_window\001", 16);
|
||||||
writePointer(p, convertLongLong(bufferWindow), 8);
|
writePointer(p, convertLongLong(bufferWindow), 8);
|
||||||
|
@ -1807,6 +1815,11 @@ namespace DTSC {
|
||||||
conn.SendNow("\000\007version\001", 10);
|
conn.SendNow("\000\007version\001", 10);
|
||||||
conn.SendNow(convertLongLong(version), 8);
|
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) {
|
if (bufferWindow) {
|
||||||
conn.SendNow("\000\015buffer_window\001", 16);
|
conn.SendNow("\000\015buffer_window\001", 16);
|
||||||
conn.SendNow(convertLongLong(bufferWindow), 8);
|
conn.SendNow(convertLongLong(bufferWindow), 8);
|
||||||
|
@ -1894,6 +1907,9 @@ namespace DTSC {
|
||||||
if (version) {
|
if (version) {
|
||||||
result["version"] = (long long)version;
|
result["version"] = (long long)version;
|
||||||
}
|
}
|
||||||
|
if (sourceURI.size()){
|
||||||
|
result["source"] = sourceURI;
|
||||||
|
}
|
||||||
result["moreheader"] = moreheader;
|
result["moreheader"] = moreheader;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -1925,6 +1941,9 @@ namespace DTSC {
|
||||||
if (bufferWindow) {
|
if (bufferWindow) {
|
||||||
str << std::string(indent, ' ') << "Buffer Window: " << bufferWindow << std::endl;
|
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;
|
str << std::string(indent, ' ') << "More Header: " << moreheader << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -157,10 +157,6 @@ namespace Mist {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (streamName != "") {
|
|
||||||
config->getOption("streamname") = streamName;
|
|
||||||
}
|
|
||||||
streamName = config->getString("streamname");
|
|
||||||
nProxy.streamName = streamName;
|
nProxy.streamName = streamName;
|
||||||
|
|
||||||
if (!setup()){
|
if (!setup()){
|
||||||
|
@ -173,6 +169,7 @@ namespace Mist {
|
||||||
std::cerr << "Reading header for " << config->getString("input") << " failed." << std::endl;
|
std::cerr << "Reading header for " << config->getString("input") << " failed." << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
myMeta.sourceURI = config->getString("input");
|
||||||
parseHeader();
|
parseHeader();
|
||||||
MEDIUM_MSG("Header parsed, %lu tracks", myMeta.tracks.size());
|
MEDIUM_MSG("Header parsed, %lu tracks", myMeta.tracks.size());
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue