Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions JPVideoPlayer/JPVideoPlayerCacheFile.m
Original file line number Diff line number Diff line change
Expand Up @@ -127,26 +127,28 @@ - (BOOL)isEOF {

- (void)mergeRangesIfNeed {
JPMainThreadAssert;
BOOL isMerge = NO;
for (int i = 0; i < self.internalFragmentRanges.count; ++i) {
if ((i + 1) < self.internalFragmentRanges.count) {
NSRange currentRange = [self.internalFragmentRanges[i] rangeValue];
NSRange nextRange = [self.internalFragmentRanges[i + 1] rangeValue];
if (JPRangeCanMerge(currentRange, nextRange)) {
[self.internalFragmentRanges removeObjectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(i, 2)]];
[self.internalFragmentRanges insertObject:[NSValue valueWithRange:NSUnionRange(currentRange, nextRange)] atIndex:i];
i -= 1;
isMerge = YES;
@synchronized (self.internalFragmentRanges) {
BOOL isMerge = NO;
for (int i = 0; i < self.internalFragmentRanges.count; ++i) {
if ((i + 1) < self.internalFragmentRanges.count) {
NSRange currentRange = [self.internalFragmentRanges[i] rangeValue];
NSRange nextRange = [self.internalFragmentRanges[i + 1] rangeValue];
if (JPRangeCanMerge(currentRange, nextRange)) {
[self.internalFragmentRanges removeObjectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(i, 2)]];
[self.internalFragmentRanges insertObject:[NSValue valueWithRange:NSUnionRange(currentRange, nextRange)] atIndex:i];
i -= 1;
isMerge = YES;
}
}
}
if(isMerge){
NSString *string = @"";
for(NSValue *rangeValue in self.internalFragmentRanges){
NSRange range = [rangeValue rangeValue];
string = [string stringByAppendingString:[NSString stringWithFormat:@"%@; ", NSStringFromRange(range)]];
}
/// JPDebugLog(@"合并后已缓存区间: %@", string);
}
if(isMerge){
NSString *string = @"";
for(NSValue *rangeValue in self.internalFragmentRanges){
NSRange range = [rangeValue rangeValue];
string = [string stringByAppendingString:[NSString stringWithFormat:@"%@; ", NSStringFromRange(range)]];
}
/// JPDebugLog(@"合并后已缓存区间: %@", string);
}
}

Expand Down