aboutsummaryrefslogtreecommitdiff
path: root/src/VideoPlayer.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-03-27 15:54:37 +0100
committerdec05eba <dec05eba@protonmail.com>2021-03-27 15:54:37 +0100
commit3eca2373621b4fbd3189df75ada884861536113a (patch)
treef4aafe02525ef5cf2a6f4bd1e250a60e6ff0453d /src/VideoPlayer.cpp
parent54607d704bcfc757fa2cdbe3f0154bc39e95194c (diff)
bla
Diffstat (limited to 'src/VideoPlayer.cpp')
-rw-r--r--src/VideoPlayer.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/VideoPlayer.cpp b/src/VideoPlayer.cpp
index 3b93c44..679f5bf 100644
--- a/src/VideoPlayer.cpp
+++ b/src/VideoPlayer.cpp
@@ -64,7 +64,7 @@ namespace QuickMedia {
XCloseDisplay(display);
}
- VideoPlayer::Error VideoPlayer::launch_video_process(const char *path, sf::WindowHandle _parent_window, const std::string&) {
+ VideoPlayer::Error VideoPlayer::launch_video_process(const char *path, sf::WindowHandle _parent_window, const std::string&, const std::string &title) {
parent_window = _parent_window;
if(!tmpnam(ipc_server_path)) {
@@ -97,6 +97,10 @@ namespace QuickMedia {
else
ytdl_format = "--ytdl-format=bestvideo[height<=?" + std::to_string(monitor_height) + "]+bestaudio/best";
+ std::string script_opts;
+ if(!title.empty())
+ script_opts = "--script-opts='osc-title=" + title + "'";
+
// TODO: Resume playback if the last video played matches the first video played next time QuickMedia is launched
args.insert(args.end(), {
"mpv",
@@ -122,6 +126,9 @@ namespace QuickMedia {
if(!resume_playback)
args.push_back("--no-resume-playback");
+ if(!script_opts.empty())
+ args.push_back(script_opts.c_str());
+
if(!use_system_mpv_config) {
args.insert(args.end(), {
"--no-config", /*"--demuxer-max-bytes=40M", "--demuxer-max-back-bytes=20M",*/
@@ -168,12 +175,12 @@ namespace QuickMedia {
return Error::OK;
}
- VideoPlayer::Error VideoPlayer::load_video(const char *path, sf::WindowHandle _parent_window, const std::string &plugin_name) {
+ VideoPlayer::Error VideoPlayer::load_video(const char *path, sf::WindowHandle _parent_window, const std::string &plugin_name, const std::string &title) {
// This check is to make sure we dont change window that the video belongs to. This is not a usecase we will have so
// no need to support it for now at least.
assert(parent_window == 0 || parent_window == _parent_window);
if(video_process_id == -1)
- return launch_video_process(path, _parent_window, plugin_name);
+ return launch_video_process(path, _parent_window, plugin_name, title);
Json::Value command_data(Json::arrayValue);
command_data.append("loadfile");