summaryrefslogtreecommitdiffstats
path: root/player/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/main.c')
-rw-r--r--player/main.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/player/main.c b/player/main.c
index 8ebfc357a2..87ec1ab70b 100644
--- a/player/main.c
+++ b/player/main.c
@@ -136,7 +136,7 @@ void mp_print_version(struct mp_log *log, int always)
{
int v = always ? MSGL_INFO : MSGL_V;
mp_msg(log, v,
- "%s (C) 2000-2016 mpv/MPlayer/mplayer2 projects\n built on %s\n",
+ "%s (C) 2000-2017 mpv/MPlayer/mplayer2 projects\n built on %s\n",
mpv_version, mpv_builddate);
print_libav_versions(log, v);
mp_msg(log, v, "\n");
@@ -199,6 +199,7 @@ void mp_destroy(struct MPContext *mpctx)
pthread_detach(pthread_self());
mp_msg_uninit(mpctx->global);
+ pthread_mutex_destroy(&mpctx->lock);
talloc_free(mpctx);
}
@@ -311,6 +312,12 @@ static int cfg_include(void *ctx, char *filename, int flags)
return r;
}
+static void abort_playback_cb(void *ctx)
+{
+ struct MPContext *mpctx = ctx;
+ mp_abort_playback_async(mpctx);
+}
+
struct MPContext *mp_create(void)
{
char *enable_talloc = getenv("MPV_LEAK_REPORT");
@@ -329,6 +336,8 @@ struct MPContext *mp_create(void)
.playback_abort = mp_cancel_new(mpctx),
};
+ pthread_mutex_init(&mpctx->lock, NULL);
+
mpctx->global = talloc_zero(mpctx, struct mpv_global);
// Nothing must call mp_msg*() and related before this
@@ -361,7 +370,7 @@ struct MPContext *mp_create(void)
cocoa_set_input_context(mpctx->input);
#endif
- mp_input_set_cancel(mpctx->input, mpctx->playback_abort);
+ mp_input_set_cancel(mpctx->input, abort_playback_cb, mpctx);
char *verbose_env = getenv("MPV_VERBOSE");
if (verbose_env)