Ignore:
Timestamp:
Apr 30, 2012, 7:09:25 PM (14 years ago)
Author:
Silvan Scherrer
Message:

SMPlayer vendor: 0.8.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • smplayer/vendor/current/src/core.cpp

    r127 r130  
    784784
    785785#ifdef YOUTUBE_SUPPORT
    786         if (name.contains("youtube.com/watch", Qt::CaseInsensitive)) {
     786        if (name.contains("youtube.com/watch", Qt::CaseInsensitive) ||
     787        name.contains("youtu.be/", Qt::CaseInsensitive) ||
     788        name.contains("y2u.be/", Qt::CaseInsensitive) )
     789        {
    787790                qDebug("Core::openStream: youtube url detected");
    788791                if (name.startsWith("www.youtube.com")) name = "http://" + name;
    789792                if (name.startsWith("youtube.com")) name = "http://www." + name;
     793
     794
    790795                yt->setPreferredQuality( (RetrieveYoutubeUrl::Quality) pref->yt_quality );
    791796                yt->fetchPage(name);
     
    34533458        qDebug("Core::changeChapter: ID: %d", ID);
    34543459
    3455         if (ID != mset.current_chapter_id) {
    3456                 //if (QFileInfo(mdat.filename).extension().lower()=="mkv") {
    3457                 if (mdat.type != TYPE_DVD) {
     3460        if (mdat.type != TYPE_DVD) {
     3461                /*
     3462                if (mdat.chapters.find(ID) > -1) {
     3463                        double start = mdat.chapters.item(ID).start();
     3464                        qDebug("Core::changeChapter: start: %f", start);
     3465                        goToSec(start);
     3466                        mset.current_chapter_id = ID;
     3467                } else {
     3468                */
     3469                        tellmp("seek_chapter " + QString::number(ID) +" 1");
     3470                        mset.current_chapter_id = ID;
     3471                        //updateWidgets();
     3472                /*
     3473                }
     3474                */
     3475        } else {
     3476#if SMART_DVD_CHAPTERS
     3477                if (pref->cache_for_dvds == 0) {
     3478#else
     3479                if (pref->fast_chapter_change) {
     3480#endif
    34583481                        tellmp("seek_chapter " + QString::number(ID) +" 1");
    34593482                        mset.current_chapter_id = ID;
    34603483                        updateWidgets();
    34613484                } else {
    3462 #if SMART_DVD_CHAPTERS
    3463                         if (pref->cache_for_dvds == 0) {
    3464 #else
    3465                         if (pref->fast_chapter_change) {
    3466 #endif
    3467                                 tellmp("seek_chapter " + QString::number(ID) +" 1");
    3468                                 mset.current_chapter_id = ID;
    3469                                 updateWidgets();
    3470                         } else {
    3471                                 stopMplayer();
    3472                                 mset.current_chapter_id = ID;
    3473                                 //goToPos(0);
    3474                                 mset.current_sec = 0;
    3475                                 restartPlay();
    3476                         }
     3485                        stopMplayer();
     3486                        mset.current_chapter_id = ID;
     3487                        //goToPos(0);
     3488                        mset.current_sec = 0;
     3489                        restartPlay();
    34773490                }
    34783491        }
     
    34933506        int first_chapter = firstChapter();
    34943507
    3495         last_chapter = mdat.n_chapters + firstChapter() - 1;
    3496 
    3497         int ID = mset.current_chapter_id - 1;
    3498         if (ID < first_chapter) {
    3499                 ID = last_chapter;
    3500         }
     3508        int ID = mdat.chapters.itemBeforeTime(mset.current_sec).ID();
     3509
     3510        if (ID == -1) {
     3511                last_chapter = mdat.n_chapters + firstChapter() - 1;
     3512
     3513                ID = mset.current_chapter_id - 1;
     3514                if (ID < first_chapter) {
     3515                        ID = last_chapter;
     3516                }
     3517        }
     3518
    35013519        changeChapter(ID);
    35023520}
     
    35053523        qDebug("Core::nextChapter");
    35063524
    3507         int last_chapter = 0;
    3508         last_chapter = mdat.n_chapters + firstChapter() - 1;
    3509 
    3510         int ID = mset.current_chapter_id + 1;
    3511         if (ID > last_chapter) {
    3512                 ID = firstChapter();
    3513         }
     3525        int last_chapter = mdat.n_chapters + firstChapter() - 1;
     3526
     3527        int ID = mdat.chapters.itemAfterTime(mset.current_sec).ID();
     3528
     3529        if (ID == -1) {
     3530                ID = mset.current_chapter_id + 1;
     3531                if (ID > last_chapter) {
     3532                        ID = firstChapter();
     3533                }
     3534        }
     3535
    35143536        changeChapter(ID);
    35153537}
Note: See TracChangeset for help on using the changeset viewer.