mirror of https://github.com/mpv-player/mpv
slave command to get the number of chapters; patch by Kevin DeKorte - kdekorte gmail com
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27667 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
e628297bbd
commit
20e4a74eb5
|
@ -478,6 +478,7 @@ stream_start pos 0 X start pos in stream
|
|||
stream_end pos 0 X end pos in stream
|
||||
stream_length pos 0 X (end - start)
|
||||
chapter int 0 X X X select chapter
|
||||
chapters int X number of chapters
|
||||
angle int 0 X X X select angle
|
||||
length time X length of file in seconds
|
||||
percent_pos int 0 100 X X X position in percent
|
||||
|
|
13
command.c
13
command.c
|
@ -447,6 +447,17 @@ static int mp_property_chapter(m_option_t *prop, int action, void *arg,
|
|||
return M_PROPERTY_OK;
|
||||
}
|
||||
|
||||
/// Number of chapters in file
|
||||
static int mp_property_chapters(m_option_t *prop, int action, void *arg,
|
||||
MPContext *mpctx)
|
||||
{
|
||||
if (!mpctx->demuxer)
|
||||
return M_PROPERTY_UNAVAILABLE;
|
||||
if (mpctx->demuxer->num_chapters == 0)
|
||||
stream_control(mpctx->demuxer->stream, STREAM_CTRL_GET_NUM_CHAPTERS, &mpctx->demuxer->num_chapters);
|
||||
return m_property_int_ro(prop, action, arg, mpctx->demuxer->num_chapters);
|
||||
}
|
||||
|
||||
/// Current dvd angle (RW)
|
||||
static int mp_property_angle(m_option_t *prop, int action, void *arg,
|
||||
MPContext *mpctx)
|
||||
|
@ -1983,6 +1994,8 @@ static const m_option_t mp_properties[] = {
|
|||
M_OPT_MIN, 0, 0, NULL },
|
||||
{ "chapter", mp_property_chapter, CONF_TYPE_INT,
|
||||
M_OPT_MIN, 1, 0, NULL },
|
||||
{ "chapters", mp_property_chapters, CONF_TYPE_INT,
|
||||
0, 0, 0, NULL },
|
||||
{ "angle", mp_property_angle, CONF_TYPE_INT,
|
||||
CONF_RANGE, -2, 10, NULL },
|
||||
{ "metadata", mp_property_metadata, CONF_TYPE_STRING_LIST,
|
||||
|
|
|
@ -3531,6 +3531,11 @@ if (mpctx->global_sub_size) {
|
|||
}
|
||||
mp_msg(MSGT_IDENTIFY,MSGL_INFO,"ID_LENGTH=%.2lf\n", demuxer_get_time_length(mpctx->demuxer));
|
||||
mp_msg(MSGT_IDENTIFY,MSGL_INFO,"ID_SEEKABLE=%d\n", mpctx->stream->seek ? 1 : 0);
|
||||
if (mpctx->demuxer) {
|
||||
if (mpctx->demuxer->num_chapters == 0)
|
||||
stream_control(mpctx->demuxer->stream, STREAM_CTRL_GET_NUM_CHAPTERS, &mpctx->demuxer->num_chapters);
|
||||
mp_msg(MSGT_IDENTIFY,MSGL_INFO,"ID_CHAPTERS=%d\n", mpctx->demuxer->num_chapters);
|
||||
}
|
||||
|
||||
if(!mpctx->sh_video) goto main; // audio-only
|
||||
|
||||
|
|
Loading…
Reference in New Issue