diff options
Diffstat (limited to 'player/main.c')
-rw-r--r-- | player/main.c | 13 |
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) |