summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--command.c2
-rw-r--r--libmpdemux/demuxer.c4
-rw-r--r--mplayer.c3
3 files changed, 5 insertions, 4 deletions
diff --git a/command.c b/command.c
index 4e1a6c87ab..9084ff37df 100644
--- a/command.c
+++ b/command.c
@@ -396,7 +396,7 @@ static int mp_property_chapter(m_option_t *prop, int action, void *arg,
if (mpctx->demuxer)
chapter = get_current_chapter(mpctx);
- if (chapter < 0)
+ if (chapter < -1)
return M_PROPERTY_UNAVAILABLE;
switch (action) {
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 0f026dffd6..551fd330c4 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -1529,11 +1529,11 @@ int demuxer_seek_chapter(demuxer_t *demuxer, int chapter, double *seek_pts,
int demuxer_get_current_chapter(demuxer_t *demuxer)
{
- int chapter = -1;
+ int chapter = -2;
if (!demuxer->num_chapters || !demuxer->chapters) {
if (stream_control(demuxer->stream, STREAM_CTRL_GET_CURRENT_CHAPTER,
&chapter) == STREAM_UNSUPPORTED)
- chapter = -1;
+ chapter = -2;
} else {
sh_video_t *sh_video = demuxer->video->sh;
sh_audio_t *sh_audio = demuxer->audio->sh;
diff --git a/mplayer.c b/mplayer.c
index f5544b8e57..4eec335b99 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -2790,6 +2790,7 @@ static int seek(MPContext *mpctx, double amount, int style)
return 0;
}
+// -2 is no chapters, -1 is before first chapter
int get_current_chapter(struct MPContext *mpctx)
{
if (!mpctx->chapters || !mpctx->sh_video)
@@ -4058,7 +4059,7 @@ if (seek_to_sec || mpctx->timeline) {
seek(mpctx, seek_to_sec, SEEK_ABSOLUTE);
end_at.pos += seek_to_sec;
}
-if (opts->chapterrange[0] > 1) {
+if (opts->chapterrange[0] > 0) {
double pts;
if (seek_chapter(mpctx, opts->chapterrange[0]-1, &pts, NULL) >= 0
&& pts > -1.0)