summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-11-27 18:57:18 +0100
committerAlessandro Ghedini <alessandro@ghedini.me>2014-12-01 21:05:49 +0100
commit3d6d7012ff0a815333ab1db2c8a791ac0180fad2 (patch)
tree522ebc0c721f01fe66fc69f062a7af34f2efb720
parent3051ff9f251bef4703b02ce299982b1c62f09894 (diff)
downloadmpv-3d6d7012ff0a815333ab1db2c8a791ac0180fad2.tar.bz2
mpv-3d6d7012ff0a815333ab1db2c8a791ac0180fad2.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.
-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);
}