summaryrefslogtreecommitdiffhomepage
path: root/downtube.cpp
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2020-05-31 18:36:59 +0200
committerRoland Reichwein <mail@reichwein.it>2020-05-31 18:36:59 +0200
commit8f4fb65730eba551f3b03d671111d8f458e3cfbc (patch)
tree7c877c7563050617638faa51000e02dfd90979fa /downtube.cpp
parent3bfd422f6f92fed162e14d29fd5cd6142b2b87a5 (diff)
Activate video option
Diffstat (limited to 'downtube.cpp')
-rw-r--r--downtube.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/downtube.cpp b/downtube.cpp
index b3ed581..6e45764 100644
--- a/downtube.cpp
+++ b/downtube.cpp
@@ -147,7 +147,7 @@ int main(void)
FCGX_PutS("Content-Type: application/octet-stream\r\n", request.out);
FCGX_FPrintF(request.out, "Content-Length: %d\r\n\r\n", filedata.size());
FCGX_PutStr(filedata.c_str(), filedata.size(), request.out);
- } else if (false && format == "mp4") { // disabled for now
+ } else if (format == "mp4") {
//std::string cmd{"youtube-dl --no-warnings --no-call-home --no-progress --recode-video mp4 -o video.mp4 --restrict-filenames "s + url};
// Recoding to MP4 is too slow currently. So keep original format for now
std::string cmd{"youtube-dl --no-warnings --no-call-home --no-progress -o video.mp4 --restrict-filenames "s + url};
@@ -158,7 +158,7 @@ int main(void)
fs::directory_iterator di{fs::current_path()};
fs::path filename;
for (const auto& i: di) {
- if (i.path().stem().string() == "video"s) {
+ if (boost::algorithm::starts_with(i.path().filename().string(), "video."s)) {
filename = i.path().filename().string();
break;
}
@@ -170,6 +170,9 @@ int main(void)
std::string filedata {File::getFile(filename)}; // may throw
+ if (filedata.size() > 300000000)
+ throw std::runtime_error("File too big");
+
FCGX_PutS("Content-Type: application/octet-stream\r\n", request.out);
FCGX_FPrintF(request.out, "Content-Length: %d\r\n\r\n", filedata.size());
FCGX_PutStr(filedata.c_str(), filedata.size(), request.out);