Skip to content
Snippets Groups Projects
Commit af1693bb authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Detect and load all sources in ftl file

parent 41ad4de6
No related branches found
No related tags found
1 merge request!145Implements #217 cmd arg play ftl files
Pipeline #15934 passed
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <ftl/rgbd/group.hpp> #include <ftl/rgbd/group.hpp>
#include <ftl/threads.hpp> #include <ftl/threads.hpp>
#include <ftl/codecs/writer.hpp> #include <ftl/codecs/writer.hpp>
#include <ftl/codecs/reader.hpp>
#include "ilw/ilw.hpp" #include "ilw/ilw.hpp"
#include <ftl/render/splat_render.hpp> #include <ftl/render/splat_render.hpp>
...@@ -110,9 +111,27 @@ static void run(ftl::Configurable *root) { ...@@ -110,9 +111,27 @@ static void run(ftl::Configurable *root) {
auto eix = path.find_last_of('.'); auto eix = path.find_last_of('.');
auto ext = path.substr(eix+1); auto ext = path.substr(eix+1);
// Command line path is ftl file
if (ext == "ftl") { if (ext == "ftl") {
LOG(INFO) << "PATH TO CHECK: " << path; LOG(INFO) << "PATH TO CHECK: " << path;
root->getConfig()["sources"].push_back(nlohmann::json{{"uri",std::string("file://") + path + std::string("#0")}});
// Create temp reader to count number of sources found in file
std::ifstream file;
file.open(path);
ftl::codecs::Reader reader(file);
reader.begin();
int max_stream = 0;
reader.read(reader.getStartTime()+100, [&max_stream](const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
max_stream = max(max_stream, spkt.streamID);
});
reader.end();
LOG(INFO) << "Found " << (max_stream+1) << " sources in " << path;
for (int i=0; i<max_stream; ++i) {
root->getConfig()["sources"].push_back(nlohmann::json{{"uri",std::string("file://") + path + std::string("#") + std::to_string(i)}});
}
} }
} }
LOG(INFO) << (*root->get<nlohmann::json>("sources")).dump(); LOG(INFO) << (*root->get<nlohmann::json>("sources")).dump();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment