Releases: THEOplayer/react-native-theoplayer
Releases · THEOplayer/react-native-theoplayer
v2.5.0
Added
- Added an
aspectRatio
property on theTHEOplayer
instance that can be eitherFIT
(default),FILL
orASPECT_FILL
.
Changed
- Set
theoplayer
Web SDK as optional peer dependency.
v2.4.0
Fixed
- Fixed an issue on iOS and Android where cue event properties
startTime
andendTime
with valueInfinity
orNaN
were not passed correctly. - Fixed an issue on iOS Safari where switching to fullscreen presentation during an ad would not work.
- Fixed an issue on iOS Safari where an ad could be skipped during unmuted autoplay.
- Fixed a memory leak on iOS where the player would be allocated after being destroyed.
- Fixed an issue on Android where building the SDK would require IMA to be enabled.
Changed
- Changed Web media session controls to only show trick-play buttons if the player is in foreground, or
backgroundAudioEnabled
istrue
, and never for ads and live stream. - Changed Web media session controls to only show a play/pause button if the player is in foreground, or
backgroundAudioEnabled
istrue
, and never for ads.
Added
- Added the
crossOrigin
property toSourceDescription
for requesting CORS access to content.
v2.3.0
Changed
- Updated picture-in-picture controls on Android to include forward/rewind buttons and disabled pause button for ads.
v2.2.0
Fixed
- Fixed an issue on Android and iOS where error codes were not correctly formatted.
Added
- Added
RetryConfiguration
onPlayerConfiguration
for Web and Android.
Changed
- Set minimum THEOplayer dependency version to 5.0.1 for Web, iOS and Android.
- Set
MediaPlaybackService
disabled by default on Android.
v2.1.0
Fixed
- Fixed invalid location of the typescript declaration file.
- Fixed an issue on Android where the player would not pause when closing the app while background playback is disabled.
Changed
- Removed
backgroundAudioConfiguration.mediaPlaybackServiceEnabled
property on Android. Disabling background playback disables the service as well.
v2.0.0
Added
- Released 2.0.0 version.
[Unreleased 2.0.0-pre9]
Changed
- Set the player container on Web to by default have a width and height not larger than the devices width and height.
- Use
enum
type forPresentationMode
,CastState
andAdIntegrationKind
. - Changed the methods of the Cast API, such as
casting
andstate
, to be synchronous. - Applied
backgroundAudioConfig
properties on Android when closing picture-in-picture window. - Applied
backgroundAudioConfig
properties on Android when showing Notifications. - Disable iOS lockscreen controls when backgroundAudioConfig is set to
disabled
.
Added
- Added
enableMediaPlaybackService
option tobackgroundAudioConfiguration
to optionally disable the MediaBrowserService that provides background audio support on Android. - Added support for the
enabled
flag ofBackgroundAudioConfiguration
for Web. - Added serviceId and contentId to NowPlayingInfo
- Feature flag extraction from custom iOS builds
Fixed
- Fixed an issue on Android where the media session would become inactive when going to picture-in-picture mode, removing all transport controls.
- Fixed an issue where removing a player listener within a listener callback would sometimes result in events not being dispatched.
[Unreleased 2.0.0-pre7]
Fixed
- Fixed an issue where the media session connector for Web would report an error when passing an Infinite duration for live streams.
- Fixed an issue on iOS where ID3 metadata content would not be correctly passed to cue instances.
- Fixed an issue on Android where the
'picture-in-picture'
permission was not checked. - Fixed an issue on Android where the aspect ratio of the
'picture-in-picture'
window could be outside the valid range. - Fixed an issue on iOS and Android where for a live stream the
duration
property of aloadedmetadata
event was not properly passed as beingInfinite
.
Changed
- Replaced deprecated systemUiVisibility code in Android's PresentationManager.
- Use
enum
types forTextTrackMode
,TextTrackType
andTextTrackKind
. - Allow go-to-live on iOS and Android by setting
currentTime
toInfinity
.
Added
- Added a
mediaControl
property toPlayerConfiguration
to configure Media Session, Now Playing and Remote Command Center functionality across all platforms. It currently only contains a media session toggle for Web. - Added a
backgroundAudioConfiguration
property toTHEOplayer
to allow dynamically configuring background audio functionality. - Added a
pipConfiguration
property toTHEOplayer
to allow dynamically configuring picture-in-picture behavior. - Added support for background audio playback on iOS and Android.
- Added
keepScreenOn
as a default player view property on Android to keep the device awake.
[Unreleased 2.0.0-pre6]
Fixed
- Fixed an issue where the IMA player container would be rendered collapsed on Web.
- Fixed a missing check for picture-in-picture permission on Android.
Added
- Added media session connector for Web.
[Unreleased 2.0.0-pre5]
Added
- Added
onPlayerReady
callback onTHEOplayerView
to pass aTHEOplayer
instance once it is ready for access. More info on the migration documentation page. - Added
canplay
event, which is dispatched when the player can start play-out. - Added
waiting
event, which is dispatched when the player has stopped play-out because of a temporary lack of data. - Added
nativeHandle
property onTHEOplayer
to access the native player instance on web, and view id on mobile. - Added
entercue
andexitcue
events for text tracks, which are dispatched when a cue becomes (in)active. - Added
ratechange
event, which is dispatched when the player's playback rate was changed. - Added
seekable
property onTHEOplayer
, containing the time ranges of the media the player is able to seek to. - Added
buffered
property onTHEOplayer
, containing the time ranges of the media the player has currently buffered. - Added
buffered
property to the payload of theonprogress
event. - Added
duration
,seeking
,preload
,textTrack
,videoTracks
andaudioTracks
properties toTHEOplayer
. - Added
libraryLocation
property toPlayerConfiguration
to allow passing custom location for web workers. - Added
mutedAutoplay
property toPlayerConfiguration
to allow autoplay on web browsers with different autoplay policies. - Added mode
hidden
as a value for a text track'sTextTrackMode
property, which is typically used for metadata tracks. - Added
TextTrackStyle
API to support text track styling. This feature is currently supported on web only. - Added support for 'picture-in-picture' presentation mode. More information on the documentation page
- Added
muted
state involumechange
event payload. - Added media session connector for Android.
- Added public accessor on the
THEOplayerRCTView
that exposes the underlying iOSTHEOplayer
instance. So you can use the underlying THEOplayer from other packages.
Changed
- Moved all player properties such as
paused
,muted
andvolume
, fromTHEOplayerView
component toTHEOplayer
instance. More info on the migration documentation page. - Removed
onEventName
callback methods fromTHEOplayerView
component in favor ofTHEOplayer
event listener's interface. More info on the migration documentation page. - Changed documentation sample code to reflect API changes.
- Exposed the
activeQuality
of aMediaTrack
as aQuality
instance instead of the quality'suid
. - Set the default container style for web to let the player cover the whole container.
Removed
- Removed
seek
method onTHEOplayer
. It is replaced with acurrentTime
setter. - Removed
fullscreen
setter and getter in favor ofpresentationMode
.
Fixed
- Fixed an issue on Android where an exception is thrown when an empty source description would be passed.
- Fixed the Webpack configuration in the sample application to copy web workers to
libraryLocation
. - Fixed an issue on web where in case multiple player instances are created, the players would overlap.
- Fixed an issue on iOS Safari where switching to fullscreen presentation would not work.
- Fixed an issue on Android where passing an invalid empty source description would result in a crash.
- Fixed an issue on Android where the
framerate
property of aVideoQuality
instance would not be filled in. - Fixed an issue on iOS where the
TextTrackMode
property of a text track would be incorrect. - Fixed an issue on iOS where after enabling/disabling a text track, metadata tracks would be set to
disabled
as well. - Fixed missing
volumechange
events on mobile platforms. - Fixed an issue on iOS where after toggling the mute state during an ad playout, succeeding mute toggles had no effect.
v1.8.3
Fixed
- Fixed an issue on Android where building the SDK would fail when depending on player SDK v5.x.
v1.8.2
Fixed
- Fixed an issue on Android where building the SDK would fail when depending on player SDK v4.12.0.
v1.8.1
Changed
- Restructured iOS bridge code to extensions based on features.
Fixed
- Fixed an issue on Android where the system UI would not be restored when unmounting THEOplayerView with
fullscreen
enabled. - Fixed an issue with the availability of the cast button and play buttons in the example application.
- Fixed an issue on iOS where the player was not destroyed correctly on the iOS bridge.
- Added support for
DRMConfig
throughSourceDescription
for SSAI sources on iOS.
v1.8.0
Added
- Support for Chromecast and Airplay.
Fixed
- Fixed an issue where moving the sender app to the background while playing a DAI source on an Airplay device, would pause playback.
Changed
- Upgraded Web SDK to v4.6.0.
- Updated the custom build setup to support both iOS and tvOS.