BMPPlayerListener

Objective-C

@protocol BMPPlayerListener <NSObject>

Swift

protocol PlayerListener : NSObjectProtocol

Defines listener methods for all events available for the Player

  • Called when the player is ready for immediate playback, because initial audio/video has been downloaded.

    Declaration

    Objective-C

    - (void)onReady:(nonnull BMPReadyEvent *)event
             player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player received an intention to start/resume playback.

    Declaration

    Objective-C

    - (void)onPlay:(nonnull BMPPlayEvent *)event
            player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when playback has been started.

    Declaration

    Objective-C

    - (void)onPlaying:(nonnull BMPPlayingEvent *)event
               player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player enters the pause state.

    Declaration

    Objective-C

    - (void)onPaused:(nonnull BMPPausedEvent *)event
              player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the current playback time has changed.

    Declaration

    Objective-C

    - (void)onTimeChanged:(nonnull BMPTimeChangedEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the duration of the current played media has changed.

    Declaration

    Objective-C

    - (void)onDurationChanged:(nonnull BMPDurationChangedEvent *)event
                       player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player is about to seek to a new position. Only applies to VoD streams.

    Declaration

    Objective-C

    - (void)onSeek:(nonnull BMPSeekEvent *)event
            player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when seeking has been finished and data is available to continue playback.

    Only applies to VoD streams.

    Declaration

    Objective-C

    - (void)onSeeked:(nonnull BMPSeekedEvent *)event
              player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player is about to time-shift to a new position. Only applies to Live streams.

    Declaration

    Objective-C

    - (void)onTimeShift:(nonnull BMPTimeShiftEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when time shifting has been finished and data is available to continue playback. Only applies to live streams, please refer to onSeeked for VoD streams.

    Declaration

    Objective-C

    - (void)onTimeShifted:(nonnull BMPTimeShiftedEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player is paused or in buffering state and the timeShift offset has exceeded the available timeShift window.

    Declaration

    Objective-C

    - (void)onDvrWindowExceeded:(nonnull BMPDvrWindowExceededEvent *)event
                         player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player begins to stall and to buffer due to an empty buffer.

    Declaration

    Objective-C

    - (void)onStallStarted:(nonnull BMPStallStartedEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player ends stalling, due to enough data in the buffer.

    Declaration

    Objective-C

    - (void)onStallEnded:(nonnull BMPStallEndedEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the current size of the video content has been changed.

    Declaration

    Objective-C

    - (void)onVideoSizeChanged:(nonnull BMPVideoSizeChangedEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of the current media has finished.

    Declaration

    Objective-C

    - (void)onPlaybackFinished:(nonnull BMPPlaybackFinishedEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Deprecated

    As this event is never emitted it will be removed in the future

    Called when the first frame of the current video is rendered onto the video surface.

    Declaration

    Objective-C

    - (void)onRenderFirstFrame:(nonnull BMPRenderFirstFrameEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a player error is encountered.

    Declaration

    Objective-C

    - (void)onPlayerError:(nonnull BMPPlayerErrorEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a source error is encountered.

    Declaration

    Objective-C

    - (void)onSourceError:(nonnull BMPSourceErrorEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a player warning occurs.

    Declaration

    Objective-C

    - (void)onPlayerWarning:(nonnull BMPPlayerWarningEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a source warning occurs.

    Declaration

    Objective-C

    - (void)onSourceWarning:(nonnull BMPSourceWarningEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when loading of a new source started. This does not mean that loading of the new manifest has been finished.

    Declaration

    Objective-C

    - (void)onSourceLoad:(nonnull BMPSourceLoadEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a new source is loaded. This does not mean that loading of the new manifest has been finished.

    Declaration

    Objective-C

    - (void)onSourceLoaded:(nonnull BMPSourceLoadedEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the current source will be unloaded.

    Declaration

    Objective-C

    - (void)onSourceUnload:(nonnull BMPSourceUnloadEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the current source has been unloaded.

    Declaration

    Objective-C

    - (void)onSourceUnloaded:(nonnull BMPSourceUnloadedEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player was destroyed.

    Declaration

    Objective-C

    - (void)onDestroy:(nonnull BMPDestroyEvent *)event
               player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when metadata (i.e. ID3 tags in HLS and EMSG in DASH) are encountered.

    Declaration

    Objective-C

    - (void)onMetadata:(nonnull BMPMetadataEvent *)event
                player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when metadata is parsed.

    Declaration

    Objective-C

    - (void)onMetadataParsed:(nonnull BMPMetadataParsedEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when casting to another device, such as a ChromeCast, is available.

    Declaration

    Objective-C

    - (void)onCastAvailable:(nonnull BMPCastAvailableEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback on a cast device has been paused.

    Declaration

    Objective-C

    - (void)onCastPaused:(nonnull BMPCastPausedEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback on a cast device has been finished.

    Declaration

    Objective-C

    - (void)onCastPlaybackFinished:(nonnull BMPCastPlaybackFinishedEvent *)event
                            player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when playback on a cast device has been started.

    Declaration

    Objective-C

    - (void)onCastPlaying:(nonnull BMPCastPlayingEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the cast app is launched successfully.

    Declaration

    Objective-C

    - (void)onCastStarted:(nonnull BMPCastStartedEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when casting is initiated, but the user still needs to choose which device should be used.

    Declaration

    Objective-C

    - (void)onCastStart:(nonnull BMPCastStartEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when casting to a device is stopped.

    Declaration

    Objective-C

    - (void)onCastStopped:(nonnull BMPCastStoppedEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the time update from the currently used cast device is received.

    Declaration

    Objective-C

    - (void)onCastTimeUpdated:(nonnull BMPCastTimeUpdatedEvent *)event
                       player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a cast device has been chosen and player is waiting for the device to get ready for playback.

    Declaration

    Objective-C

    - (void)onCastWaitingForDevice:(nonnull BMPCastWaitingForDeviceEvent *)event
                            player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a sideloaded subtitle cue has been parsed.

    Declaration

    Objective-C

    - (void)onCueParsed:(nonnull BMPCueParsedEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a subtitle entry transitions into the active status.

    Declaration

    Objective-C

    - (void)onCueEnter:(nonnull BMPCueEnterEvent *)event
                player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an active subtitle entry transitions into the inactive status.

    Declaration

    Objective-C

    - (void)onCueExit:(nonnull BMPCueExitEvent *)event
               player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a new BMPSubtitleTrack is added, for example using the BMPPlayer#addSubtitle: call.

    Declaration

    Objective-C

    - (void)onSubtitleAdded:(nonnull BMPSubtitleAddedEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an external BMPSubtitleTrack has been removed so it is possible to update the controls accordingly.

    Declaration

    Objective-C

    - (void)onSubtitleRemoved:(nonnull BMPSubtitleRemovedEvent *)event
                       player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the active BMPSubtitleTrack is changed.

    Declaration

    Objective-C

    - (void)onSubtitleChanged:(nonnull BMPSubtitleChangedEvent *)event
                       player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player is muted.

    Declaration

    Objective-C

    - (void)onMuted:(nonnull BMPMutedEvent *)event
             player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player is unmuted.

    Declaration

    Objective-C

    - (void)onUnmuted:(nonnull BMPUnmutedEvent *)event
               player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an audio track is added.

    Declaration

    Objective-C

    - (void)onAudioAdded:(nonnull BMPAudioAddedEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an audio track is removed.

    Declaration

    Objective-C

    - (void)onAudioRemoved:(nonnull BMPAudioRemovedEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the audio track is changed.

    Declaration

    Objective-C

    - (void)onAudioChanged:(nonnull BMPAudioChangedEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of an ad has been started.

    Declaration

    Objective-C

    - (void)onAdStarted:(nonnull BMPAdStartedEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of an ad has been finished.

    Declaration

    Objective-C

    - (void)onAdFinished:(nonnull BMPAdFinishedEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of an ad has progressed over a quartile boundary.

    Declaration

    Objective-C

    - (void)onAdQuartile:(nonnull BMPAdQuartileEvent *)event
                  player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of an ad break has been started.

    Declaration

    Objective-C

    - (void)onAdBreakStarted:(nonnull BMPAdBreakStartedEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the playback of an ad break has been finished.

    Declaration

    Objective-C

    - (void)onAdBreakFinished:(nonnull BMPAdBreakFinishedEvent *)event
                       player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an ad manifest was successfully downloaded and parsed and the ad has been added onto the queue.

    Declaration

    Objective-C

    - (void)onAdScheduled:(nonnull BMPAdScheduledEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when an ad has been skipped.

    Declaration

    Objective-C

    - (void)onAdSkipped:(nonnull BMPAdSkippedEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the user clicks on the ad.

    Declaration

    Objective-C

    - (void)onAdClicked:(nonnull BMPAdClickedEvent *)event
                 player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when ad playback fails.

    Declaration

    Objective-C

    - (void)onAdError:(nonnull BMPAdErrorEvent *)event
               player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the download of an ad manifest is starting.

    Declaration

    Objective-C

    - (void)onAdManifestLoad:(nonnull BMPAdManifestLoadEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the ad manifest has been successfully loaded.

    Declaration

    Objective-C

    - (void)onAdManifestLoaded:(nonnull BMPAdManifestLoadedEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the current video download quality has changed.

    Declaration

    Objective-C

    - (void)onVideoDownloadQualityChanged:
                (nonnull BMPVideoDownloadQualityChangedEvent *)event
                                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a web download request has finished.

    Declaration

    Objective-C

    - (void)onDownloadFinished:(nonnull BMPDownloadFinishedEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when AirPlay playback starts or stops.

    Declaration

    Objective-C

    - (void)onAirPlayChanged:(nonnull BMPAirPlayChangedEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when AirPlay is available.

    Declaration

    Objective-C

    - (void)onAirPlayAvailable:(nonnull BMPAirPlayAvailableEvent *)event
                        player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a source config is loaded which has metadata attached or when setSourceMetadata: is called on the player.

    Declaration

    Objective-C

    - (void)onSourceMetadataChanged:(nonnull BMPSourceMetadataChangedEvent *)event
                             player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a source was loaded into the Player. Seeking and time shifting is allowed as soon as this event is seen.

    Declaration

    Objective-C

    - (void)onPlayerActive:(nonnull BMPPlayerActiveEvent *)event
                    player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when DRM data is found in a downloaded manifest file. TweaksConfig.nativeHlsParsingEnabled needs to be set to true to receive those events.

    Declaration

    Objective-C

    - (void)onDrmDataParsed:(nonnull BMPDrmDataParsedEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the Player was unloaded.

    Declaration

    Objective-C

    - (void)onPlayerInactive:(nonnull BMPPlayerInactiveEvent *)event
                      player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player transitions between two sources in a playlist.

    Declaration

    Objective-C

    - (void)onPlaylistTransition:(nonnull BMPPlaylistTransitionEvent *)event
                          player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when the player transitions from one playback speed to another.

    Declaration

    Objective-C

    - (void)onPlaybackSpeedChanged:(nonnull BMPPlaybackSpeedChangedEvent *)event
                            player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a new Source was added to a playlist.

    Declaration

    Objective-C

    - (void)onSourceAdded:(nonnull BMPSourceAddedEvent *)event
                   player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called when a Source was removed from a playlist.

    Declaration

    Objective-C

    - (void)onSourceRemoved:(nonnull BMPSourceRemovedEvent *)event
                     player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    An object holding specific event data.

    player

    The player instance which is associated with the emitted event

  • Called for each occurring player event.

    Declaration

    Objective-C

    - (void)onEvent:(nonnull id<BMPEvent>)event
             player:(nonnull id<BMPPlayer>)player;

    Parameters

    event

    The player event. Use event.name or [event isKindOfClass:] to check the specific event type.

    player

    The player instance which is associated with the emitted event