Skip to content

Commit

Permalink
Merge pull request #465 from bitmovin/release/v0.25.0
Browse files Browse the repository at this point in the history
Release 0.25.0
  • Loading branch information
rolandkakonyi authored Jun 7, 2024
2 parents ca319b6 + 40c7696 commit 6b4686f
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 44 deletions.
76 changes: 43 additions & 33 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Changelog

## [0.24.0] (2024-06-04)
## [0.25.0]

### Added

- `viewRef` property to `PlayerView` to allow setting a reference to the native view

### Fixed

- iOS: Possible crash on hot-reload

## [0.24.0] - 2024-06-04

### Added

Expand All @@ -18,7 +28,7 @@
- Android: Can't create a new Player with an existing NativeID (to bind to the same native Player)
- iOS: Performance problem with large WebVTT thumbnail or subtitle tracks

## [0.23.0] (2024-05-08)
## [0.23.0] - 2024-05-08

### Changed

Expand All @@ -29,7 +39,7 @@

- Android: Player Web UI freezing sometimes, under excessive WebUI-RN code messaging

## [0.22.0] (2024-04-15)
## [0.22.0] - 2024-04-15

### Added

Expand All @@ -40,7 +50,7 @@
- Update Bitmovin's native iOS SDK version to `3.60.0`
- Update IMA SDK dependency on iOS to `3.19.1`, respectively `4.9.2` for tvOS

## [0.21.0] (2024-04-08)
## [0.21.0] - 2024-04-08

### Fixed

Expand All @@ -53,7 +63,7 @@
- Update Bitmovin's native Android SDK version to `3.65.0`
- Update Bitmovin's native iOS SDK version to `3.59.0`

## [0.20.0] (2024-03-29)
## [0.20.0] - 2024-03-29

### Added

Expand All @@ -64,7 +74,7 @@

- Update Bitmovin's native Android SDK version to `3.64.0`

## [0.19.0] (2024-03-22)
## [0.19.0] - 2024-03-22

### Added

Expand All @@ -79,7 +89,7 @@

- Fix potential event name conflicts with other 3rd party libraries

## [0.18.0] (2024-03-06)
## [0.18.0] - 2024-03-06

### Changed

Expand All @@ -91,7 +101,7 @@

- Android: Subtitles appear out of frame

## [0.17.0] (2024-01-26)
## [0.17.0] - 2024-01-26

### Added

Expand All @@ -105,14 +115,14 @@

- Remove `patch-package` usage from released product

## [0.16.0] (2024-01-17)
## [0.16.0] - 2024-01-17

### Changed

- Update Bitmovin's native Android SDK version to `3.56.0`
- Android: Kotlin version to `1.9.21`

## [0.15.0] (2023-12-18)
## [0.15.0] - 2023-12-18

### Added

Expand All @@ -125,7 +135,7 @@
- Update Bitmovin's native Android SDK version to `3.54.0`
- Android: Kotlin version to `1.8.20`

## [0.14.2] (2023-11-27)
## [0.14.2] - 2023-11-27

### Fixed

Expand All @@ -135,13 +145,13 @@
- iOS: hide home indicator when entering fullscreen mode in the example application
- iOS: invalid `loadingState` value in `SeekEvent`, `SourceLoadEvent`, `SourceLoadedEvent` and in `SourceUnloadedEvent`

## [0.14.1] (2023-11-16)
## [0.14.1] - 2023-11-16

### Fixed

- Android: `PlayerView` destroys attached `Player` instance on destroy. `Player` lifecycle must be handled on the creation side

## [0.14.0] (2023-11-14)
## [0.14.0] - 2023-11-14

### Added

Expand All @@ -157,7 +167,7 @@
- Android: Playback doesn't pause when app goes to background
- Android: `PlayerView.onDestroy` not being called when the view is detached from the view hierarchy

## [0.13.0] (2023-10-20)
## [0.13.0] - 2023-10-20

### Added

Expand All @@ -180,7 +190,7 @@

- `PlaybackConfig.isPictureInPictureEnabled` in favor of `PictureInPictureConfig.isEnabled`

## [0.12.0] (2023-09-25)
## [0.12.0] - 2023-09-25

### Added

Expand All @@ -200,7 +210,7 @@
- `AnalyticsCollector` in favor of the bundled analytics functionality
- `CdnProvider`, as the property on the `AnalyticsConfig` is now a `string`

