Ticket #1752: jump_ffw_rew_in_dvd.patch

File jump_ffw_rew_in_dvd.patch, 2.9 KB (added by skamithi, 19 years ago)
  • libs/libmythtv/tv_play.cpp

     
    24092409                if (prbuffer->InDVDMenuOrStillFrame())
    24102410                    UpdateOSDSeekMessage(tr("Skip Back Not Allowed"),
    24112411                                         osd_general_timeout);
    2412                 else if (prbuffer->DVD()->NumPartsInTitle() < 2)
     2412                else if (prbuffer->DVD()->NumPartsInTitle() > 2)
    24132413                {
    2414                     nvp->GoToDVDProgram(0);
    2415                     UpdateOSDSeekMessage(tr("Previous Title"),
    2416                             osd_general_timeout);
     2414                    nvp->ChangeDVDTrack(0);
     2415                    UpdateOSDSeekMessage(tr("Previous Chapter"),
     2416                                            osd_general_timeout);
    24172417                }
    24182418                else
    24192419                {
    2420                     nvp->ChangeDVDTrack(0);
    2421                     UpdateOSDSeekMessage(tr("Previous Chapter"),
    2422                             osd_general_timeout);
     2420                    uint titleLength = prbuffer->DVD()->GetTotalTimeOfTitle();
     2421                    uint chapterLength = prbuffer->DVD()->GetChapterLength();
     2422                    if ((titleLength == chapterLength) &&
     2423                        chapterLength > 300)
     2424                    {
     2425                        DoSeek(-jumptime * 60, tr("Jump Back"));
     2426                    }
     2427                    else
     2428                    {                       
     2429                        nvp->GoToDVDProgram(0);
     2430                        UpdateOSDSeekMessage(tr("Previous Title"),
     2431                                                osd_general_timeout);
     2432                    }
    24232433                }
    24242434            }
    24252435            else
     
    24432453                    UpdateOSDSeekMessage(tr("Next Chapter"),
    24442454                            osd_general_timeout);
    24452455                }
    2446                 else 
     2456                else
    24472457                {
    2448                     nvp->GoToDVDProgram(1);
    2449                     UpdateOSDSeekMessage(tr("Next Title"),
     2458                    uint titleLength = prbuffer->DVD()->GetTotalTimeOfTitle();
     2459                    uint chapterLength = prbuffer->DVD()->GetChapterLength();
     2460                    uint currentTime = prbuffer->DVD()->GetCurrentTime();
     2461                    if ((titleLength == chapterLength) &&
     2462                        (currentTime < (chapterLength - (jumptime * 60))) &&
     2463                        chapterLength > 300)
     2464                    {
     2465                        DoSeek(jumptime * 60, tr("Jump Ahead"));
     2466                    }
     2467                    else
     2468                    {
     2469                        nvp->GoToDVDProgram(1);
     2470                        UpdateOSDSeekMessage(tr("Next Title"),
    24502471                            osd_general_timeout);
     2472                    }
    24512473                }
    24522474            }
    24532475            else