summaryrefslogtreecommitdiffstats
path: root/player/loadfile.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-03-21 17:08:43 +0100
committerwm4 <wm4@nowhere>2020-03-21 19:32:50 +0100
commite9e93b4dbe748cd341a6fbea355e6ba013ada81b (patch)
treeae548b385123e620adf4432f3ab4666f425874c7 /player/loadfile.c
parent68d9d11ddf2817b682b0a9f87d4d42791d5666ca (diff)
downloadmpv-e9e93b4dbe748cd341a6fbea355e6ba013ada81b.tar.bz2
mpv-e9e93b4dbe748cd341a6fbea355e6ba013ada81b.tar.xz
player: add a number of new playlist contol commands/properties
Should give a good deal more explicit control and insight over the player state. Some feel a bit pointless, and/or expose internal weirdness. However, it's not like the existing weirdness didn't exist before, or can be made go away. (In part, the weirdness is because certain in-between states are visible. Hiding them would make things simpler, but less flexible.) Maybe this actually gives users a better idea how the API _should_ look like, too. On a side note, this tries to really guarantee that mpctx->playing is set between playback start/end. For that, the loadfile.c changes assume that mpctx->playing is set (guaranteed by code above the change), and that playing->filename is set (probably could never be false; was broken before and actually would have crashed if that could ever happen; in any case, also add an assert to playlist.c for this). playlist_entry_to_index() now tolerates playlist_entrys that are not part of the playlist. This is also needed for mpctx->playing.
Diffstat (limited to 'player/loadfile.c')
-rw-r--r--player/loadfile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/player/loadfile.c b/player/loadfile.c
index 0ae59a0e65..5dd8b7efbf 100644
--- a/player/loadfile.c
+++ b/player/loadfile.c
@@ -1409,8 +1409,8 @@ static void play_current_file(struct MPContext *mpctx)
reset_playback_state(mpctx);
mpctx->playing = mpctx->playlist->current;
- if (!mpctx->playing || !mpctx->playing->filename)
- goto terminate_playback;
+ assert(mpctx->playing);
+ assert(mpctx->playing->filename);
mpctx->playing->reserved += 1;
mpctx->filename = talloc_strdup(NULL, mpctx->playing->filename);