Changeset 20292


Ignore:
Timestamp:
03/02/13 16:00:15 (11 years ago)
Author:
nit
Message:

[titan] fix infobar timeline

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/play.h

    r20291 r20292  
    6767void screenplayinfobar(char* file, char* showname, int mode, int playertype, int flag)
    6868{
     69        int change = 1;
     70
    6971        if(checkbit(status.playercan, 14) == 0) return;
    7072
     
    130132        if(playertype == 1)
    131133        {
     134                int ret = 0;
    132135                unsigned long long startpos = 0;
    133136                if(flag == 4)
    134                         playergetinfots(&len, &startpos, NULL, &pos, NULL, 1);
     137                        ret = playergetinfots(&len, &startpos, NULL, &pos, NULL, 1);
    135138                else
    136                         playergetinfots(&len, &startpos, NULL, &pos, NULL, 0);
     139                        ret = playergetinfots(&len, &startpos, NULL, &pos, NULL, 0);
    137140                len = len / 90000;
    138141                pos = (pos - startpos) / 90000;
     142                if(ret != 0) change = 0;
    139143        }
    140144        else if(playertype == 2)
     
    151155        reverse = len - pos;
    152156
    153         if(len == 0)
    154                 sprogress->progresssize = 0;
    155         else
    156                 sprogress->progresssize = pos * 100 / len;
     157        if(change == 1)
     158        {
     159                if(len == 0)
     160                        sprogress->progresssize = 0;
     161                else
     162                        sprogress->progresssize = pos * 100 / len;
     163        }
    157164
    158165        tmpstr = convert_timesec(pos);
  • titan/titan/player.h

    r20287 r20292  
    390390int playergetinfots(unsigned long long* lenpts, unsigned long long* startpts, unsigned long long* endpts, unsigned long long* aktpts, unsigned long long* bitrate, int flag)
    391391{
    392         int dupfd = -1;
     392        int ret = 0, dupfd = -1;
    393393        struct service* snode = NULL;
    394394        unsigned long long lenpts1 = 0;
     
    403403               
    404404        if(snode == NULL) return 1;
     405
     406        if(snode->lenpts > 0 && snode->startpts > 0 && snode->endpts > 0 && snode->bitrate > 0)
     407        {
     408                if(lenpts != NULL) *lenpts = snode->lenpts;
     409                if(startpts != NULL) *startpts = snode->startpts;
     410                if(endpts != NULL) *endpts = snode->endpts;
     411                if(bitrate != NULL) *bitrate = snode->bitrate;
     412
     413                ret = videogetpts(status.aktservice->videodev, aktpts);
     414                return ret;
     415        }
    405416       
    406417        dupfd = open(snode->recname, O_RDONLY | O_LARGEFILE);
     
    428439        close(dupfd);
    429440
    430         videogetpts(status.aktservice->videodev, aktpts);
    431         return 0;
     441        ret = videogetpts(status.aktservice->videodev, aktpts);
     442        return ret;
    432443}
    433444
Note: See TracChangeset for help on using the changeset viewer.