OOVideo.h
1 
9 #import "OOPlayableItem.h"
10 #import "OOContentItem.h"
11 
12 @class OOManagedAdSpot;
13 @class OOPlayerAPIClient;
14 @class OOChannel;
15 @class OOClosedCaptions;
16 @class OOUnbundledVideo;
17 @class SsaiMetadata;
18 
22 @interface OOVideo : OOContentItem <OOPlayableItem> {
23 @protected
24  NSMutableArray *ads;
27  Float64 duration;
28  BOOL live;
29 }
30 
31 @property (readonly, nonatomic) NSMutableArray *ads;
32 @property (readonly, nonatomic) OOClosedCaptions *closedCaptions;
33 @property (readonly, nonatomic) OOChannel *parent;
34 @property (readonly, nonatomic) Float64 duration;
35 @property (readonly, nonatomic) BOOL live;
36 @property (readonly, nonatomic) NSURL *fairplayKeyURL;
37 @property (nonatomic) int retryCount;
38 @property (readonly, nonatomic) NSString *defaultLanguageCode;
44 - (instancetype)initWithUnbundledVideo:(OOUnbundledVideo*)unbundledVideo;
45 
51 - (instancetype)initWithUnbundledStreams:(NSArray*)theStreams ads:(NSArray*)theAds;
52 
60 - (instancetype)initWithDictionary:(NSDictionary *)data
61  embedCode:(NSString *)theEmbedCode
62  api:(OOPlayerAPIClient *)theAPI;
63 
72 - (instancetype)initWithDictionary:(NSDictionary *)data
73  embedCode:(NSString *)theEmbedCode
74  parent:(OOChannel *)theParent
75  api:(OOPlayerAPIClient *)theAPI;
76 
82 - (OOReturnState)updateWithDictionary:(NSDictionary *)data;
83 
89 - (BOOL)updateHighAvailabilityWithDictionary:(NSDictionary *)data;
90 
95 - (OOVideo *)firstVideo;
96 
101 - (OOVideo *)nextVideo;
102 
108 
115 - (OOVideo *)videoFromEmbedCode:(NSString *)embedCode withCurrentItem:(OOVideo *)currentItem;
116 
121 - (BOOL)fetchPlaybackInfo;
122 
126 - (id)fetchPlaybackInfo:(void (^)(BOOL))callback;
127 
128 
133 - (BOOL)hasAds;
134 
139 - (BOOL)hasClosedCaptions;
140 
145 - (void)insertAd:(OOManagedAdSpot *)ad;
146 
151 -(void)filterAds:(NSPredicate*)predicate;
152 
153 -(BOOL)isSsaiEnabled;
154 
155 @end
BOOL fetchPlaybackInfo()
Float64 duration
The OOVideo&#39;s Total Duration (Length)
Definition: OOVideo.h:27
OOVideo * previousVideo()
Get the previous OOVideo for this OOVideo from the parent.
BOOL isSsaiEnabled()
Base class for concrete ad spot implementations.
Definition: OOManagedAdSpot.h:19
BOOL hasAds()
Check if the OOVideo has ads.
Float64 duration()
The total duration (not including Ads) of this OOContentItem.
Definition: OOUnbundledVideo.h:16
NSMutableArray * ads
Definition: OOVideo.h:24
OOVideo * nextVideo()
Get the next OOVideo for this OOVideo from the parent.
BOOL hasClosedCaptions()
Check if the OOVideo has Closed Captions.
An object which represents all closed captions information for the asset.
Definition: OOClosedCaptions.h:10
A single playable content item, such as video.
Definition: OOContentItem.h:20
int retryCount
Keeps track of the number of retries already done for a given error.
Definition: OOVideo.h:37
A OOContentItem which contains other items, representing a single channel as defined in Backlot...
Definition: OOChannel.h:20
OOClosedCaptions * closedCaptions
Definition: OOVideo.h:25
OOChannel * parent
This OOVideo&#39;s parent OOChannel if it exists (could be a OODynamicChannel)
Definition: OOVideo.h:26
NSString * defaultLanguageCode
The OOContentItem&#39;s Default language Code (eng, deu etc.)
Definition: OOVideo.h:38
BOOL live
Whether or not the video is live.
Definition: OOVideo.h:28
NSURL * fairplayKeyURL
If this is an offline Fairplay asset, this is where the Fairplay key is located.
Definition: OOVideo.h:36
OOVideo * firstVideo()
Get the first OOVideo for this OOVideo, which is this OOVideo.
this class implements video stream object
Definition: OOVideo.h:22