bitmovin-player-react-native 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.7.0] - 2026-01-15
4
+
5
+ ### Changed
6
+
7
+ - Update Bitmovin's native Android SDK version to `3.138.0+jason`
8
+ - Update IMA SDK dependency on Android to `3.38.0`
9
+ - Update Bitmovin's native iOS SDK version to `3.105.0`
10
+ - Update the Google Cast iOS Sender SDK used by the example app to `4.8.4`
11
+
3
12
  ## [1.6.0] - 2025-12-11
4
13
 
5
14
  ### Added
@@ -104,10 +104,10 @@ dependencies {
104
104
  implementation "androidx.concurrent:concurrent-futures-ktx:1.1.0"
105
105
 
106
106
  // Google IMA
107
- implementation 'com.google.ads.interactivemedia.v3:interactivemedia:3.37.0'
107
+ implementation 'com.google.ads.interactivemedia.v3:interactivemedia:3.38.0'
108
108
 
109
109
  // Bitmovin
110
110
  implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
111
- implementation 'com.bitmovin.player:player:3.135.0+jason'
112
- implementation 'com.bitmovin.player:player-media-session:3.135.0+jason'
111
+ implementation 'com.bitmovin.player:player:3.138.0+jason'
112
+ implementation 'com.bitmovin.player:player-media-session:3.138.0+jason'
113
113
  }