## [0.11.0] (2023-09-11)
## [0.11.0] - 2023-09-11

### Added

Expand All @@ -212,7 +222,7 @@

- Update Bitmovin's native Android SDK version to `3.43.0`

## [0.10.0] (2023-09-04)
## [0.10.0] - 2023-09-04

### Added

Expand All @@ -221,19 +231,19 @@
- `PlayerConfig.adaptationConfig` to allow configuring the player's adaptation behavior
- `Player.setMaxSelectableBitrate` to allow setting the maximum selectable bitrate on the `Player`

## [0.9.2] (2023-08-24)
## [0.9.2] - 2023-08-24

### Changed

- Update Bitmovin's native iOS SDK version to `3.43.1`

## [0.9.1] (2023-08-17)
## [0.9.1] - 2023-08-17

### Fixed

- Android: Player sometimes plays sound but doesn't display video nor controls.

## [0.9.0] (2023-08-11)
## [0.9.0] - 2023-08-11

### Added

Expand All @@ -249,7 +259,7 @@

- Android: Player sometimes plays sound but no video

## [0.8.0] (2023-07-31)
## [0.8.0] - 2023-07-31

### Added

Expand All @@ -266,13 +276,13 @@

- Android: Sporadic black screen after initialization

## [0.7.2] (2023-07-03)
## [0.7.2] - 2023-07-03

### Fixed

- Android: None of the Player Web UI menu items work (anything that triggers a native UI pop up)

## [0.7.1] (2023-06-29)
## [0.7.1] - 2023-06-29

### Added

Expand All @@ -282,7 +292,7 @@

- Project forces the usage of specific `react-native` version

## [0.7.0] (2023-06-26)
## [0.7.0] - 2023-06-26

### Added

Expand All @@ -293,7 +303,7 @@

- Android module build issues

## [0.6.0] (2023-03-27)
## [0.6.0] - 2023-03-27

### Added

Expand All @@ -306,13 +316,13 @@
- Update Bitmovin's native iOS SDK version to `v3.36.0`.
- Update Bitmovin's native Android SDK version to `v3.35.0`.

## [0.5.1] (2023-01-23)
## [0.5.1] - 2023-01-23

### Fixed

- Fix missing export of `FullscreenHandler` to allow fullscreen support to be integrated.

## [0.5.0] (2023-01-13)
## [0.5.0] - 2023-01-13

This version introduces analytics integration, fullscreen support and customizing the Player UI.

Expand All @@ -322,7 +332,7 @@ This version introduces analytics integration, fullscreen support and customizin
- `FullscreenHandler` support.
- Bitmovin Player Web UI customization via `styleConfig` property on player creation.

## [0.4.0] (2022-11-24)
## [0.4.0] - 2022-11-24

This version introduces the advertising API, full Picture in Picture support and exposes Stall events.

Expand All @@ -332,15 +342,15 @@ This version introduces the advertising API, full Picture in Picture support and
- Complete Picture in Picture support.
- `onStallStarted`/`onStallEnded` events support. (Thanks to @joornby-angel)

## [0.3.1] (2022-10-26)
## [0.3.1] - 2022-10-26

Adds tweaks configuration support.

### Added

- Support for setting `TweaksConfig` on both Android and iOS.

## [0.3.0] (2022-10-13)
## [0.3.0] - 2022-10-13

Adds support for tvOS projects and ability to customize the default playback behavior of `Player` objects.

Expand All @@ -359,15 +369,15 @@ Adds support for tvOS projects and ability to customize the default playback beh

- Fix pod installation error on tvOS projects by adding `:tvos => 12.4` to the list of supported platforms.

## [0.2.1] (2022-09-19)
## [0.2.1] - 2022-09-19

Fixes an NPM installation issue.

### Fixed

- Fix installation error caused by wrong husky setup when fetching package from NPM.

## [0.2.0] (2022-08-23)
## [0.2.0] - 2022-08-23

Adds support for DRM playback on Android (Widevine only) and iOS (FairPlay only), as well as configuring
external subtitle tracks for a stream source.
Expand All @@ -387,7 +397,7 @@ external subtitle tracks for a stream source.

- Fix error caused when navigating back from screens containing a `PlayerView` child.

