parent
a7be1cf2ef
commit
0279d930ec
|
@ -1,2 +1 @@
|
||||||
BROWSER=none
|
BROWSER=none
|
||||||
REACT_APP_VIDEO_CDN=https://cabana-video-development.azureedge.net
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
BROWSER=none
|
BROWSER=none
|
||||||
REACT_APP_VIDEO_CDN=https://cabana-video.azureedge.net
|
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
BROWSER=none
|
BROWSER=none
|
||||||
REACT_APP_VIDEO_CDN=https://cabana-video-staging.azureedge.net
|
|
||||||
|
|
|
@ -186,13 +186,16 @@ export default class CanExplorer extends Component {
|
||||||
);
|
);
|
||||||
} else if (dongleId && name) {
|
} else if (dongleId && name) {
|
||||||
const routeName = `${dongleId}|${name}`;
|
const routeName = `${dongleId}|${name}`;
|
||||||
let urlPromise;
|
let routePromise;
|
||||||
let logUrlsPromise;
|
let logUrlsPromise;
|
||||||
|
|
||||||
if (this.props.url) {
|
if (this.props.url) {
|
||||||
urlPromise = Promise.resolve(this.props.url);
|
routePromise = Promise.resolve({
|
||||||
|
maxqcamera: null,
|
||||||
|
url: this.props.url,
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
urlPromise = DrivesApi.getRouteInfo(routeName).then((route) => route.url);
|
routePromise = DrivesApi.getRouteInfo(routeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.props.sig && this.props.exp) {
|
if (this.props.sig && this.props.exp) {
|
||||||
|
@ -203,15 +206,16 @@ export default class CanExplorer extends Component {
|
||||||
} else {
|
} else {
|
||||||
logUrlsPromise = RawDataApi.getLogUrls(routeName);
|
logUrlsPromise = RawDataApi.getLogUrls(routeName);
|
||||||
}
|
}
|
||||||
Promise.all([urlPromise, logUrlsPromise])
|
Promise.all([routePromise, logUrlsPromise])
|
||||||
.then((initData) => {
|
.then((initData) => {
|
||||||
const [url, logUrls] = initData;
|
const [route, logUrls] = initData;
|
||||||
const newState = {
|
const newState = {
|
||||||
route: {
|
route: {
|
||||||
fullname: routeName,
|
fullname: routeName,
|
||||||
proclog: logUrls.length - 1,
|
proclog: logUrls.length - 1,
|
||||||
start_time: Moment(name, 'YYYY-MM-DD--H-m-s'),
|
start_time: Moment(name, 'YYYY-MM-DD--H-m-s'),
|
||||||
url
|
url: route.url.replace('chffrprivate.blob.core.windows.net', 'chffrprivate.azureedge.net'),
|
||||||
|
maxqcamera: route.maxqcamera ? route.maxqcamera : logUrls.length - 1,
|
||||||
},
|
},
|
||||||
currentParts: [
|
currentParts: [
|
||||||
0,
|
0,
|
||||||
|
@ -227,7 +231,7 @@ export default class CanExplorer extends Component {
|
||||||
exp: shareSignature.exp,
|
exp: shareSignature.exp,
|
||||||
sig: shareSignature.sig,
|
sig: shareSignature.sig,
|
||||||
max: logUrls.length - 1,
|
max: logUrls.length - 1,
|
||||||
url
|
url: route.url.replace('chffrprivate.blob.core.windows.net', 'chffrprivate.azureedge.net'),
|
||||||
},
|
},
|
||||||
remove: [GITHUB_AUTH_TOKEN_KEY]
|
remove: [GITHUB_AUTH_TOKEN_KEY]
|
||||||
})
|
})
|
||||||
|
@ -1360,6 +1364,7 @@ export default class CanExplorer extends Component {
|
||||||
}
|
}
|
||||||
videoOffset={ (this.state.firstFrameTime && this.state.routeInitTime) ? this.state.firstFrameTime - this.state.routeInitTime : 0 }
|
videoOffset={ (this.state.firstFrameTime && this.state.routeInitTime) ? this.state.firstFrameTime - this.state.routeInitTime : 0 }
|
||||||
partsCount={route ? route.proclog : 0}
|
partsCount={route ? route.proclog : 0}
|
||||||
|
maxqcamera={route ? route.maxqcamera : 0}
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -460,6 +460,7 @@ export default class Explorer extends Component {
|
||||||
<RouteVideoSync
|
<RouteVideoSync
|
||||||
message={messages[this.props.selectedMessage]}
|
message={messages[this.props.selectedMessage]}
|
||||||
segment={this.state.segment}
|
segment={this.state.segment}
|
||||||
|
maxqcamera={this.props.maxqcamera}
|
||||||
startTime={startTime}
|
startTime={startTime}
|
||||||
seekIndex={this.props.seekIndex}
|
seekIndex={this.props.seekIndex}
|
||||||
userSeekIndex={this.state.userSeekIndex}
|
userSeekIndex={this.state.userSeekIndex}
|
||||||
|
@ -518,6 +519,7 @@ Explorer.propTypes = {
|
||||||
autoplay: PropTypes.bool.isRequired,
|
autoplay: PropTypes.bool.isRequired,
|
||||||
currentParts: PropTypes.array.isRequired,
|
currentParts: PropTypes.array.isRequired,
|
||||||
partsCount: PropTypes.number,
|
partsCount: PropTypes.number,
|
||||||
|
maxqcamera: PropTypes.number,
|
||||||
startTime: PropTypes.number,
|
startTime: PropTypes.number,
|
||||||
startSegments: PropTypes.array
|
startSegments: PropTypes.array
|
||||||
};
|
};
|
||||||
|
|
|
@ -62,11 +62,11 @@ export default class RouteVideoSync extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
let videoApi = VideoApi(this.props.url, process.env.REACT_APP_VIDEO_CDN);
|
let videoApi = VideoApi(this.props.url);
|
||||||
videoApi.getQcameraStreamIndex().then(() => {
|
videoApi.getQcameraStreamIndex().then(() => {
|
||||||
this.setState({source: videoApi.getQcameraStreamIndexUrl()});
|
this.setState({source: videoApi.getQcameraStreamIndexUrl() + `?s=${this.props.maxqcamera}`});
|
||||||
}).catch(() => {
|
}).catch((err) => {
|
||||||
this.setState({source: videoApi.getRearCameraStreamIndexUrl()});
|
console.log(err);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,6 +226,7 @@ export default class RouteVideoSync extends Component {
|
||||||
|
|
||||||
RouteVideoSync.propTypes = {
|
RouteVideoSync.propTypes = {
|
||||||
segment: PropTypes.array.isRequired,
|
segment: PropTypes.array.isRequired,
|
||||||
|
maxqcamera: PropTypes.number,
|
||||||
thumbnails: PropTypes.array,
|
thumbnails: PropTypes.array,
|
||||||
url: PropTypes.string.isRequired,
|
url: PropTypes.string.isRequired,
|
||||||
playing: PropTypes.bool.isRequired,
|
playing: PropTypes.bool.isRequired,
|
||||||
|
|
Loading…
Reference in New Issue