I'm doing the following:
- Create a new
AVAsset
with a given URL. That URL points to a video on a remote web server. - Attempt to load the
tracks
property by callingloadValuesAsynchronouslyForKeys:completionHandler:
- The initial request fails, because no internet connection exists
- I notice that the request failed by calling
statusOfValueForKey:error:
- I then wait for the connection to re-appear (using some reachability code). As soon as it does, I call
loadValuesAsynchronouslyForKeys:completionHandler:
again.
Here's where the problems begin. I would imagine that the AVAsset
goes ahead and attempts to reload the tracks property since it failed previously. However, this does not seem to happen. statusOfValueForKey:error:
will still return AVKeyValueStatusFailed
, although a working internet connection is available and the video is playable.
Is there a way to reset the state for this given property and to attempt another load? Is there another way to work around this?