summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-03-01 00:28:09 +0100
committerwm4 <wm4@nowhere>2020-03-01 00:28:09 +0100
commitae1aeab7aa2b7c378a9f734d227121f84ae85ed2 (patch)
treed5bd99fc37ede2a0c6c28a11eb14b1b8347b9a88 /player
parentb31a5e3a580c3245433a59767921e6766a302e8b (diff)
downloadmpv-ae1aeab7aa2b7c378a9f734d227121f84ae85ed2.tar.bz2
mpv-ae1aeab7aa2b7c378a9f734d227121f84ae85ed2.tar.xz
options: make decoder options local to decoder wrapper
Instead of having f_decoder_wrapper create its own copy of the entire mpv option tree, create a struct local to that file and move all used options to there. movie_aspect is used by the "video-aspect" deprecated property code. I think it's probably better not to remove the property yet, but fortunately it's easy to work around without needing special handling for this option or so. correct_pts is used to prevent use of hr-seek in playloop.c. Ignore that, if you use --no-correct-pts you're asking for trouble anyway. This is the only behavior change.
Diffstat (limited to 'player')
-rw-r--r--player/command.c4
-rw-r--r--player/main.c16
-rw-r--r--player/playloop.c3
3 files changed, 3 insertions, 20 deletions
diff --git a/player/command.c b/player/command.c
index fb28b285e1..2ac6add009 100644
--- a/player/command.c
+++ b/player/command.c
@@ -2565,7 +2565,7 @@ static int mp_property_aspect(void *ctx, struct m_property *prop,
skip_warn: ;
- float aspect = mpctx->opts->movie_aspect;
+ float aspect = *(float *)opt->data;
if (mpctx->vo_chain && aspect <= 0) {
struct mp_image_params *params = &mpctx->vo_chain->filter->input_params;
if (params && params->p_w > 0 && params->p_h > 0) {
@@ -2586,7 +2586,7 @@ skip_warn: ;
*(struct m_option *)arg = *(opt->opt);
return M_PROPERTY_OK;
case M_PROPERTY_PRINT: {
- if (mpctx->opts->movie_aspect < 0) {
+ if (aspect < 0) {
*(char **)arg = talloc_asprintf(NULL, "%.3f (original)", aspect);
return M_PROPERTY_OK;
}
diff --git a/player/main.c b/player/main.c
index 6cb56ef601..9dbd160a70 100644
--- a/player/main.c
+++ b/player/main.c
@@ -201,22 +201,6 @@ static bool handle_help_options(struct MPContext *mpctx)
{
struct MPOpts *opts = mpctx->opts;
struct mp_log *log = mpctx->log;
- if (opts->audio_decoders && strcmp(opts->audio_decoders, "help") == 0) {
- struct mp_decoder_list *list = audio_decoder_list();
- mp_print_decoders(log, MSGL_INFO, "Audio decoders:", list);
- talloc_free(list);
- return true;
- }
- if (opts->audio_spdif && strcmp(opts->audio_spdif, "help") == 0) {
- MP_INFO(mpctx, "Choices: ac3,dts-hd,dts (and possibly more)\n");
- return true;
- }
- if (opts->video_decoders && strcmp(opts->video_decoders, "help") == 0) {
- struct mp_decoder_list *list = video_decoder_list();
- mp_print_decoders(log, MSGL_INFO, "Video decoders:", list);
- talloc_free(list);
- return true;
- }
if ((opts->demuxer_name && strcmp(opts->demuxer_name, "help") == 0) ||
(opts->audio_demuxer_name && strcmp(opts->audio_demuxer_name, "help") == 0) ||
(opts->sub_demuxer_name && strcmp(opts->sub_demuxer_name, "help") == 0)) {
diff --git a/player/playloop.c b/player/playloop.c
index 113feea770..6fcd986ebd 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -289,8 +289,7 @@ static void mp_seek(MPContext *mpctx, struct seek_params seek)
double demux_pts = seek_pts;
- bool hr_seek = (opts->correct_pts && seek.exact != MPSEEK_KEYFRAME &&
- seek_pts != MP_NOPTS_VALUE) &&
+ bool hr_seek = seek.exact != MPSEEK_KEYFRAME && seek_pts != MP_NOPTS_VALUE &&
(seek.exact >= MPSEEK_EXACT || opts->hr_seek == 1 ||
(opts->hr_seek >= 0 && seek.type == MPSEEK_ABSOLUTE) ||
(opts->hr_seek == 2 && (!mpctx->vo_chain || mpctx->vo_chain->is_sparse)));