libbluray | branch: master | hpi1 <h...@anonymous.org> | Tue May 17 10:15:43 2016 +0300| [e7e8d09f27ed31b21c95447c6b09f3d40c9fe4ed] | committer: hpi1
Add bd_set_rate() > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=e7e8d09f27ed31b21c95447c6b09f3d40c9fe4ed --- src/libbluray/bluray.c | 26 ++++++++++++++++++++++++++ src/libbluray/bluray.h | 17 +++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c index eadcf71..b7598b9 100644 --- a/src/libbluray/bluray.c +++ b/src/libbluray/bluray.c @@ -3508,6 +3508,32 @@ void bd_set_scr(BLURAY *bd, int64_t pts) bd_mutex_unlock(&bd->mutex); } +static int _set_rate(BLURAY *bd, uint32_t rate) +{ + if (!bd->title) { + return -1; + } + +#ifdef USING_BDJAVA + if (bd->title_type == title_bdj) { + return _bdj_event(bd, BDJ_EVENT_RATE, rate); + } +#endif + + return 0; +} + +int bd_set_rate(BLURAY *bd, uint32_t rate) +{ + int result; + + bd_mutex_lock(&bd->mutex); + result = _set_rate(bd, rate); + bd_mutex_unlock(&bd->mutex); + + return result; +} + int bd_mouse_select(BLURAY *bd, int64_t pts, uint16_t x, uint16_t y) { uint32_t param = (x << 16) | y; diff --git a/src/libbluray/bluray.h b/src/libbluray/bluray.h index cbf16fc..3cd7118 100644 --- a/src/libbluray/bluray.h +++ b/src/libbluray/bluray.h @@ -977,6 +977,23 @@ void bd_set_scr(BLURAY *bd, int64_t pts); /** * + * Set current playback rate. + * + * Notify BD-J media player when user changes playback rate + * (ex. pauses playback). + * Changing rate may fail if corresponding UO is masked or + * playlist is not playing. + * + * @param bd BLURAY object + * @param rate current playback rate * 90000 (0 = paused, 90000 = normal) + * @return <0 on error, 0 on success + */ +#define BLURAY_RATE_PAUSED 0 +#define BLURAY_RATE_NORMAL 90000 +int bd_set_rate(BLURAY *bd, uint32_t rate); + +/** + * * Pass user input to graphics controller. * Keys are defined in libbluray/keys.h. * Current pts can be updated by using BD_VK_NONE key. This is required for animated menus. _______________________________________________ libbluray-devel mailing list libbluray-devel@videolan.org https://mailman.videolan.org/listinfo/libbluray-devel