summaryrefslogtreecommitdiffstats
path: root/player/loadfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/loadfile.c')
-rw-r--r--player/loadfile.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/player/loadfile.c b/player/loadfile.c
index 2fb69eb635..9d37c2ca21 100644
--- a/player/loadfile.c
+++ b/player/loadfile.c
@@ -410,6 +410,9 @@ static struct track *add_stream_track(struct MPContext *mpctx,
.title = stream->title,
.default_track = stream->default_track,
.forced_track = stream->forced_track,
+ .dependent_track = stream->dependent_track,
+ .visual_impaired_track = stream->visual_impaired_track,
+ .hearing_impaired_track = stream->hearing_impaired_track,
.attached_picture = stream->attached_picture != NULL,
.lang = stream->lang,
.demuxer = demuxer,
@@ -1495,21 +1498,21 @@ static void play_current_file(struct MPContext *mpctx)
update_demuxer_properties(mpctx);
+ update_playback_speed(mpctx);
+
+ reinit_video_chain(mpctx);
+ reinit_audio_chain(mpctx);
+ reinit_sub_all(mpctx);
+
if (mpctx->encode_lavc_ctx) {
- if (mpctx->current_track[0][STREAM_VIDEO])
+ if (mpctx->vo_chain)
encode_lavc_expect_stream(mpctx->encode_lavc_ctx, STREAM_VIDEO);
- if (mpctx->current_track[0][STREAM_AUDIO])
+ if (mpctx->ao_chain)
encode_lavc_expect_stream(mpctx->encode_lavc_ctx, STREAM_AUDIO);
encode_lavc_set_metadata(mpctx->encode_lavc_ctx,
mpctx->demuxer->metadata);
}
- update_playback_speed(mpctx);
-
- reinit_video_chain(mpctx);
- reinit_audio_chain(mpctx);
- reinit_sub_all(mpctx);
-
if (!mpctx->vo_chain && !mpctx->ao_chain && opts->stream_auto_sel) {
MP_FATAL(mpctx, "No video or audio streams selected.\n");
mpctx->error_playing = MPV_ERROR_NOTHING_TO_PLAY;