Skip to content

Commit

Permalink
Remove the need for segment info in routes API response
Browse files Browse the repository at this point in the history
  • Loading branch information
marcellofuschi committed Jul 2, 2024
1 parent 2990be8 commit 47a842f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
22 changes: 11 additions & 11 deletions src/actions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,25 +54,25 @@ export function checkRoutesData() {
}

const routes = routesData.map((r) => {
let startTime = r.segment_start_times[0];
let endTime = r.segment_end_times[r.segment_end_times.length - 1];

// TODO: these will all be relative times soon
// fix segment boundary times for routes that have the wrong time at the start
if ((Math.abs(r.start_time_utc_millis - startTime) > 24 * 60 * 60 * 1000)
&& (Math.abs(r.end_time_utc_millis - endTime) < 10 * 1000)) {
startTime = r.start_time_utc_millis;
endTime = r.end_time_utc_millis;
r.segment_start_times = r.segment_numbers.map((x) => startTime + (x * 60 * 1000));
r.segment_end_times = r.segment_numbers.map((x) => Math.min(startTime + ((x + 1) * 60 * 1000), endTime));
const startTime = r.start_time_utc_millis;
const endTime = r.end_time_utc_millis;

const segmentStartTimes = [];
const segmentEndTimes = [];
for (let i = 0; i < Math.ceil((endTime - startTime) / (60*1000)); i++) {
segmentStartTimes[i] = r.start_time_utc_millis + i*60*1000;
segmentEndTimes[i] = segmentStartTimes[i] + 60*1000;
}

return {
...r,
url: r.url.replace('chffrprivate.blob.core.windows.net', 'chffrprivate.azureedge.net'),
log_id: r.fullname.split('|')[1],
duration: endTime - startTime,
start_time_utc_millis: startTime,
end_time_utc_millis: endTime,
segment_start_times: segmentStartTimes,
segment_end_times: segmentEndTimes,
};
}).sort((a, b) => {
return b.create_time - a.create_time;
Expand Down
17 changes: 8 additions & 9 deletions src/components/DriveView/Media.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -372,11 +372,11 @@ class Media extends Component {

const uploading = {};
const adjusted_start_time = currentRoute.start_time_utc_millis + loop.startTime;
for (let i = 0; i < currentRoute.segment_numbers.length; i++) {
if (currentRoute.segment_start_times[i] < adjusted_start_time + loop.duration
&& currentRoute.segment_end_times[i] > adjusted_start_time) {
for (let segmentIdx = 0; segmentIdx < currentRoute.segment_start_times.length; segmentIdx++) {
if (currentRoute.segment_start_times[segmentIdx] < adjusted_start_time + loop.duration
&& currentRoute.segment_end_times[segmentIdx] > adjusted_start_time) {
types.forEach((type) => {
const fileName = `${currentRoute.fullname}--${currentRoute.segment_numbers[i]}/${type}`;
const fileName = `${currentRoute.fullname}--${segmentIdx}/${type}`;
if (!files[fileName]) {
uploading[fileName] = { requested: true };
}
Expand All @@ -399,13 +399,12 @@ class Media extends Component {
_uploadStats(types, count, uploaded, uploading, paused, requested) {
const { currentRoute, loop, files } = this.props;
const adjusted_start_time = currentRoute.start_time_utc_millis + loop.startTime;

for (let i = 0; i < currentRoute.segment_numbers.length; i++) {
if (currentRoute.segment_start_times[i] < adjusted_start_time + loop.duration
&& currentRoute.segment_end_times[i] > adjusted_start_time) {
for (let segmentIdx = 0; segmentIdx < currentRoute.segment_start_times.length; segmentIdx++) {
if (currentRoute.segment_start_times[segmentIdx] < adjusted_start_time + loop.duration
&& currentRoute.segment_end_times[segmentIdx] > adjusted_start_time) {
for (let j = 0; j < types.length; j++) {
count += 1;
const log = files[`${currentRoute.fullname}--${currentRoute.segment_numbers[i]}/${types[j]}`];
const log = files[`${currentRoute.fullname}--${segmentIdx}/${types[j]}`];
if (log) {
uploaded += Boolean(log.url || log.notFound);
uploading += Boolean(log.progress !== undefined);
Expand Down

0 comments on commit 47a842f

Please sign in to comment.