## [0.1.0] (2022-07-11)
## [0.1.0] - 2022-07-11

Adds support for basic playback using Bitmovin's Web UI as the default (and only) player UI.
No support for custom UI yet.
Expand Down
17 changes: 13 additions & 4 deletions example/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,16 @@ Before running the application, make sure to set up your Bitmovin's license key

**iOS**

Edit the license key in `ios/BitmovinPlayerReactNativeExample/Info.plist`:
Edit the license key in `example/ios/BitmovinPlayerReactNativeExample/Info.plist`:

```xml
<key>BitmovinPlayerLicenseKey</key>
<string>ENTER_LICENSE_KEY</string>
```

**tvOS**

Edit the license key in `example/ios/BitmovinPlayerReactNativeExample-tvOS/Info.plist`:

```xml
<key>BitmovinPlayerLicenseKey</key>
Expand All @@ -46,7 +55,7 @@ Edit the license key in `ios/BitmovinPlayerReactNativeExample/Info.plist`:

**Android**

Edit the license key in `android/app/src/main/AndroidManifest.xml`:
Edit the license key in `example/android/app/src/main/AndroidManifest.xml`:

```xml
<meta-data android:name="BITMOVIN_PLAYER_LICENSE_KEY" android:value="<ENTER_LICENSE_KEY>" />
Expand Down Expand Up @@ -97,12 +106,12 @@ yarn example android # Run examples on Android
Hint: You can provide a specific simulator by name when using `--simulator` flag. `xcrun simctl list devices available` provides you with a list of available devices in your environment.

```sh
yarn example ios --simulator="iPhone 14 Pro"
yarn example ios --simulator="iPhone 15 Pro"
```

**IDE**

You can also open the iOS project using Xcode by typing `xed example/ios/` on terminal, or `studio example/android/` to open the android project in Android Studio (make sure to setup its binaries first).
You can also open the iOS project using Xcode by typing `xed example/ios` on terminal, or `studio example/android` to open the android project in Android Studio (make sure to setup its binaries first).

### Running the bundler only

Expand Down
4 changes: 2 additions & 2 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1051,7 +1051,7 @@ PODS:
- React-jsi (= 0.73.4-0)
- React-logger (= 0.73.4-0)
- React-perflogger (= 0.73.4-0)
- RNBitmovinPlayer (0.24.0):
- RNBitmovinPlayer (0.25.0):
- BitmovinPlayer (= 3.64.0)
- GoogleAds-IMA-iOS-SDK (= 3.19.1)
- GoogleAds-IMA-tvOS-SDK (= 4.9.2)
Expand Down Expand Up @@ -1305,7 +1305,7 @@ SPEC CHECKSUMS:
React-runtimescheduler: 20b2202e3396589a71069d12ae9f328949c7c7b8
React-utils: 0307d396f233e47a167b5aaf045b0e4e1dc19d74
ReactCommon: 17891ca337bfa5a7263649b09f27a8c664537bf2
RNBitmovinPlayer: ae8a975f34f4821098a40f1cf6607ae2b399de84
RNBitmovinPlayer: f2c78273cbb5de5b98609b6ed624fd8aa9a0da07
RNCPicker: b18aaf30df596e9b1738e7c1f9ee55402a229dca
RNScreens: b582cb834dc4133307562e930e8fa914b8c04ef2
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Expand Down
2 changes: 1 addition & 1 deletion example/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "bitmovin-player-react-native-sample",
"description": "Example app showcasing bitmovin's RN player SDK",
"description": "Example app showcasing Bitmovin's React Native Player SDK",
"version": "0.0.1",
"scripts": {
"postinstall": "patch-package",
Expand Down
9 changes: 9 additions & 0 deletions ios/PlayerModule.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,15 @@ public class PlayerModule: NSObject, RCTBridgeModule { // swiftlint:disable:this
bridge.uiManager.methodQueue
}

deinit {
// Destroy all players on the main thread when the module is deallocated.
// This is necessary when the IMA SDK is present in the app, as it may crash if the players are destroyed on a
// background thread.
DispatchQueue.main.async { [players] in
players.values.forEach { $0.destroy() }
}
}

/**
Fetches the `Player` instance associated with `nativeId` from the internal players.
- Parameter nativeId: `Player` instance ID.
Expand Down
Loading

0 comments on commit 6b4686f

Please sign in to comment.