@@ -1,11 +1,17 @@
1
1
  export declare enum PictureInPictureAction {
2
2
  /**
3
3
  * Picture in Picture window shows Play/Pause button depending on the player state.
4
+ *
5
+ * @remarks When using the {@link UserInterfaceType.System}, this property is only supported on iOS 17 and above.
6
+ *
7
+ * @platform iOS, Android
4
8
  */
5
9
  TogglePlayback = "TogglePlayback",
6
10
  /**
7
11
  * Picture in Picture window shows seek forward and seek backward buttons.
8
12
  * The player seeks by 10s when the buttons are pressed.
13
+ *
14
+ * @platform iOS, Android
9
15
  */
10
16
  Seek = "Seek"
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pictureInPictureAction.d.ts","sourceRoot":"","sources":["../../../src/components/PlayerView/pictureInPictureAction.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC;;OAEG;IACH,cAAc,mBAAmB;IACjC;;;OAGG;IACH,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"pictureInPictureAction.d.ts","sourceRoot":"","sources":["../../../src/components/PlayerView/pictureInPictureAction.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC;;;;;;OAMG;IACH,cAAc,mBAAmB;IACjC;;;;;OAKG;IACH,IAAI,SAAS;CACd"}
@@ -2,11 +2,17 @@ export var PictureInPictureAction;
2
2
  (function (PictureInPictureAction) {
3
3
  /**
4
4
  * Picture in Picture window shows Play/Pause button depending on the player state.
5
+ *
6
+ * @remarks When using the {@link UserInterfaceType.System}, this property is only supported on iOS 17 and above.
7
+ *
8
+ * @platform iOS, Android
5
9
  */
6
10
  PictureInPictureAction["TogglePlayback"] = "TogglePlayback";
7
11
  /**
8
12
  * Picture in Picture window shows seek forward and seek backward buttons.
9
13
  * The player seeks by 10s when the buttons are pressed.
14
+ *
15
+ * @platform iOS, Android
10
16
  */
11
17
  PictureInPictureAction["Seek"] = "Seek";
12
18
  })(PictureInPictureAction || (PictureInPictureAction = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"pictureInPictureAction.js","sourceRoot":"","sources":["../../../src/components/PlayerView/pictureInPictureAction.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC;;OAEG;IACH,2DAAiC,CAAA;IACjC;;;OAGG;IACH,uCAAa,CAAA;AACf,CAAC,EAVW,sBAAsB,KAAtB,sBAAsB,QAUjC","sourcesContent":["export enum PictureInPictureAction {\n /**\n * Picture in Picture window shows Play/Pause button depending on the player state.\n */\n TogglePlayback = 'TogglePlayback',\n /**\n * Picture in Picture window shows seek forward and seek backward buttons.\n * The player seeks by 10s when the buttons are pressed.\n */\n Seek = 'Seek',\n}\n"]}
1
+ {"version":3,"file":"pictureInPictureAction.js","sourceRoot":"","sources":["../../../src/components/PlayerView/pictureInPictureAction.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAgBX;AAhBD,WAAY,sBAAsB;IAChC;;;;;;OAMG;IACH,2DAAiC,CAAA;IACjC;;;;;OAKG;IACH,uCAAa,CAAA;AACf,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,QAgBjC","sourcesContent":["export enum PictureInPictureAction {\n /**\n * Picture in Picture window shows Play/Pause button depending on the player state.\n *\n * @remarks When using the {@link UserInterfaceType.System}, this property is only supported on iOS 17 and above.\n *\n * @platform iOS, Android\n */\n TogglePlayback = 'TogglePlayback',\n /**\n * Picture in Picture window shows seek forward and seek backward buttons.\n * The player seeks by 10s when the buttons are pressed.\n *\n * @platform iOS, Android\n */\n Seek = 'Seek',\n}\n"]}
@@ -105,10 +105,13 @@ export declare enum ScalingMode {
105
105
  export declare enum UserInterfaceType {
106
106
  /**
107
107
  * Indicates that Bitmovin's customizable UI should be used.
108
+ *
109
+ * @platform iOS, Android
108
110
  */
109
111
  Bitmovin = "Bitmovin",
110
112
  /**
111
113
  * Indicates that the system UI should be used.
114
+ *
112
115
  * @platform iOS, tvOS
113
116
  */
114
117
  System = "System",
@@ -1 +1 @@
1
- {"version":3,"file":"styleConfig.d.ts","sourceRoot":"","sources":["../src/styleConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,QAAQ,aAAa;IACrB;;;OAGG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,QAAQ,aAAa;CACtB"}
1
+ {"version":3,"file":"styleConfig.d.ts","sourceRoot":"","sources":["../src/styleConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,OAAO,YAAY;IACnB;;OAEG;IACH,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B;;;;OAIG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,MAAM,WAAW;IACjB;;OAEG;IACH,QAAQ,aAAa;CACtB"}
@@ -23,10 +23,13 @@ export var UserInterfaceType;
23
23
  (function (UserInterfaceType) {
24
24
  /**
25
25
  * Indicates that Bitmovin's customizable UI should be used.
26
+ *
27
+ * @platform iOS, Android
26
28
  */
27
29
  UserInterfaceType["Bitmovin"] = "Bitmovin";
28
30
  /**
29
31
  * Indicates that the system UI should be used.
32
+ *
30
33
  * @platform iOS, tvOS
31
34
  */
32
35
  UserInterfaceType["System"] = "System";
@@ -1 +1 @@
1
- {"version":3,"file":"styleConfig.js","sourceRoot":"","sources":["../src/styleConfig.ts"],"names":[],"mappings":"AAqFA;;GAEG;AACH,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB;;OAEG;IACH,0BAAW,CAAA;IACX;;OAEG;IACH,kCAAmB,CAAA;IACnB;;OAEG;IACH,4BAAa,CAAA;AACf,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC3B;;OAEG;IACH,0CAAqB,CAAA;IACrB;;;OAGG;IACH,sCAAiB,CAAA;IACjB;;OAEG;IACH,0CAAqB,CAAA;AACvB,CAAC,EAdW,iBAAiB,KAAjB,iBAAiB,QAc5B","sourcesContent":["/**\n * Contains config values which can be used to alter the visual presentation and behaviour of the player UI.\n */\nexport interface StyleConfig {\n /**\n * Sets if the UI should be enabled or not. Default value is `true`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * isUiEnabled: false,\n * },\n * });\n * ```\n */\n isUiEnabled?: boolean;\n /**\n * Sets which user interface type should be used.\n * Default value is `UserInterfaceType.bitmovin` on `iOS` and `UserInterfaceType.system` on `tvOS`.\n * This setting only applies if `StyleConfig.isUiEnabled` is set to true.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * userInterfaceType: UserInterfaceType.System,\n * },\n * });\n * ```\n * @platform iOS, tvOS\n */\n userInterfaceType?: UserInterfaceType;\n /**\n * Sets the CSS file that will be used for the UI. The default CSS file will be completely replaced by the CSS file set with this property.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * playerUiCss: 'https://domain.tld/path/to/bitmovinplayer-ui.css',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n playerUiCss?: string;\n /**\n * Sets a CSS file which contains supplemental styles for the player UI. These styles will be added to the default CSS file or the CSS file set with `StyleConfig.playerUiCss`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * supplementalPlayerUiCss: 'https://domain.tld/path/to/bitmovinplayer-supplemental-ui.css',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n supplementalPlayerUiCss?: string;\n /**\n * Sets the JS file that will be used for the UI. The default JS file will be completely replaced by the JS file set with this property.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * playerUiJs: 'https://domain.tld/path/to/bitmovinplayer-ui.js',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n playerUiJs?: string;\n /**\n * Determines how the video content is scaled or stretched within the parent container’s bounds. Possible values are defined in `ScalingMode`.\n * Default value is `ScalingMode.fit`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * scalingMode: ScalingMode.Zoom,\n * },\n * });\n * ```\n */\n scalingMode?: ScalingMode;\n}\n\n/**\n * Specifies how the video content is scaled or stretched.\n */\nexport enum ScalingMode {\n /**\n * Specifies that the player should preserve the video’s aspect ratio and fit the video within the container's bounds.\n */\n Fit = 'Fit',\n /**\n * Specifies that the video should be stretched to fill the container’s bounds. The aspect ratio may not be preserved.\n */\n Stretch = 'Stretch',\n /**\n * Specifies that the player should preserve the video’s aspect ratio and fill the container’s bounds.\n */\n Zoom = 'Zoom',\n}\n\n/**\n * Indicates which type of UI should be used.\n */\nexport enum UserInterfaceType {\n /**\n * Indicates that Bitmovin's customizable UI should be used.\n */\n Bitmovin = 'Bitmovin',\n /**\n * Indicates that the system UI should be used.\n * @platform iOS, tvOS\n */\n System = 'System',\n /**\n * Indicates that only subtitles should be displayed along with the video content.\n */\n Subtitle = 'Subtitle',\n}\n"]}
1
+ {"version":3,"file":"styleConfig.js","sourceRoot":"","sources":["../src/styleConfig.ts"],"names":[],"mappings":"AAqFA;;GAEG;AACH,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB;;OAEG;IACH,0BAAW,CAAA;IACX;;OAEG;IACH,kCAAmB,CAAA;IACnB;;OAEG;IACH,4BAAa,CAAA;AACf,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B;;;;OAIG;IACH,0CAAqB,CAAA;IACrB;;;;OAIG;IACH,sCAAiB,CAAA;IACjB;;OAEG;IACH,0CAAqB,CAAA;AACvB,CAAC,EAjBW,iBAAiB,KAAjB,iBAAiB,QAiB5B","sourcesContent":["/**\n * Contains config values which can be used to alter the visual presentation and behaviour of the player UI.\n */\nexport interface StyleConfig {\n /**\n * Sets if the UI should be enabled or not. Default value is `true`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * isUiEnabled: false,\n * },\n * });\n * ```\n */\n isUiEnabled?: boolean;\n /**\n * Sets which user interface type should be used.\n * Default value is `UserInterfaceType.bitmovin` on `iOS` and `UserInterfaceType.system` on `tvOS`.\n * This setting only applies if `StyleConfig.isUiEnabled` is set to true.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * userInterfaceType: UserInterfaceType.System,\n * },\n * });\n * ```\n * @platform iOS, tvOS\n */\n userInterfaceType?: UserInterfaceType;\n /**\n * Sets the CSS file that will be used for the UI. The default CSS file will be completely replaced by the CSS file set with this property.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * playerUiCss: 'https://domain.tld/path/to/bitmovinplayer-ui.css',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n playerUiCss?: string;\n /**\n * Sets a CSS file which contains supplemental styles for the player UI. These styles will be added to the default CSS file or the CSS file set with `StyleConfig.playerUiCss`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * supplementalPlayerUiCss: 'https://domain.tld/path/to/bitmovinplayer-supplemental-ui.css',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n supplementalPlayerUiCss?: string;\n /**\n * Sets the JS file that will be used for the UI. The default JS file will be completely replaced by the JS file set with this property.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * playerUiJs: 'https://domain.tld/path/to/bitmovinplayer-ui.js',\n * },\n * });\n * ```\n * @platform iOS, Android\n */\n playerUiJs?: string;\n /**\n * Determines how the video content is scaled or stretched within the parent container’s bounds. Possible values are defined in `ScalingMode`.\n * Default value is `ScalingMode.fit`.\n * @example\n * ```\n * const player = new Player({\n * styleConfig: {\n * scalingMode: ScalingMode.Zoom,\n * },\n * });\n * ```\n */\n scalingMode?: ScalingMode;\n}\n\n/**\n * Specifies how the video content is scaled or stretched.\n */\nexport enum ScalingMode {\n /**\n * Specifies that the player should preserve the video’s aspect ratio and fit the video within the container's bounds.\n */\n Fit = 'Fit',\n /**\n * Specifies that the video should be stretched to fill the container’s bounds. The aspect ratio may not be preserved.\n */\n Stretch = 'Stretch',\n /**\n * Specifies that the player should preserve the video’s aspect ratio and fill the container’s bounds.\n */\n Zoom = 'Zoom',\n}\n\n/**\n * Indicates which type of UI should be used.\n */\nexport enum UserInterfaceType {\n /**\n * Indicates that Bitmovin's customizable UI should be used.\n *\n * @platform iOS, Android\n */\n Bitmovin = 'Bitmovin',\n /**\n * Indicates that the system UI should be used.\n *\n * @platform iOS, tvOS\n */\n System = 'System',\n /**\n * Indicates that only subtitles should be displayed along with the video content.\n */\n Subtitle = 'Subtitle',\n}\n"]}
@@ -28,7 +28,7 @@ Pod::Spec.new do |s|
28
28
  s.static_framework = true
29
29
 
30
30
  s.dependency 'ExpoModulesCore'
31
- s.dependency "BitmovinPlayer", "3.102.0"
31
+ s.dependency "BitmovinPlayer", "3.105.0"
32
32
  s.ios.dependency "GoogleAds-IMA-iOS-SDK", "3.26.1"
33
33
  s.tvos.dependency "GoogleAds-IMA-tvOS-SDK", "4.15.1"
34
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bitmovin-player-react-native",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Official React Native bindings for Bitmovin's mobile Player SDKs.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -67,7 +67,7 @@
67
67
  "eslint-config-expo": "~9.2.0",
68
68
  "eslint-config-prettier": "^9.1.0",
69
69
  "eslint-plugin-prettier": "^5.5.1",
70
- "expo": "53.0.20",
70
+ "expo": "53.0.25",
71
71
  "expo-module-scripts": "^4.1.9",
72
72
  "lint-staged": "13.0.3",
73
73
  "prettier": "^3.6.2",
@@ -1,11 +1,17 @@
1
1
  export enum PictureInPictureAction {
2
2
  /**
3
3
  * Picture in Picture window shows Play/Pause button depending on the player state.
4
+ *
5
+ * @remarks When using the {@link UserInterfaceType.System}, this property is only supported on iOS 17 and above.
6
+ *
7
+ * @platform iOS, Android
4
8
  */
5
9
  TogglePlayback = 'TogglePlayback',
6
10
  /**
7
11
  * Picture in Picture window shows seek forward and seek backward buttons.
8
12
  * The player seeks by 10s when the buttons are pressed.
13
+ *
14
+ * @platform iOS, Android
9
15
  */
10
16
  Seek = 'Seek',
11
17
  }
@@ -107,10 +107,13 @@ export enum ScalingMode {
107
107
  export enum UserInterfaceType {
108
108
  /**
109
109
  * Indicates that Bitmovin's customizable UI should be used.
110
+ *
111
+ * @platform iOS, Android
110
112
  */
111
113
  Bitmovin = 'Bitmovin',
112
114
  /**
113
115
  * Indicates that the system UI should be used.
116
+ *
114
117
  * @platform iOS, tvOS
115
118
  */
116
119
  System = 'System',