|
|
void | doShutdown () override |
|
|
void | onCaption (CaptionFrame::MediaPlayerSourceId sourceId, const CaptionData &captionData) override |
|
void | setCaptionPresenter (const std::shared_ptr< CaptionPresenterInterface > &presenter) override |
|
void | setMediaPlayers (const std::vector< std::shared_ptr< avsCommon::utils::mediaPlayer::MediaPlayerInterface >> &mediaPlayers) override |
|
void | addMediaPlayer (const std::shared_ptr< avsCommon::utils::mediaPlayer::MediaPlayerInterface > &mediaPlayer) override |
|
void | removeMediaPlayer (const std::shared_ptr< avsCommon::utils::mediaPlayer::MediaPlayerInterface > &mediaPlayer) override |
|
bool | isEnabled () const override |
|
|
void | onParsed (const CaptionFrame &captionFrame) override |
|
|
void | onPlaybackStarted (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackFinished (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackError (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::ErrorType &type, std::string error, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackPaused (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackResumed (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackStopped (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onFirstByteRead (CaptionFrame::MediaPlayerSourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
virtual | ~CaptionManagerInterface ()=default |
|
virtual | ~CaptionFrameParseListenerInterface ()=default |
|
virtual | ~MediaPlayerObserverInterface ()=default |
|
virtual void | onBufferUnderrun (SourceId, const MediaPlayerState &) |
|
virtual void | onBufferRefilled (SourceId, const MediaPlayerState &) |
|
virtual void | onBufferingComplete (SourceId, const MediaPlayerState &) |
|
virtual void | onSeeked (SourceId, const MediaPlayerState &, const MediaPlayerState &) |
|
virtual void | onTags (SourceId, std::unique_ptr< const VectorOfTags >, const MediaPlayerState &) |
|
| RequiresShutdown (const std::string &name) |
|
virtual | ~RequiresShutdown () |
| Destructor. More...
|
|
const std::string & | name () const |
|
void | shutdown () |
|
bool | isShutdown () const |
|
This class is the primary mediator between unprocessed captions content, one or more caption parsers, and an implementation of the CaptionPresenterInterface
.
This class:
- routes unparsed caption data to the caption parser
- wraps caption text according to how much can fit on the screen, based on CaptionPresenterInterface::getWrapIndex()
- notifies a
CaptionPresenterInterface
when and for how long each CaptionFrame
should be shown
- monitors media players to watch for when captions should be shown and hidden
- may receive captions from multiple sources in parallel; caption focus will match with the originating media player's state.
- is designed to work with en-US. While other languages may work fine, the breaks between words may be off, or the line wraps may not be accurate. If improved locale support is required, then the line break logic in the
CaptionManager::onParsed()
method should be modified to use a locale-safe method for determining the break points between words. One such method is supplied through ICU's BreakIterator: http://icu-project.org/apiref/icu4c/classicu_1_1BreakIterator.html