input: change license to LGPL

cehoyos adds the step_property command in 7a71da01d, and it could be
argued that copyright of this still applies to the later add/cycle
commands (a668ae0ff9). While I'm not sure if this is really the case,
stay conservative for now and mark these commands as GPL-only. Mark the
command.c code too, although that is not being relicensed yet.

I'm leaving the MP_CMD_* enum items, as they are obviously different.

In commit 116ca0c768, "veal" (essentially an anonymous author) adds an
"osd_show_property_text" command (well, the commit message says "based
on" that person's code, so it's not clear how much is from him or from
albeu, who agreed to LGPL). This was later merged again with the
"osd_show_text" command, and then all original code was removed in
commit 58cc0f637f, so I claim that no copyright applies anymore. (Though
technically the input.conf addition still might be copyrighted, so I'm
just dropping it to get rid of the thought.)

"kiriuja" added 2f376d1b39 (sub_load etc.) and be54f4813 (switch_audio).
The latter is gone. I would argue that the former is fully rewritten
with commits b7052b431c and 0f155921b0. But like in the step_property
case, I will be overly conservative for now, and mark them as GPL-only,
as this is potentially shaky and should be thought through first. (Not
bothering with the command define/enum in the header, as it will be
unused in LGPL mode anyway.)

keycodes.c/h can be GPL, except for commit 2b1f95dcc2, which is a
patch by someone who wasn't asked yet. Before doing something radical, I
will wait for a reply.
This commit is contained in:
wm4 2017-06-19 13:02:35 +02:00
parent ab19b3c9d3
commit 2e84934be7
10 changed files with 59 additions and 46 deletions

View File

