parser-java/kvs-archived-media-parallel-processing-image-rekognition-sample/src/main/java/com/amazonaws/kinesisvideo/KinesisVideoArchivedParallelProcessingExample.java [95:129]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public List<TimestampRange> partitionTimeRange(TimestampRange timestampRange) throws ParseException {
        List<TimestampRange> timestampRanges = new ArrayList<>();


        Date startDate = timestampRange.getStartTimestamp();
        Date endDate = timestampRange.getEndTimestamp();

        /* Time between two timestamps in milliseconds */
        long timespan = (endDate.getTime() - startDate.getTime());
        long taskTimeSlice = timespan / tasks;

        long startTime = startDate.getTime();
        long endTime = endDate.getTime();

        long taskStart = startTime;
        long taskEnd = startTime + taskTimeSlice;

        while (taskStart <= endTime) {

            TimestampRange taskTimestampRange = new TimestampRange();

            Date threadStartDate = new Date(taskStart);
            Date threadEndDate = new Date(taskEnd);

            taskTimestampRange.setStartTimestamp(threadStartDate);
            taskTimestampRange.setEndTimestamp(threadEndDate);

            taskStart = taskEnd + 1;
            taskEnd = Math.min(endTime, taskStart + taskTimeSlice);

            timestampRanges.add(taskTimestampRange);
        }

        return timestampRanges;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



parser-java/label-detection-web-app/src/main/java/com/amazonaws/kinesisvideo/labeldetectionwebapp/kvsservices/GetArchivedMedia.java [110:144]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public List<TimestampRange> partitionTimeRange(TimestampRange timestampRange) throws ParseException {
        List<TimestampRange> timestampRanges = new ArrayList<>();


        Date startDate = timestampRange.getStartTimestamp();
        Date endDate = timestampRange.getEndTimestamp();

        /* Time between two timestamps in milliseconds */
        long timespan = (endDate.getTime() - startDate.getTime());
        long taskTimeSlice = timespan / tasks;

        long startTime = startDate.getTime();
        long endTime = endDate.getTime();

        long taskStart = startTime;
        long taskEnd = startTime + taskTimeSlice;

        while (taskStart <= endTime) {

            TimestampRange taskTimestampRange = new TimestampRange();

            Date threadStartDate = new Date(taskStart);
            Date threadEndDate = new Date(taskEnd);

            taskTimestampRange.setStartTimestamp(threadStartDate);
            taskTimestampRange.setEndTimestamp(threadEndDate);

            taskStart = taskEnd + 1;
            taskEnd = Math.min(endTime, taskStart + taskTimeSlice);

            timestampRanges.add(taskTimestampRange);
        }

        return timestampRanges;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



