Skip to content

Commit

Permalink
update comments
Browse files Browse the repository at this point in the history
  • Loading branch information
changsanjiang committed Oct 21, 2024
1 parent 8d13fc1 commit 9ce4c50
Show file tree
Hide file tree
Showing 48 changed files with 1,155 additions and 913 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

This file was deleted.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

598 changes: 299 additions & 299 deletions Example/Pods/Pods.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -105,20 +105,20 @@ - (void)_setupViews {
- (void)_pauseResumeOrPlay:(SJDemoDownloadRow *)row {
// 这里异步调用, 防止阻塞主线程
dispatch_async(dispatch_get_global_queue(0, 0), ^{
id<MCSAssetExporter> exporter = row.exporter;
id<MCSExporter> exporter = row.exporter;
switch ( exporter.status ) {
case MCSAssetExportStatusUnknown:
case MCSAssetExportStatusFailed:
case MCSAssetExportStatusSuspended:
case MCSExportStatusUnknown:
case MCSExportStatusFailed:
case MCSExportStatusSuspended:
[exporter resume];
break;
case MCSAssetExportStatusWaiting:
case MCSAssetExportStatusExporting:
case MCSExportStatusWaiting:
case MCSExportStatusExporting:
[exporter suspend];
break;
case MCSAssetExportStatusCancelled:
case MCSExportStatusCancelled:
break;
case MCSAssetExportStatusFinished: {
case MCSExportStatusFinished: {
// 下载完成后, 获取播放地址进行播放
dispatch_async(dispatch_get_main_queue(), ^{
NSURL *playbackURL = [SJMediaCacheServer.shared playbackURLWithURL:exporter.URL];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN

@property (nonatomic, copy, nullable) void(^selectedExecuteBlock)(SJDemoDownloadRow *row, NSIndexPath *indexPath);

@property (nonatomic, strong, readonly) id<MCSAssetExporter> exporter;
@property (nonatomic, strong, readonly) id<MCSExporter> exporter;
@property (nonatomic, strong, readonly) NSURL *URL;
@property (nonatomic, strong, readonly) NSString *name;

Expand Down
22 changes: 11 additions & 11 deletions Example/SJMediaCacheServer/Downloads/ViewModel/SJDemoDownloadRow.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#import "SJDemoDownloadRow.h"

@interface SJDemoDownloadRow ()<MCSAssetExportObserver>
@interface SJDemoDownloadRow ()<MCSExportObserver>

@end

Expand Down Expand Up @@ -37,15 +37,15 @@ - (void)dealloc {
[SJMediaCacheServer.shared removeExportObserver:self];
}

#pragma mark - MCSAssetExportObserver
#pragma mark - MCSExportObserver

- (void)exporter:(id<MCSAssetExporter>)exporter statusDidChange:(MCSAssetExportStatus)status {
- (void)exporter:(id<MCSExporter>)exporter statusDidChange:(MCSExportStatus)status {
if ( exporter == _exporter ) {
[self _refreshCell];
}
}

- (void)exporter:(id<MCSAssetExporter>)exporter progressDidChange:(float)progress {
- (void)exporter:(id<MCSExporter>)exporter progressDidChange:(float)progress {
if ( exporter == _exporter ) {
[self _refreshCell];
}
Expand Down Expand Up @@ -78,25 +78,25 @@ - (void)_refreshCell {

NSString *statusStr = nil;
switch ( _exporter.status ) {
case MCSAssetExportStatusUnknown:
case MCSExportStatusUnknown:
statusStr = @"Unknown";
break;
case MCSAssetExportStatusWaiting:
case MCSExportStatusWaiting:
statusStr = @"Waiting";
break;
case MCSAssetExportStatusExporting:
case MCSExportStatusExporting:
statusStr = @"Exporting";
break;
case MCSAssetExportStatusFinished:
case MCSExportStatusFinished:
statusStr = @"Finished(点击播放)";
break;
case MCSAssetExportStatusFailed:
case MCSExportStatusFailed:
statusStr = @"Failed";
break;
case MCSAssetExportStatusSuspended:
case MCSExportStatusSuspended:
statusStr = @"Suspended";
break;
case MCSAssetExportStatusCancelled:
case MCSExportStatusCancelled:
statusStr = @"Cancelled";
break;
}
Expand Down
2 changes: 1 addition & 1 deletion Example/SJMediaCacheServer/SJViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ - (void)_prefetch:(NSURL *)URL {

// progress ...
NSLog(@"prefetch: progress=%f", progress);
} completed:^(NSError * _Nullable error) {
} completion:^(NSError * _Nullable error) {

// complete ...
NSLog(@"prefetch: error: %@", error);
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ pod 'SJMediaCacheServer'
[SJMediaCacheServer.shared prefetchWithURL:URL preloadSize:20 * 1024 * 1024 progress:^(float progress) {
NSLog(@"%lf", progress);
} completed:^(NSError * _Nullable error) {
} completion:^(NSError * _Nullable error) {
NSLog(@"%@", error);
}];
// The task to cancel the current prefetching.
id<MCSPrefetchTask> task = [SJMediaCacheServer.shared prefetchWithURL:URL preloadSize:20 * 1024 * 1024 progress:^(float progress) {
NSLog(@"%lf", progress);
} completed:^(NSError * _Nullable error) {
} completion:^(NSError * _Nullable error) {
NSLog(@"%@", error);
}];
// cancel
Expand Down Expand Up @@ -77,13 +77,13 @@ pod 'SJMediaCacheServer'
///
/// This block will be invoked when the download server receives the data, where you can perform some encoding operations on the data.
///
@property (nonatomic, copy, nullable) NSData *(^writeDataEncoder)(NSURLRequest *request, NSUInteger offset, NSData *data); // 对下载的数据进行编码
@property (nonatomic, copy, nullable) NSData *(^writeDataEncryptor)(NSURLRequest *request, NSUInteger offset, NSData *data); // 对下载的数据进行加密
/// Decode the read data.
///
/// This block will be invoked when the reader reads the data, where you can perform some decoding operations on the data.
///
@property (nonatomic, copy, nullable) NSData *(^readDataDecoder)(NSURLRequest *request, NSUInteger offset, NSData *data); // 对读取的数据进行解码
@property (nonatomic, copy, nullable) NSData *(^readDataDecryptor)(NSURLRequest *request, NSUInteger offset, NSData *data); // 对读取的数据进行解密
@end
Expand Down Expand Up @@ -113,21 +113,21 @@ pod 'SJMediaCacheServer'
///
/// If 0, there is no expiring limit. The default value is 0.
///
@property (nonatomic) NSTimeInterval maxDiskAgeForCache; // 保存时长限制
@property (nonatomic) NSTimeInterval cacheMaxDiskAge; // 保存时长限制
/// The maximum size of the disk cache, in bytes.
///
/// If 0, there is no cache size limit. The default value is 0.
///
@property (nonatomic) NSUInteger maxDiskSizeForCache; // 缓存占用的磁盘空间限制
@property (nonatomic) NSUInteger cacheMaxDiskSize; // 缓存占用的磁盘空间限制
/// The maximum length of free disk space the device should reserved, in bytes.
///
/// When the free disk space of device is less than or equal to this value, some resources will be removed.
///
/// If 0, there is no disk space limit. The default value is 0.
///
@property (nonatomic) NSUInteger reservedFreeDiskSpace; // 剩余磁盘空间限制
@property (nonatomic) NSUInteger cacheReservedFreeDiskSpace; // 剩余磁盘空间限制
/// Empties the cache. This method may blocks the calling thread until file delete finished.
///
Expand Down
2 changes: 1 addition & 1 deletion SJMediaCacheServer/Core/Asset/FILE/FILEAsset.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, readonly) float completeness;

- (nullable id<MCSAssetContent>)createContentReadwriteWithDataType:(MCSDataType)dataType response:(id<MCSDownloadResponse>)response error:(NSError **)error;
- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(nullable id<MCSAssetReaderDelegate>)delegate;
- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(nullable id<MCSAssetReaderDelegate>)delegate;

- (nullable NSString *)filePathForContent:(id<MCSAssetContent>)content;
- (void)enumerateContentNodesUsingBlock:(void(NS_NOESCAPE ^)(FILEAssetContentNode *node, BOOL *stop))block;
Expand Down
4 changes: 2 additions & 2 deletions SJMediaCacheServer/Core/Asset/FILE/FILEAsset.m
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,8 @@ - (float)completeness {
}
}

- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(nullable id<MCSAssetReaderDelegate>)delegate {
return [FILEAssetReader.alloc initWithAsset:self request:request networkTaskPriority:networkTaskPriority readDataDecoder:readDataDecoder delegate:delegate];
- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(nullable id<MCSAssetReaderDelegate>)delegate {
return [FILEAssetReader.alloc initWithAsset:self request:request networkTaskPriority:networkTaskPriority readDataDecryptor:readDataDecryptor delegate:delegate];
}

- (void)clear {
Expand Down
4 changes: 2 additions & 2 deletions SJMediaCacheServer/Core/Asset/FILE/FILEAssetReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
NS_ASSUME_NONNULL_BEGIN

@interface FILEAssetReader : NSObject<MCSAssetReader>
- (instancetype)initWithAsset:(FILEAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(id<MCSAssetReaderDelegate>)delegate;
- (instancetype)initWithAsset:(FILEAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(id<MCSAssetReaderDelegate>)delegate;

- (void)prepare;
@property (nonatomic, readonly) MCSReaderStatus status;
@property (nonatomic, copy, readonly, nullable) NSData *(^readDataDecoder)(NSURLRequest *request, NSUInteger offset, NSData *data);
@property (nonatomic, copy, readonly, nullable) NSData *(^readDataDecryptor)(NSURLRequest *request, NSUInteger offset, NSData *data);
@property (nonatomic, weak, readonly, nullable) id<MCSAssetReaderDelegate> delegate;
@property (nonatomic, strong, readonly, nullable) id<MCSAsset> asset;
@property (nonatomic, readonly) float networkTaskPriority;
Expand Down
8 changes: 4 additions & 4 deletions SJMediaCacheServer/Core/Asset/FILE/FILEAssetReader.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ @interface FILEAssetReader ()<MCSAssetContentReaderDelegate, MCSAssetObserver> {
UInt64 mReadLength;
id<MCSResponse> mResponse;
__weak id<MCSAssetReaderDelegate> mDelegate;
NSData *(^mReadDataDecoder)(NSURLRequest *request, NSUInteger offset, NSData *data);
NSData *(^mReadDataDecryptor)(NSURLRequest *request, NSUInteger offset, NSData *data);
float mNetworkTaskPriority;
NSRange mFixedRange;
}
Expand All @@ -34,14 +34,14 @@ @interface FILEAssetReader ()<MCSAssetContentReaderDelegate, MCSAssetObserver> {
@end

@implementation FILEAssetReader
- (instancetype)initWithAsset:(FILEAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(id<MCSAssetReaderDelegate>)delegate {
- (instancetype)initWithAsset:(FILEAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(id<MCSAssetReaderDelegate>)delegate {
self = [super init];
if ( self ) {
mAsset = asset;
mRequest = [request restoreOriginalRequest];
mDelegate = delegate;
mNetworkTaskPriority = networkTaskPriority;
mReadDataDecoder = readDataDecoder;
mReadDataDecryptor = readDataDecryptor;
mCurrentReaderIndex = NSNotFound;
mFixedRange = MCSNSRangeUndefined;
[mAsset readwriteRetain];
Expand Down Expand Up @@ -102,7 +102,7 @@ - (nullable NSData *)readDataOfLength:(NSUInteger)length {
data = [currentReader readDataOfLength:length];
if ( data == nil || data.length == 0 ) return nil;
NSUInteger readLength = data.length;
if ( mReadDataDecoder != nil ) data = mReadDataDecoder(mRequest, mContentReaders.firstObject.range.location + mReadLength, data);
if ( mReadDataDecryptor != nil ) data = mReadDataDecryptor(mRequest, mContentReaders.firstObject.range.location + mReadLength, data);
mReadLength += readLength;
}

Expand Down
3 changes: 2 additions & 1 deletion SJMediaCacheServer/Core/Asset/HLS/HLSAsset.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, copy, readonly) NSString *name;
@property (nonatomic, strong, readonly) id<MCSConfiguration> configuration;
@property (nonatomic, readonly) BOOL isStored;
@property (nonatomic, readonly) float completeness;

@property (nonatomic, copy, nullable) HLSVariantStreamSelectionHandler variantStreamSelectionHandler;
@property (nonatomic, copy, nullable) HLSRenditionSelectionHandler renditionSelectionHandler;
Expand All @@ -26,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic, readonly) NSUInteger segmentsCount;
- (nullable __kindof id<HLSItem>)itemAtIndex:(NSUInteger)index;

- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(nullable id<MCSAssetReaderDelegate>)delegate;
- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(nullable id<MCSAssetReaderDelegate>)delegate;

- (nullable id<MCSAssetContent>)getPlaylistContent; // retained, should release after;
- (nullable id<MCSAssetContent>)createPlaylistContentWithOriginalURL:(NSURL *)originalURL currentURL:(NSURL *)currentURL playlist:(NSData *)rawData error:(out NSError **)error; // retained, should release after;
Expand Down
4 changes: 2 additions & 2 deletions SJMediaCacheServer/Core/Asset/HLS/HLSAsset.m
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,8 @@ - (BOOL)isStored {
}
}

- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(nullable id<MCSAssetReaderDelegate>)delegate {
return [HLSAssetReader.alloc initWithAsset:self request:request networkTaskPriority:networkTaskPriority readDataDecoder:readDataDecoder delegate:delegate];
- (nullable id<MCSAssetReader>)readerWithRequest:(id<MCSRequest>)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(nullable id<MCSAssetReaderDelegate>)delegate {
return [HLSAssetReader.alloc initWithAsset:self request:request networkTaskPriority:networkTaskPriority readDataDecryptor:readDataDecryptor delegate:delegate];
}

- (nullable id<MCSAssetContent>)getPlaylistContent {
Expand Down
4 changes: 2 additions & 2 deletions SJMediaCacheServer/Core/Asset/HLS/HLSAssetReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
NS_ASSUME_NONNULL_BEGIN

@interface HLSAssetReader : NSObject<MCSAssetReader>
- (instancetype)initWithAsset:(__weak HLSAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(id<MCSAssetReaderDelegate>)delegate;
- (instancetype)initWithAsset:(__weak HLSAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(id<MCSAssetReaderDelegate>)delegate;

- (void)prepare;
@property (nonatomic, readonly) MCSReaderStatus status;
@property (nonatomic, copy, readonly, nullable) NSData *(^readDataDecoder)(NSURLRequest *request, NSUInteger offset, NSData *data);
@property (nonatomic, copy, readonly, nullable) NSData *(^readDataDecryptor)(NSURLRequest *request, NSUInteger offset, NSData *data);
@property (nonatomic, weak, readonly, nullable) id<MCSAssetReaderDelegate> delegate;
@property (nonatomic, strong, readonly, nullable) id<MCSAsset> asset;
@property (nonatomic, readonly) float networkTaskPriority;
Expand Down
10 changes: 5 additions & 5 deletions SJMediaCacheServer/Core/Asset/HLS/HLSAssetReader.m
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,17 @@ @interface HLSAssetReader ()<MCSAssetContentReaderDelegate, MCSAssetObserver> {
@end

@implementation HLSAssetReader
@synthesize readDataDecoder = _readDataDecoder;
@synthesize readDataDecryptor = _readDataDecryptor;
@synthesize response = _response;

- (instancetype)initWithAsset:(__weak HLSAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecoder:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecoder delegate:(id<MCSAssetReaderDelegate>)delegate {
- (instancetype)initWithAsset:(__weak HLSAsset *)asset request:(MCSRequest *)request networkTaskPriority:(float)networkTaskPriority readDataDecryptor:(NSData *(^_Nullable)(NSURLRequest *request, NSUInteger offset, NSData *data))readDataDecryptor delegate:(id<MCSAssetReaderDelegate>)delegate {
self = [super init];
if ( self ) {
mAsset = asset;
mRequest = [request restoreOriginalRequest];
mDataType = [MCSURL.shared dataTypeForHLSProxyURL:request.proxyRequest.URL];
_networkTaskPriority = networkTaskPriority;
_readDataDecoder = readDataDecoder;
_readDataDecryptor = readDataDecryptor;
_delegate = delegate;
[mAsset readwriteRetain];
[mAsset registerObserver:self];
Expand Down Expand Up @@ -133,8 +133,8 @@ - (NSData *)readDataOfLength:(NSUInteger)length {
NSUInteger position = mReader.offset;
data = [mReader readDataOfLength:length];
mOffset = mReader.offset;
if ( data != nil && _readDataDecoder != nil ) {
data = _readDataDecoder(mRequest, position, data);
if ( data != nil && _readDataDecryptor != nil ) {
data = _readDataDecryptor(mRequest, position, data);
}
return data;
}
Expand Down
2 changes: 1 addition & 1 deletion SJMediaCacheServer/Core/Asset/MCSAssetManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
///
/// This block will be invoked when the reader reads the data, where you can perform some decoding operations on the data.
///
@property (nonatomic, copy, nullable) NSData *(^readDataDecoder)(NSURLRequest *request, NSUInteger offset, NSData *data);
@property (nonatomic, copy, nullable) NSData *(^readDataDecryptor)(NSURLRequest *request, NSUInteger offset, NSData *data);

- (nullable id<MCSAssetReader>)readerWithRequest:(NSURLRequest *)proxyRequest networkTaskPriority:(float)networkTaskPriority delegate:(nullable id<MCSAssetReaderDelegate>)delegate;

Expand Down
Loading

0 comments on commit 9ce4c50

Please sign in to comment.