예제 #1
0
/** \brief jump to a Blu-ray root or popup menu
 */
bool BDRingBuffer::GoToMenu(const QString str, int64_t pts)
{
    if (!m_isHDMVNavigation || pts < 0)
        return false;

    if (!m_topMenuSupported)
    {
        VERBOSE(VB_PLAYBACK, LOC + "Top Menu not supported");
        return false;
    }

    VERBOSE(VB_PLAYBACK, LOC + QString("GoToMenu %1").arg(str));

    if (str.compare("root") == 0)
    {
        if (bd_menu_call(bdnav, pts))
        {
            VERBOSE(VB_PLAYBACK, LOC + QString("Invoked Top Menu (pts %1)")
                                                .arg(pts));
            return true;
        }
    }
    else if (str.compare("popup") == 0)
    {
        PressButton(BD_VK_POPUP, pts);
        return true;
    }
    else
        return false;

    return false;
}
예제 #2
0
/** \brief jump to a Blu-ray root or popup menu
 */
bool BDRingBuffer::GoToMenu(const QString str, int64_t pts)
{
    if (!m_is_hdmv_navigation || pts <= 0)
        return false;

    VERBOSE(VB_PLAYBACK, QString("BDRingBuf: GoToMenu %1").arg(str));

    if (str.compare("root") == 0)
    {
        if (bd_menu_call(bdnav, pts))
        {
            VERBOSE(VB_PLAYBACK, QString("BDRingBuf: Invoked Menu Successfully"));
            return true;
        }
        else
        {
            m_inMenu = false;
            return false;
        }
    }
    else
        return false;

    return false;
}