Skip to content

Commit 34f69d2

Browse files
committed
Refetch the video before playing in case the saved history is malformed
1 parent 9e68f25 commit 34f69d2

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

iCookTV/VideoPlayerController.swift

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
import UIKit
2828
import AVKit
29+
import Alamofire
30+
import Freddy
2931

3032
class VideoPlayerController: AVPlayerViewController, Trackable {
3133

@@ -73,8 +75,29 @@ class VideoPlayerController: AVPlayerViewController, Trackable {
7375
override func viewDidLoad() {
7476
super.viewDidLoad()
7577
loadingIndicator.startAnimating()
76-
video?.convertToPlayerItemWithCover(coverImage) { [weak self] in
77-
self?.setPlayerItem($0)
78+
79+
guard let id = video?.id else {
80+
setPlayerItem(nil)
81+
return
82+
}
83+
84+
let url = iCookTVKeys.baseAPIURL + "videos/\(id).json"
85+
Alamofire.request(.GET, url).responseJSON { [weak self] response in
86+
guard let data = response.data else {
87+
self?.setPlayerItem(nil)
88+
return
89+
}
90+
91+
do {
92+
let json = try JSON(data: data)
93+
let video = try Video(json: json["data"] ?? nil)
94+
video.convertToPlayerItemWithCover(self?.coverImage) { [weak self] in
95+
self?.setPlayerItem($0)
96+
}
97+
} catch {
98+
Debug.print(error)
99+
self?.setPlayerItem(nil)
100+
}
78101
}
79102
}
80103

0 commit comments

Comments
 (0)