Changeset 12456
- Timestamp:
- 12/20/11 18:59:32 (12 years ago)
- Location:
- titan/titan
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/infobar.h
r12389 r12456 103 103 { 104 104 if(status.playing == 1) { 105 if(status.timeshiftseek > 102) { 106 timeshiftseek((status.timeshiftseek - 100) / 2 + 100); 107 } 108 else if(status.timeshiftseek == 102) { 105 if(status.timeshiftseek > 102) 109 106 timeshiftplay(); 110 } 111 else 112 timeshiftseek(-10); 107 timeshiftseek(-10); 113 108 } 114 109 continue; -
titan/titan/record.h
r12387 r12456 961 961 { 962 962 off64_t offset; 963 off64_t bufferoffset; 963 964 off64_t endoffile; 964 965 off64_t currentpos; … … 981 982 return 1; 982 983 } 984 985 m_lock(&status.tsseekmutex, 15); 983 986 if(gettsinfo(dupfd, &pts, &bitrate) != 0) 984 987 { 985 988 err("cant read bitrate"); 989 m_unlock(&status.tsseekmutex, 15); 986 990 return 1; 987 991 } 988 989 endoffile = lseek64(dupfd , 0, SEEK_END); 990 endoffile = endoffile - RECPLAYBSIZE; 991 close(dupfd); 992 m_lock(&status.tsseekmutex, 15); 992 endoffile = lseek64(dupfd , -188*2, SEEK_END); 993 close(dupfd); 994 currentpos = lseek64(servicenode->recsrcfd, 0, SEEK_CUR); 993 995 ret = videoclearbuffer(status.aktservice->videodev); 994 996 ret = audioclearbuffer(status.aktservice->audiodev); 995 currentpos = lseek64(servicenode->recsrcfd, 0, SEEK_CUR); 996 997 997 998 if(sekunden >= 0) { 998 offset = (bitrate / 8) * sekunden ;999 offset = (bitrate / 8) * sekunden - 5000000; 999 1000 offset = offset - (offset % 188); 1000 1001 if(currentpos + offset > endoffile) { … … 1004 1005 } else { 1005 1006 sekunden = sekunden * -1; 1006 offset = (bitrate / 8) * sekunden ;1007 offset = (bitrate / 8) * sekunden + 5000000; 1007 1008 offset = offset - (offset % 188); 1008 1009 if(currentpos - offset < 0) { 1009 offset = currentpos - RECPLAYBSIZE;1010 offset = currentpos - 188; 1010 1011 offset = offset - (offset % 188); 1011 1012 if(offset < 0) … … 1015 1016 } 1016 1017 currentpos = lseek64(servicenode->recsrcfd, offset, SEEK_CUR); 1017 1018 1018 m_unlock(&status.tsseekmutex, 15); 1019 usleep(500000); 1019 1020 status.timeshiftseek = 0; 1020 1021 1021 return 0; 1022 1022 } -
titan/titan/timeshift.h
r12389 r12456 114 114 endoffile = lseek64(fd , 0, SEEK_END); 115 115 currentpos = lseek64(servicenode->recsrcfd, 0, SEEK_CUR); 116 currentpos = currentpos - 5000000; 116 117 timeshiftbar->progresssize = currentpos * 100 / endoffile; 117 118 if(status.timeshiftseek > 100) { … … 122 123 free(tmpstr); tmpstr = NULL; 123 124 } 124 if(status.timeshiftseek < 0) { 125 tmpstr = ostrcat(tmpstr,_("skip back"), 1, 0); 125 if(status.timeshiftseek < 100 && status.timeshiftseek > -100) { 126 tmpstr = oitoa(status.timeshiftseek); 127 tmpstr = ostrcat(_("skip "), tmpstr, 0, 1); 128 tmpstr = ostrcat(tmpstr," sec", 1, 0); 126 129 changetext(seek, tmpstr); 127 130 free(tmpstr); tmpstr = NULL; … … 145 148 if(snode != 0) { 146 149 if(sekunden > 100) { 150 if(sekunden >= 132) { 151 status.timeshiftseek = 116; 152 return; 153 } 147 154 status.timeshiftseek = sekunden; 148 155 sekunden = sekunden - 100;
Note: See TracChangeset
for help on using the changeset viewer.