summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-11-27 18:57:18 +0100
committerwm4 <wm4@nowhere>2014-11-27 18:57:18 +0100
commit78f0cb92815812f058676e1d3b0fc723c11f1d7f (patch)
treeec626970837b41a13d37948f38fbe69f2f60cfa1 /player/command.c
parenta3026c96408ec640e18dfafe06710919ceb89494 (diff)
downloadmpv-78f0cb92815812f058676e1d3b0fc723c11f1d7f.tar.bz2
mpv-78f0cb92815812f058676e1d3b0fc723c11f1d7f.tar.xz
command: sub_add with "auto" should not always select a subtitle track
Running "sub_add file.srt auto" during hook execution automatically selected the first added track. This happened because all tracks added with sub_add are marked as "external", and external subtitles are always selected by default. Fix this by negating the "external" flag when autoselecting subtitles during loading. The no_default flag exists for this purpose; it was probably added for libquvi originally, where we had the same issue.
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/player/command.c b/player/command.c
index ec4f2030bb..2da13731e6 100644
--- a/player/command.c
+++ b/player/command.c
@@ -4350,7 +4350,9 @@ int run_command(MPContext *mpctx, mp_cmd_t *cmd)
struct track *sub = mp_add_subtitles(mpctx, cmd->args[0].v.s);
if (!sub)
return -1;
- if (cmd->args[1].v.i != 1) {
+ if (cmd->args[1].v.i == 1) {
+ sub->no_default = true;
+ } else {
mp_switch_track(mpctx, sub->type, sub);
mp_mark_user_track_selection(mpctx, 0, sub->type);
}