summaryrefslogtreecommitdiffstats
path: root/player/loadfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/loadfile.c')
-rw-r--r--player/loadfile.c76
1 files changed, 35 insertions, 41 deletions
diff --git a/player/loadfile.c b/player/loadfile.c
index d9518c1918..46238c2d2d 100644
--- a/player/loadfile.c
+++ b/player/loadfile.c
@@ -220,30 +220,30 @@ static void print_stream(struct MPContext *mpctx, struct track *t)
if (!iid)
return;
int id = t->user_tid;
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_%s_ID=%d\n", iid, id);
+ MP_SMODE(mpctx, "ID_%s_ID=%d\n", iid, id);
if (t->title)
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_%s_%d_NAME=%s\n", iid, id, t->title);
+ MP_SMODE(mpctx, "ID_%s_%d_NAME=%s\n", iid, id, t->title);
if (t->lang)
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_%s_%d_LANG=%s\n", iid, id, t->lang);
+ MP_SMODE(mpctx, "ID_%s_%d_LANG=%s\n", iid, id, t->lang);
}
static void print_file_properties(struct MPContext *mpctx)
{
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_FILENAME=%s\n", mpctx->filename);
- mp_msg(MSGT_IDENTIFY, MSGL_INFO,
+ MP_SMODE(mpctx, "ID_FILENAME=%s\n", mpctx->filename);
+ MP_SMODE(mpctx,
"ID_LENGTH=%.2f\n", get_time_length(mpctx));
int chapter_count = get_chapter_count(mpctx);
if (chapter_count >= 0) {
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CHAPTERS=%d\n", chapter_count);
+ MP_SMODE(mpctx, "ID_CHAPTERS=%d\n", chapter_count);
for (int i = 0; i < chapter_count; i++) {
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CHAPTER_ID=%d\n", i);
+ MP_SMODE(mpctx, "ID_CHAPTER_ID=%d\n", i);
// print in milliseconds
double time = chapter_start_time(mpctx, i) * 1000.0;
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CHAPTER_%d_START=%"PRId64"\n",
+ MP_SMODE(mpctx, "ID_CHAPTER_%d_START=%"PRId64"\n",
i, (int64_t)(time < 0 ? -1 : time));
char *name = chapter_name(mpctx, i);
if (name) {
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CHAPTER_%d_NAME=%s\n", i,
+ MP_SMODE(mpctx, "ID_CHAPTER_%d_NAME=%s\n", i,
name);
talloc_free(name);
}
@@ -693,7 +693,7 @@ static void open_subtitles_from_options(struct MPContext *mpctx)
if (stream_control(mpctx->stream, STREAM_CTRL_GET_BASE_FILENAME,
&stream_filename) > 0)
base_filename = talloc_steal(tmp, stream_filename);
- struct subfn *list = find_text_subtitles(mpctx->opts, base_filename);
+ struct subfn *list = find_text_subtitles(mpctx->global, base_filename);
talloc_steal(tmp, list);
for (int i = 0; list && list[i].fname; i++) {
char *filename = list[i].fname;
@@ -724,7 +724,7 @@ static struct track *open_external_file(struct MPContext *mpctx, char *filename,
char *disp_filename = filename;
if (strncmp(disp_filename, "memory://", 9) == 0)
disp_filename = "memory://"; // avoid noise
- struct stream *stream = stream_open(filename, mpctx->opts);
+ struct stream *stream = stream_open(filename, mpctx->global);
if (!stream)
goto err_out;
stream_enable_cache_percent(&stream, stream_cache,
@@ -735,7 +735,7 @@ static struct track *open_external_file(struct MPContext *mpctx, char *filename,
.ass_library = mpctx->ass_library, // demux_libass requires it
};
struct demuxer *demuxer =
- demux_open(stream, demuxer_name, &params, mpctx->opts);
+ demux_open(stream, demuxer_name, &params, mpctx->global);
if (!demuxer) {
free_stream(stream);
goto err_out;
@@ -842,19 +842,21 @@ static void init_sub_renderer(struct MPContext *mpctx)
assert(!mpctx->ass_renderer);
mpctx->ass_renderer = ass_renderer_init(mpctx->ass_library);
- if (mpctx->ass_renderer)
- mp_ass_configure_fonts(mpctx->ass_renderer, mpctx->opts->sub_text_style);
+ if (mpctx->ass_renderer) {
+ mp_ass_configure_fonts(mpctx->ass_renderer, mpctx->opts->sub_text_style,
+ mpctx->global, mpctx->ass_log);
+ }
mpctx->initialized_flags |= INITIALIZED_LIBASS;
#endif
}
static struct mp_resolve_result *resolve_url(const char *filename,
- struct MPOpts *opts)
+ struct mpv_global *global)
{
if (!mp_is_url(bstr0(filename)))
return NULL;
#if HAVE_LIBQUVI
- return mp_resolve_quvi(filename, opts);
+ return mp_resolve_quvi(filename, global);
#else
return NULL;
#endif
@@ -863,29 +865,29 @@ static struct mp_resolve_result *resolve_url(const char *filename,
static void print_resolve_contents(struct mp_log *log,
struct mp_resolve_result *res)
{
- mp_msg_log(log, MSGL_V, "Resolve:\n");
- mp_msg_log(log, MSGL_V, " title: %s\n", res->title);
- mp_msg_log(log, MSGL_V, " url: %s\n", res->url);
+ mp_msg(log, MSGL_V, "Resolve:\n");
+ mp_msg(log, MSGL_V, " title: %s\n", res->title);
+ mp_msg(log, MSGL_V, " url: %s\n", res->url);
for (int n = 0; n < res->num_srcs; n++) {
- mp_msg_log(log, MSGL_V, " source %d:\n", n);
+ mp_msg(log, MSGL_V, " source %d:\n", n);
if (res->srcs[n]->url)
- mp_msg_log(log, MSGL_V, " url: %s\n", res->srcs[n]->url);
+ mp_msg(log, MSGL_V, " url: %s\n", res->srcs[n]->url);
if (res->srcs[n]->encid)
- mp_msg_log(log, MSGL_V, " encid: %s\n", res->srcs[n]->encid);
+ mp_msg(log, MSGL_V, " encid: %s\n", res->srcs[n]->encid);
}
for (int n = 0; n < res->num_subs; n++) {
- mp_msg_log(log, MSGL_V, " subtitle %d:\n", n);
+ mp_msg(log, MSGL_V, " subtitle %d:\n", n);
if (res->subs[n]->url)
- mp_msg_log(log, MSGL_V, " url: %s\n", res->subs[n]->url);
+ mp_msg(log, MSGL_V, " url: %s\n", res->subs[n]->url);
if (res->subs[n]->lang)
- mp_msg_log(log, MSGL_V, " lang: %s\n", res->subs[n]->lang);
+ mp_msg(log, MSGL_V, " lang: %s\n", res->subs[n]->lang);
if (res->subs[n]->data) {
- mp_msg_log(log, MSGL_V, " data: %zd bytes\n",
+ mp_msg(log, MSGL_V, " data: %zd bytes\n",
strlen(res->subs[n]->data));
}
}
if (res->playlist) {
- mp_msg_log(log, MSGL_V, " playlist with %d entries\n",
+ mp_msg(log, MSGL_V, " playlist with %d entries\n",
playlist_entry_count(res->playlist));
}
}
@@ -999,19 +1001,10 @@ static void play_current_file(struct MPContext *mpctx)
}
}
- mp_load_per_protocol_config(mpctx->mconfig, mpctx->filename);
- mp_load_per_extension_config(mpctx->mconfig, mpctx->filename);
- mp_load_per_file_config(mpctx->mconfig, mpctx->filename, opts->use_filedir_conf);
-
- if (opts->vo.video_driver_list)
- mp_load_per_output_config(mpctx->mconfig, "vo.",
- opts->vo.video_driver_list[0].name);
- if (opts->audio_driver_list)
- mp_load_per_output_config(mpctx->mconfig, "ao.",
- opts->audio_driver_list[0].name);
+ mp_load_auto_profiles(mpctx);
if (opts->position_resume)
- mp_load_playback_resume(mpctx->mconfig, mpctx->filename);
+ mp_load_playback_resume(mpctx, mpctx->filename);
load_per_file_options(mpctx->mconfig, mpctx->playlist->current->params,
mpctx->playlist->current->num_params);
@@ -1035,7 +1028,7 @@ static void play_current_file(struct MPContext *mpctx)
assert(mpctx->d_sub == NULL);
char *stream_filename = mpctx->filename;
- mpctx->resolve_result = resolve_url(stream_filename, opts);
+ mpctx->resolve_result = resolve_url(stream_filename, mpctx->global);
if (mpctx->resolve_result) {
print_resolve_contents(mpctx->log, mpctx->resolve_result);
if (mpctx->resolve_result->playlist) {
@@ -1044,7 +1037,7 @@ static void play_current_file(struct MPContext *mpctx)
}
stream_filename = mpctx->resolve_result->url;
}
- mpctx->stream = stream_open(stream_filename, opts);
+ mpctx->stream = stream_open(stream_filename, mpctx->global);
if (!mpctx->stream) { // error...
demux_was_interrupted(mpctx);
goto terminate_playback;
@@ -1081,7 +1074,8 @@ goto_reopen_demuxer: ;
mpctx->audio_delay = opts->audio_delay;
- mpctx->demuxer = demux_open(mpctx->stream, opts->demuxer_name, NULL, opts);
+ mpctx->demuxer = demux_open(mpctx->stream, opts->demuxer_name, NULL,
+ mpctx->global);
mpctx->master_demuxer = mpctx->demuxer;
if (!mpctx->demuxer) {
MP_ERR(mpctx, "Failed to recognize file format.\n");