@ -154,13 +154,13 @@ x demux/demux.* complications (at least Denes' changes)
demux/packet.* LGPL demux/packet.* LGPL
demux/stheader.h LGPL demux/stheader.h LGPL
demux/timeline.* LGPL demux/timeline.* LGPL
x input/cmd_* unknown, probably easy except some commands input/cmd_* LGPL
input/event.* LGPL input/event.* LGPL
x input/input.* potentially hard input/input.* LGPL
input/ipc.c LGPL input/ipc.c LGPL
input/ipc-unix.c LGPL input/ipc-unix.c LGPL
input/ipc-win.c LGPL input/ipc-win.c LGPL
x input/keycodes.* potentially hard x input/keycodes.* (pending)
input/pipe-win32.c LGPL input/pipe-win32.c LGPL
libmpv/*.* LGPL libmpv/*.* LGPL
misc/*.* LGPL misc/*.* LGPL

View File

@ -82,7 +82,6 @@
#O no-osd cycle-values osd-level 3 1 # cycle through OSD mode #O no-osd cycle-values osd-level 3 1 # cycle through OSD mode
#o show-progress #o show-progress
#P show-progress #P show-progress
#I show-text "${filename}" # display filename in osd
#z add sub-delay -0.1 # subtract 100 ms delay from subs #z add sub-delay -0.1 # subtract 100 ms delay from subs
#x add sub-delay +0.1 # add #x add sub-delay +0.1 # add
#ctrl++ add audio-delay 0.100 # this changes audio/video sync #ctrl++ add audio-delay 0.100 # this changes audio/video sync

View File

@ -9,6 +9,10 @@
# #
# Older installations use ~/.mpv/input.conf instead. # Older installations use ~/.mpv/input.conf instead.
# changed in mpv 0.25.0
I show-text "${filename}" # display filename in osd
# changed in mpv 0.24.0 # changed in mpv 0.24.0
L cycle-values loop "inf" "no" L cycle-values loop "inf" "no"

View File

@ -1,22 +1,24 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <limits.h> #include <limits.h>
#include "config.h"
#include "common/common.h" #include "common/common.h"
#include "common/msg.h" #include "common/msg.h"
#include "options/m_option.h" #include "options/m_option.h"
@ -100,10 +102,12 @@ const struct mp_cmd_def mp_cmds[] = {
.allow_auto_repeat = true}, .allow_auto_repeat = true},
{ MP_CMD_EXPAND_TEXT, "expand-text", { ARG_STRING } }, { MP_CMD_EXPAND_TEXT, "expand-text", { ARG_STRING } },
{ MP_CMD_SHOW_PROGRESS, "show-progress", .allow_auto_repeat = true}, { MP_CMD_SHOW_PROGRESS, "show-progress", .allow_auto_repeat = true},
#if HAVE_GPL
{ MP_CMD_SUB_ADD, "sub-add", { ARG_STRING, { MP_CMD_SUB_ADD, "sub-add", { ARG_STRING,
OARG_CHOICE(0, ({"select", 0}, {"auto", 1}, {"cached", 2})), OARG_CHOICE(0, ({"select", 0}, {"auto", 1}, {"cached", 2})),
OARG_STRING(""), OARG_STRING("") } }, OARG_STRING(""), OARG_STRING("") } },
{ MP_CMD_SUB_REMOVE, "sub-remove", { OARG_INT(-1) } }, { MP_CMD_SUB_REMOVE, "sub-remove", { OARG_INT(-1) } },
#endif
{ MP_CMD_SUB_RELOAD, "sub-reload", { OARG_INT(-1) } }, { MP_CMD_SUB_RELOAD, "sub-reload", { OARG_INT(-1) } },
{ MP_CMD_TV_LAST_CHANNEL, "tv-last-channel", }, { MP_CMD_TV_LAST_CHANNEL, "tv-last-channel", },
@ -148,6 +152,7 @@ const struct mp_cmd_def mp_cmds[] = {
{ MP_CMD_RUN, "run", { ARG_STRING, ARG_STRING }, .vararg = true }, { MP_CMD_RUN, "run", { ARG_STRING, ARG_STRING }, .vararg = true },
{ MP_CMD_SET, "set", { ARG_STRING, ARG_STRING } }, { MP_CMD_SET, "set", { ARG_STRING, ARG_STRING } },
#if HAVE_GPL
{ MP_CMD_ADD, "add", { ARG_STRING, OARG_DOUBLE(1) }, { MP_CMD_ADD, "add", { ARG_STRING, OARG_DOUBLE(1) },
.allow_auto_repeat = true, .allow_auto_repeat = true,
.scalable = true, .scalable = true,
@ -159,6 +164,7 @@ const struct mp_cmd_def mp_cmds[] = {
.allow_auto_repeat = true, .allow_auto_repeat = true,
.scalable = true, .scalable = true,
}, },
#endif
{ MP_CMD_MULTIPLY, "multiply", { ARG_STRING, ARG_DOUBLE }, { MP_CMD_MULTIPLY, "multiply", { ARG_STRING, ARG_DOUBLE },
.allow_auto_repeat = true}, .allow_auto_repeat = true},

View File

@ -1,18 +1,18 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef MP_COMMAND_LIST_H #ifndef MP_COMMAND_LIST_H

View File

@ -1,18 +1,18 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <stddef.h> #include <stddef.h>

View File

@ -1,18 +1,18 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef MP_PARSE_COMMAND_H #ifndef MP_PARSE_COMMAND_H

View File

@ -1,18 +1,18 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "config.h" #include "config.h"

View File

@ -1,18 +1,18 @@
/* /*
* This file is part of mpv. * This file is part of mpv.
* *
* mpv is free software; you can redistribute it and/or modify * mpv is free software; you can redistribute it and/or
* it under the terms of the GNU General Public License as published by * modify it under the terms of the GNU Lesser General Public
* the Free Software Foundation; either version 2 of the License, or * License as published by the Free Software Foundation; either
* (at your option) any later version. * version 2.1 of the License, or (at your option) any later version.
* *
* mpv is distributed in the hope that it will be useful, * mpv is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU Lesser General Public
* with mpv. If not, see <http://www.gnu.org/licenses/>. * License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef MPLAYER_INPUT_H #ifndef MPLAYER_INPUT_H

View File

@ -4945,6 +4945,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
break; break;
} }
#if HAVE_GPL
case MP_CMD_ADD: case MP_CMD_ADD:
case MP_CMD_CYCLE: case MP_CMD_CYCLE:
{ {
@ -4981,6 +4982,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
} }
break; break;
} }
#endif
case MP_CMD_MULTIPLY: { case MP_CMD_MULTIPLY: {
char *property = cmd->args[0].v.s; char *property = cmd->args[0].v.s;
@ -5286,6 +5288,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
break; break;
} }
#if HAVE_GPL
case MP_CMD_SUB_ADD: case MP_CMD_SUB_ADD:
case MP_CMD_AUDIO_ADD: { case MP_CMD_AUDIO_ADD: {
if (!mpctx->playing) if (!mpctx->playing)
@ -5337,6 +5340,7 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
print_track_list(mpctx, "Track removed:"); print_track_list(mpctx, "Track removed:");
break; break;
} }
#endif
case MP_CMD_SUB_RELOAD: case MP_CMD_SUB_RELOAD:
case MP_CMD_AUDIO_RELOAD: { case MP_CMD_AUDIO_RELOAD: {