mirror of
https://github.com/mpv-player/mpv
synced 2025-01-11 09:29:29 +00:00
player: minor changes in init code
Move the MPV_LEAK_REPORT env query to mp_create(), where it will also be used by the client API (it might be helpful, so why not). The same applies to MPV_VERBOSE. The prepare_playlist() call doesn't need to be in mp_initialize() and can just be in mp_play_files() to reduce the size of mp_initialize(). Also, remove wakeup_playloop(), which is 100% redundant with mp_wakeup_core_cb().
This commit is contained in:
parent
ce65ea3345
commit
44a7cb7f0e
@ -486,7 +486,6 @@ int mp_initialize(struct MPContext *mpctx, char **argv);
|
||||
struct MPContext *mp_create(void);
|
||||
void mp_destroy(struct MPContext *mpctx);
|
||||
void mp_print_version(struct mp_log *log, int always);
|
||||
void wakeup_playloop(void *ctx);
|
||||
void mp_update_logging(struct MPContext *mpctx);
|
||||
|
||||
// misc.c
|
||||
|
@ -1296,6 +1296,8 @@ struct playlist_entry *mp_next_file(struct MPContext *mpctx, int direction,
|
||||
// Return if all done.
|
||||
void mp_play_files(struct MPContext *mpctx)
|
||||
{
|
||||
prepare_playlist(mpctx, mpctx->playlist);
|
||||
|
||||
for (;;) {
|
||||
idle_loop(mpctx);
|
||||
if (mpctx->stop_play == PT_QUIT)
|
||||
|
@ -314,14 +314,12 @@ static int cfg_include(void *ctx, char *filename, int flags)
|
||||
return r;
|
||||
}
|
||||
|
||||
void wakeup_playloop(void *ctx)
|
||||
{
|
||||
struct MPContext *mpctx = ctx;
|
||||
mp_wakeup_core(mpctx);
|
||||
}
|
||||
|
||||
struct MPContext *mp_create(void)
|
||||
{
|
||||
char *enable_talloc = getenv("MPV_LEAK_REPORT");
|
||||
if (enable_talloc && strcmp(enable_talloc, "1") == 0)
|
||||
talloc_enable_leak_report();
|
||||
|
||||
mp_time_init();
|
||||
|
||||
struct MPContext *mpctx = talloc(NULL, MPContext);
|
||||
@ -368,6 +366,10 @@ struct MPContext *mp_create(void)
|
||||
|
||||
mp_input_set_cancel(mpctx->input, mpctx->playback_abort);
|
||||
|
||||
char *verbose_env = getenv("MPV_VERBOSE");
|
||||
if (verbose_env)
|
||||
mpctx->opts->verbose = atoi(verbose_env);
|
||||
|
||||
return mpctx;
|
||||
}
|
||||
|
||||
@ -473,8 +475,6 @@ int mp_initialize(struct MPContext *mpctx, char **options)
|
||||
SetPriorityClass(GetCurrentProcess(), opts->w32_priority);
|
||||
#endif
|
||||
|
||||
prepare_playlist(mpctx, mpctx->playlist);
|
||||
|
||||
MP_STATS(mpctx, "end init");
|
||||
|
||||
return 0;
|
||||
@ -482,16 +482,7 @@ int mp_initialize(struct MPContext *mpctx, char **options)
|
||||
|
||||
int mpv_main(int argc, char *argv[])
|
||||
{
|
||||
char *enable_talloc = getenv("MPV_LEAK_REPORT");
|
||||
if (enable_talloc && strcmp(enable_talloc, "1") == 0)
|
||||
talloc_enable_leak_report();
|
||||
|
||||
struct MPContext *mpctx = mp_create();
|
||||
struct MPOpts *opts = mpctx->opts;
|
||||
|
||||
char *verbose_env = getenv("MPV_VERBOSE");
|
||||
if (verbose_env)
|
||||
opts->verbose = atoi(verbose_env);
|
||||
|
||||
char **options = argv && argv[0] ? argv + 1 : NULL; // skips program name
|
||||
int r = mp_initialize(mpctx, options);
|
||||
|
@ -285,7 +285,7 @@ static void recreate_video_filters(struct MPContext *mpctx)
|
||||
vf_destroy(vo_c->vf);
|
||||
vo_c->vf = vf_new(mpctx->global);
|
||||
vo_c->vf->hwdec_devs = vo_c->hwdec_devs;
|
||||
vo_c->vf->wakeup_callback = wakeup_playloop;
|
||||
vo_c->vf->wakeup_callback = mp_wakeup_core_cb;
|
||||
vo_c->vf->wakeup_callback_ctx = mpctx;
|
||||
vo_c->vf->container_fps = vo_c->container_fps;
|
||||
vo_control(vo_c->vo, VOCTRL_GET_DISPLAY_FPS, &vo_c->vf->display_fps);
|
||||
|
Loading…
Reference in New Issue
Block a user