Latest 0.2.1
Homepage https://github.com/vdugnist/DVAssetLoaderDelegate
License MIT
Platforms ios 9.0
Frameworks AVFoundation, MobileCoreServices
Authors

Version
License
Platform

Description

With DVAssetLoaderDelegate you can implement caching data downloaded by AVPlayer for AVURLAsset. DVAssetLoaderDelegate provides you delegate method you can use to save downloaded data:

- (void)dvAssetLoaderDelegate:(DVAssetLoaderDelegate *)resourceLoader
                  didLoadData:(NSData *)data
                       forURL:(NSURL *)url;

For other methods check DVAssetLoaderDelegatesDelegate.h.

Usage

Easy way (subclassing AVURLAsset)

  1. Create DVURLAsset.
  2. Implement DVURLAsset‘s loaderDelegate.

Manual way (without subclassing)

  1. Create DVAssetLoaderDelegate object using URL for AVURLAsset.
  2. Set DVAssetLoaderDelegate delegate for receiving cache data.
  3. Before creating AVURLAsset, change URL scheme to [DVAssetLoaderDelegate scheme].
  4. Create AVURLAsset with URL with updated scheme.
  5. Set AVURLAsset‘s resource loader delegate to created DVAssetLoaderDelegate object.
NSURL *URL = ...;

DVAssetLoaderDelegate *resourceLoaderDelegate = [[DVAssetLoaderDelegate alloc] initWithURL:URL];
resourceLoaderDelegate.delegate = self;

NSURLComponents *components = [[NSURLComponents alloc] initWithURL:URL resolvingAgainstBaseURL:NO];
components.scheme = [DVAssetLoaderDelegate scheme];

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[components URL] options:options];
[asset.resourceLoader setDelegate:resourceLoaderDelegate queue:dispatch_get_main_queue()];

Installation

DVAssetLoaderDelegate is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'DVAssetLoaderDelegate'

Author

vdugnist, [email protected]

License

DVAssetLoaderDelegate is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "DVAssetLoaderDelegate",
    "version": "0.2.1",
    "summary": "Delegate for loading resources for AVAsset.",
    "description": "This pod can help you play and cache AVAsset data with one request.",
    "homepage": "https://github.com/vdugnist/DVAssetLoaderDelegate",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "vdugnist": "[email protected]"
    },
    "source": {
        "git": "https://github.com/vdugnist/DVAssetLoaderDelegate.git",
        "tag": "0.2.1"
    },
    "social_media_url": "https://fb.com/vdugnist",
    "platforms": {
        "ios": "9.0"
    },
    "source_files": "DVAssetLoaderDelegate/Classes/**/*",
    "frameworks": [
        "AVFoundation",
        "MobileCoreServices"
    ]
}

Pin It on Pinterest

Share This