cabana: video loops; prevent segment index overflow
parent
c53d36ac36
commit
3809ac0f00
|
@ -53,7 +53,7 @@ export default class CanExplorer extends Component {
|
|||
|
||||
if(this.props.dbc !== undefined) {
|
||||
this.setState({dbc: this.props.dbc, dbcFilename: 'acura_ilx_2016.dbc', route}, () => {
|
||||
this.spawnWorker(0, 4)
|
||||
this.spawnWorker(0, 2)
|
||||
});
|
||||
}
|
||||
this.setState({route})
|
||||
|
@ -67,7 +67,7 @@ export default class CanExplorer extends Component {
|
|||
const {route} = this.state;
|
||||
|
||||
// Pass DBC text to webworker b/c can't pass instance of es6 class
|
||||
this.spawnWorker(0, 4);
|
||||
this.spawnWorker(0, 2);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ export default class CanHistogram extends Component {
|
|||
if(nextProps.message) {
|
||||
// if this is the first message or a new one
|
||||
if(this.props.message == null
|
||||
|| nextProps.message.entries.length != this.props.message.entries.length
|
||||
|| nextProps.partsLoaded != this.props.partsLoaded
|
||||
|| JSON.stringify(nextProps.indices) !== JSON.stringify(this.props.indices)) {
|
||||
|
||||
|
|
|
@ -110,13 +110,11 @@ export default class RouteSeeker extends Component {
|
|||
if(videoElement === null) return;
|
||||
|
||||
const {currentTime} = videoElement;
|
||||
const newRatio = this.props.segmentProgress(currentTime);
|
||||
let newRatio = this.props.segmentProgress(currentTime);
|
||||
|
||||
if(newRatio >= 1) {
|
||||
window.clearInterval(this.playTimer);
|
||||
this.setState({ratio: 1})
|
||||
this.onPause();
|
||||
return;
|
||||
newRatio = 0;
|
||||
this.props.onUserSeek(newRatio);
|
||||
}
|
||||
this.updateSeekedBar(newRatio);
|
||||
this.props.onPlaySeek(newRatio);
|
||||
|
|
|
@ -141,7 +141,6 @@ export default class Explorer extends Component {
|
|||
this.setState({userSeekIndex});
|
||||
}
|
||||
|
||||
|
||||
onPlay() {
|
||||
this.setState({playing: true});
|
||||
}
|
||||
|
|
|
@ -15,9 +15,9 @@ function findSegmentIndices(entries, [segmentTimeLow, segmentTimeHi]) {
|
|||
|
||||
const upperSegments = entries.slice(segmentIdxLow);
|
||||
let upperSegmentIdxHi = findTimeIndex(upperSegments, segmentTimeHi);
|
||||
const segmentIdxHi = (upperSegmentIdxHi ? upperSegmentIdxHi + segmentIdxLow + 1 : entries.length)
|
||||
const segmentIdxHi = (upperSegmentIdxHi >= 0 ? upperSegmentIdxHi + segmentIdxLow + 1 : entries.length - 1)
|
||||
|
||||
return [segmentIdxLow, segmentIdxHi]
|
||||
return [segmentIdxLow, Math.min(segmentIdxHi, entries.length - 1)]
|
||||
}
|
||||
|
||||
export default {findTimeIndex, findSegmentIndices};
|
||||
export default {findTimeIndex, findSegmentIndices};
|
||||
|
|
Loading…
Reference in New Issue