BMPSourceItem
Objective-C
@interface BMPSourceItem : NSObject <BMPJsonable>
Swift
class SourceItem : NSObject, BMPJsonable
Represents a source item which can be played back in a player instance.
-
The title of the video source.
Declaration
Objective-C
@property (nonatomic, strong, nullable) NSString *itemTitle;Swift
var itemTitle: String? { get set } -
The description of the video source.
Declaration
Objective-C
@property (nonatomic, strong, nullable) NSString *itemDescription;Swift
var itemDescription: String? { get set } -
The HLS source for this source item. HLS content can easily and for free be generated using Bitmovin’s video encoding solution.
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) BMPHLSSource *hlsSource;Swift
var hlsSource: HLSSource? { get } -
The DASH source for this source item which can ONLY be used for remote playback (e.g. Chromecast). DASH content can easily and for free be generated using Bitmovin’s video encoding solution.
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) BMPDASHSource *dashSource;Swift
var dashSource: DASHSource? { get } -
An array of progressive multimedia sources which are used as fallback when no HLS source is set.
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) NSArray<BMPProgressiveSource *> *progressiveSources;Swift
var progressiveSources: [ProgressiveSource]? { get } -
The URL to a preview image displayed until the video starts.
Declaration
Objective-C
@property (nonatomic, strong, nullable) NSURL *posterSource;Swift
var posterSource: URL? { get set } -
Indicates whether to show the poster image during playback. Useful, for example, for audio-only streams.
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite, getter=isPosterPersistent) BOOL persistentPoster;Swift
var isPosterPersistent: Bool { get set } -
Configuration for audio and subtitle track labels.
Declaration
Objective-C
@property (nonatomic, strong, nonnull) BMPLabelingConfiguration *labelingConfiguration;Swift
var labelingConfiguration: LabelingConfiguration { get set } -
The DRM configuration for the main source.
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) NSArray<BMPDRMConfiguration *> *drmConfigurations;Swift
var drmConfigurations: [DRMConfiguration]? { get } -
An array of timed data, such as thumbnail- or subtitle tracks.
Declaration
Objective-C
@property (nonatomic, copy, readonly, nonnull) NSArray<BMPTrack *> *tracks;Swift
var tracks: [Track] { get } -
The thumbnail track for this source item
Declaration
Objective-C
@property (nonatomic, strong, nullable) BMPThumbnailTrack *thumbnailTrack;Swift
var thumbnailTrack: ThumbnailTrack? { get set } -
Holds metadata for this source item. This data can be used by the player UI to display additional information about the currently played source.
When objects of type AVMetadataItem are passed as values to the metadata dictionary, they are set as externalMetadata on the AVPlayerItem on tvOS.
When SourceItem is used for GoogleCast with V3 receiver, all values must be an instance of NSString.
See
BMPMetadataIdentifierfor more supported attributes.Declaration
Objective-C
@property (nonatomic, copy) NSMutableDictionary<NSString *, id<NSObject, NSCopying>> *_Nonnull metadata;Swift
@NSCopying var metadata: NSMutableDictionary { get set } -
An object specifying advanced source specific options.
Declaration
Objective-C
@property (nonatomic, strong, nullable) BMPSourceOptions *options;Swift
var options: SourceOptions? { get set } -
Creates a new BMPSourceItem based on the given source URL.
Declaration
Objective-C
- (nullable instancetype)initWithUrl:(nonnull NSURL *)url;Swift
init?(url: URL)Parameters
urlThe URL for the media source.
Return Value
A new source item initialized with the given URL, or nil on failure.
-
Creates a new BMPSourceItem based on the given adaptive source.
Declaration
Objective-C
- (nullable instancetype)initWithAdaptiveSource: (nonnull BMPAdaptiveSource *)adaptiveSource;Swift
init?(adaptiveSource: AdaptiveSource)Parameters
adaptiveSourceThe adaptive source for the source configuration.
Return Value
A new source item initialized with the given adaptive source, or nil on failure.
-
Creates a new BMPSourceItem based on the given HLS source.
Declaration
Objective-C
- (nonnull instancetype)initWithHLSSource:(nonnull BMPHLSSource *)hlsSource;Swift
init(hlsSource: HLSSource)Parameters
hlsSourceThe HLS source for this source configuration.
Return Value
A new source item initialized with the given HLS source.
-
Creates a new BMPSourceItem based on the given DASH source.
Declaration
Objective-C
- (nonnull instancetype)initWithDASHSource:(nonnull BMPDASHSource *)dashSource;Swift
init(dashSource: DASHSource)Parameters
dashSourceThe DASH source for this source configuration.
Return Value
A new source item initialized with the given DASH source.
-
Creates a new BMPSourceItem based on the given progressive source.
Declaration
Objective-C
- (nonnull instancetype)initWithProgressiveSource: (nonnull BMPProgressiveSource *)progressiveSource;Swift
init(progressiveSource: ProgressiveSource)Parameters
progressiveSourceThe progressive source for this source configuration.
Return Value
A new source item initialized with the given progressive source.
-
Creates a new BMPSourceItem based on the given progressive sources.
Declaration
Objective-C
- (nonnull instancetype)initWithProgressiveSources: (nonnull NSArray<BMPProgressiveSource *> *)progressiveSources;Swift
init(progressiveSources: [ProgressiveSource])Parameters
progressiveSourcesThe progressive sources for this source configuration.
Return Value
A new source item initialized with the given progressive sources.
-
Returns the stream URL for the given media source type. Possible parameter values are defined in BMPMediaSourceType.h.
Declaration
Objective-C
- (nullable NSURL *)urlForType:(BMPMediaSourceType)type;Swift
func url(forType type: BMPMediaSourceType) -> URL?Parameters
typeThe media source type to get the URL for.
Return Value
The URL for the given media source type or nil if an invalid type was passed.
-
Returns the BMPDRMConfiguration for the given DRM scheme. Possible parameter values are defined in BMPDRMSystems.h.
Declaration
Objective-C
- (nullable BMPDRMConfiguration *)drmConfigurationForDRMScheme: (nonnull NSUUID *)uuid;Swift
func drmConfigurationForDRMScheme(uuid: UUID) -> DRMConfiguration?Parameters
uuidThe UUID of the corresponding DRM scheme.
Return Value
The BMPDRMConfiguration for the given UUID or nil if an invalid UUID was passed.
-
Adds a given BMPDRMConfiguration to this source item.
Declaration
Objective-C
- (void)addDRMConfiguration:(nonnull BMPDRMConfiguration *)drmConfiguration;Swift
func add(drmConfiguration: DRMConfiguration)Parameters
drmConfigurationThe BMPDRMConfiguration to add.
-
Indicates whether this source item contains a source for the given media source type. Possible parameter values are defined in BMPMediaSourceType.h.
Declaration
Objective-C
- (BOOL)hasSourceOfType:(BMPMediaSourceType)type;Swift
func hasSource(ofType type: BMPMediaSourceType) -> BoolParameters
typeThe media source type to check.
Return Value
YES if a source for the given type is set, NO otherwise.
-
Tries to a add a new media source for the given URL.
Note
If an invalid URL was passed or media source for the URL cannot be identified, this method will fail.
Declaration
Objective-C
- (BOOL)addSource:(nonnull NSURL *)url error:(NSError *_Nullable *_Nullable)error;Swift
func add(sourceUrl url: URL) throwsParameters
urlThe URL of the media source to add.
errorA pointer to an error object for receiving information about any problems that occurred when adding the source.
Return Value
YES if the media source was added correctly, NO otherwise.
-
Tries to add a given adaptive source to this source item.
Note
If an adaptive source gets added and a source for the according type is already set, this method will fail. For example, adding a HLS source altough already set.
Declaration
Objective-C
- (BOOL)addAdaptiveSource:(nonnull BMPAdaptiveSource *)adaptiveSource error:(NSError *_Nullable *_Nullable)error;Swift
func add(adaptiveSource: AdaptiveSource) throwsParameters
adaptiveSourceThe adaptive source to add.
errorA pointer to an error object for receiving information about any problems that occurred when adding the source.
Return Value
YES if the adaptive source was added correctly, NO otherwise.
-
Tries to add a given progressive source to this source item.
Note
If an progressive source gets added and there are already progressive sources set, this method will fail. If you want to add multiple progressive source at a time, use #addProgressiveSources:error.
Declaration
Objective-C
- (BOOL)addProgressiveSource:(nonnull BMPProgressiveSource *)progressiveSource error:(NSError *_Nullable *_Nullable)error;Swift
func add(progressiveSource: ProgressiveSource) throwsParameters
progressiveSourceThe progressive source to add.
errorA pointer to an error object for receiving information about any problems that occurred when adding the source.
Return Value
YES if the progressive source was added correctly, NO otherwise.
-
Tries to add the given progressive sources to this source item.
Note
If progressive sources get added and there are already progressive sources set, this method will fail.
Declaration
Objective-C
- (BOOL)addProgressiveSources: (nonnull NSArray<BMPProgressiveSource *> *)progressiveSources error:(NSError *_Nullable *_Nullable)error;Swift
func add(progressiveSources: [ProgressiveSource]) throwsParameters
progressiveSourcesThe progressive sources to add.
errorA pointer to an error object for receiving information about any problems that occurred when adding the sources.
Return Value
YES if the adaptive source was added correctly, NO otherwise.
-
Can be used to add external subtitles to this source item.
Note
Subtitles which are added using this method are only supported in combination with our Bitmovin UI or for source items which are loaded into a Chromecast session.
Declaration
Objective-C
- (void)addSubtitleTrack:(nonnull BMPSubtitleTrack *)subtitleTrack;Swift
func add(subtitleTrack: SubtitleTrack)Parameters
subtitleTrackThe subtitle track to add.
BMPSourceItem Class Reference