From 965988341309160e369b2551f180fa20c8d1386e Mon Sep 17 00:00:00 2001 From: Vehovec Date: Mon, 9 Oct 2023 14:48:20 +0200 Subject: [PATCH 1/9] chore: update ima sdk and player version --- android/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 7ea3b6a7..34b847aa 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -57,9 +57,9 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" - implementation 'com.google.ads.interactivemedia.v3:interactivemedia:3.29.0' + implementation 'com.google.ads.interactivemedia.v3:interactivemedia:3.31.0' implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1' - implementation 'com.bitmovin.player:player:3.46.0+jason' + implementation 'com.bitmovin.player:player:3.47.0+jason' //noinspection GradleDynamicVersion implementation 'com.facebook.react:react-native:+' // From node_modules } From 7a8253e85e8a82d8e63cc0aef947353f6d937987 Mon Sep 17 00:00:00 2001 From: Vehovec Date: Mon, 9 Oct 2023 14:59:41 +0200 Subject: [PATCH 2/9] chore: add changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fccf185..c8afbe38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [Unreleased] + +### Changed + +- Update IMA SDK dependency on Android to `3.31.0` +- Update Bitmovin's native Android SDK version to `3.47.0` + ## [0.12.0] (2023-09-25) ### Added From 9339f6151aab749798203bd420650746e4b7b859 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Mon, 9 Oct 2023 15:19:32 +0200 Subject: [PATCH 3/9] feat(apidocs): add automation --- .github/workflows/generate-documentation.yml | 58 ++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/generate-documentation.yml diff --git a/.github/workflows/generate-documentation.yml b/.github/workflows/generate-documentation.yml new file mode 100644 index 00000000..7359f9d0 --- /dev/null +++ b/.github/workflows/generate-documentation.yml @@ -0,0 +1,58 @@ +name: Generate documentation +on: + workflow_call: + secrets: + PLAYER_CI_GH_TOKEN: + description: GitHub token to access player-ci repo for CI scripts + required: true + GCS_ACCOUNT: + description: Google Cloud Storage account for uploading API docs + required: true + CF_TOKEN: + description: CloudFlare token for API docs cache purging + required: true + CF_ZONEID: + description: CloudFlare zone ID for API docs cache purging + required: true + + workflow_dispatch: + +jobs: + generate-documentation: + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + GC_SACCOUNT: ${{ secrets.GCS_ACCOUNT }} + CF_TOKEN: ${{ secrets.CF_TOKEN }} + CF_ZONEID: ${{ secrets.CF_ZONEID }} + + name: Generate documentation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup node and npm registry + uses: actions/setup-node@v3 + with: + node-version: '16' + registry-url: 'https://registry.npmjs.org/' + cache: 'yarn' + + - name: Install node_modules + run: yarn install --frozen-lockfile + + - name: Detect version using jq + run: | + echo "PCI_BRANCH=$(jq -r '.version' package.json)" >> $GITHUB_ENV + + - name: Generate documentation + run: yarn docs + + - name: Install CI scripts + run: | + curl -sS -H "Authorization: token ${GH_TOKEN}" -L https://raw.githubusercontent.com/bitmovin-engineering/player-ci/master/install.sh | bash + + - name: Upload to CDN + run: node ./ci_scripts/src/uploadToGcs.js reactnative ./docs/generated + + - name: Purge CDN cache + run: node ./ci_scripts/src/purgeCloudflarePath.js 'reactnative' From 1ea8ab84c1b5b0aa7aac2ec142928e592d012960 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Mon, 9 Oct 2023 15:50:26 +0200 Subject: [PATCH 4/9] feat(apidocs): install dependencies for example app --- .github/workflows/generate-documentation.yml | 9 ++++++--- typedoc.json | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/generate-documentation.yml b/.github/workflows/generate-documentation.yml index 7359f9d0..d2f36f08 100644 --- a/.github/workflows/generate-documentation.yml +++ b/.github/workflows/generate-documentation.yml @@ -2,7 +2,7 @@ name: Generate documentation on: workflow_call: secrets: - PLAYER_CI_GH_TOKEN: + GH_TOKEN: description: GitHub token to access player-ci repo for CI scripts required: true GCS_ACCOUNT: @@ -37,9 +37,12 @@ jobs: registry-url: 'https://registry.npmjs.org/' cache: 'yarn' - - name: Install node_modules + - name: Install dependencies run: yarn install --frozen-lockfile + - name: Install dependencies (example/) + run: yarn example install --frozen-lockfile + - name: Detect version using jq run: | echo "PCI_BRANCH=$(jq -r '.version' package.json)" >> $GITHUB_ENV @@ -52,7 +55,7 @@ jobs: curl -sS -H "Authorization: token ${GH_TOKEN}" -L https://raw.githubusercontent.com/bitmovin-engineering/player-ci/master/install.sh | bash - name: Upload to CDN - run: node ./ci_scripts/src/uploadToGcs.js reactnative ./docs/generated + run: node ./ci_scripts/src/uploadToGcs.js reactnative ../../docs/generated - name: Purge CDN cache run: node ./ci_scripts/src/purgeCloudflarePath.js 'reactnative' diff --git a/typedoc.json b/typedoc.json index 1166e380..311e1f04 100644 --- a/typedoc.json +++ b/typedoc.json @@ -7,5 +7,6 @@ "excludeInternal": true, "excludeExternals": true, "includeVersion": true, - "entryPoints": ["./src"] + "entryPoints": ["./src"], + "exclude": ["./example/**/*"] } From d406a01f7a6b5a6103e0063fa5a04796ccbd455e Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Mon, 9 Oct 2023 16:23:36 +0200 Subject: [PATCH 5/9] feat(apidocs): generate and publish documentation on finishing release --- .github/workflows/finish-release-train.yml | 13 +++++++++++++ .github/workflows/generate-documentation.yml | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/.github/workflows/finish-release-train.yml b/.github/workflows/finish-release-train.yml index 6fc51e78..83a9fd82 100644 --- a/.github/workflows/finish-release-train.yml +++ b/.github/workflows/finish-release-train.yml @@ -5,12 +5,15 @@ on: - closed branches: - main + env: LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 + concurrency: group: finish-release-train-${{ github.ref_name }} cancel-in-progress: true + jobs: create_pr: if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/v') @@ -88,3 +91,13 @@ jobs: tag: v${{ needs.create_pr.outputs.version_number }} token: ${{ secrets.GITHUB_TOKEN }} body: ${{ steps.changelog.outputs.release_notes }} + + publish_documentation: + needs: [publish_release] + name: Generate API Documentation + uses: ./.github/workflows/generate-documentation.yml + secrets: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + GCS_ACCOUNT: ${{ secrets.GCS_ACCOUNT }} + CF_TOKEN: ${{ secrets.CF_TOKEN }} + CF_ZONEID: ${{ secrets.CF_ZONEID }} diff --git a/.github/workflows/generate-documentation.yml b/.github/workflows/generate-documentation.yml index d2f36f08..71d8a0b9 100644 --- a/.github/workflows/generate-documentation.yml +++ b/.github/workflows/generate-documentation.yml @@ -17,6 +17,10 @@ on: workflow_dispatch: +env: + LC_ALL: en_US.UTF-8 + LANG: en_US.UTF-8 + jobs: generate-documentation: env: From 6c1652b2d1428b474edac228913da9fe593f7c0f Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Mon, 9 Oct 2023 16:36:16 +0200 Subject: [PATCH 6/9] feat(apidocs): add changelog entry --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fccf185..8605a176 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [Unreleased] + +### Added + +- API Reference now can be found [here](https://cdn.bitmovin.com/player/reactnative/0/docs/index.html) + ## [0.12.0] (2023-09-25) ### Added From fca06a0cb0feffe87fc4c456fdb414098794a845 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Tue, 10 Oct 2023 11:44:11 +0200 Subject: [PATCH 7/9] feat(apidocs): simplify docs command --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ff00bac..fdaa61d5 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "pods-update": "cd example/ios && pod update --silent", "bootstrap": "yarn && yarn example && yarn pods", "prepare": "husky install", - "docs": "typedoc --options ./typedoc.json" + "docs": "typedoc" }, "keywords": [ "react-native", From cc84241cea6f9c0e50778cd4024ea689d975ac2e Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Tue, 10 Oct 2023 11:45:40 +0200 Subject: [PATCH 8/9] feat(apidocs): add API reference link to README --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 62de9eef..7596dc8a 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,10 @@ Please refer to the [Features](https://developer.bitmovin.com/playback/docs/reac ## Documentation +### API Reference + +Our API reference can be found [here](https://cdn.bitmovin.com/player/reactnative/0/docs/index.html). + ### Getting Started Guide Our [Getting Started Guide](https://developer.bitmovin.com/playback/docs/getting-started-react-native) walks you through setting up and configuring the Bitmovin Player in React Native projects. @@ -41,6 +45,7 @@ Check out our [React Native Guides](https://developer.bitmovin.com/playback/docs In the [/example/](https://github.com/bitmovin/bitmovin-player-react-native/tree/development/example) folder you can find a sample application showcasing many of the features of the Player React Native SDK. ## Maintenance and Updates + As an open source project, this library is not part of a regular maintenance or update schedule and is updated on an adhoc basis when contributions are made. ## Contributing to this project @@ -48,14 +53,17 @@ As an open source project, this library is not part of a regular maintenance or We are pleased to accept changes, updates and fixes from the community wishing to use and expand this project. Bitmovin will review any Pull Requests made. We do our best to provide timely feedback, but please note that no SLAs apply. New releases are tagged and published on our discretion. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more details on how to contribute. ## Raising a Feature Suggestion + If you see something missing that might be useful but are unable to contribute the feature yourself, please feel free to [submit a feature request](https://community.bitmovin.com/t/how-to-submit-a-feature-request-to-us/1463) through the Bitmovin Community. Feature suggestions will be considered by Bitmovin’s Product team for future roadmap plans. ## Reporting a bug + If you come across a bug related to the Player React Native SDK, please raise this through the support ticketing system accessible in your [Bitmovin Dashboard](https://dashboard.bitmovin.com/support/tickets). ## Support and SLA Disclaimer + As an open-source project and not a core product offering, any request, issue or query related to this project is excluded from any SLA and Support terms that a customer might have with either Bitmovin or another third-party service provider or Company contributing to this project. Any and all updates are purely at the contributor's discretion. ## Need more help? -Should you need further help, please raise your request to your Bitmovin account team. We can assist in a number of ways, from providing you professional services help to putting you in touch with preferred system integrators who can work with you to achieve your goals. +Should you need further help, please raise your request to your Bitmovin account team. We can assist in a number of ways, from providing you professional services help to putting you in touch with preferred system integrators who can work with you to achieve your goals. From c73c55d7196ee4b0dbc84f3f22a75a75f274b7f0 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Tue, 10 Oct 2023 15:00:46 +0200 Subject: [PATCH 9/9] feat(apidocs): simplify SideLoadedSubtitleTrack definition --- src/subtitleTrack.ts | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/src/subtitleTrack.ts b/src/subtitleTrack.ts index f2003a54..950f3987 100644 --- a/src/subtitleTrack.ts +++ b/src/subtitleTrack.ts @@ -49,37 +49,9 @@ export interface SubtitleTrack { * A subtitle track that can be added to `SourceConfig.subtitleTracks`. * */ -export interface SideLoadedSubtitleTrack { - /** - * The URL to the timed file, e.g. WebVTT file. - */ +export interface SideLoadedSubtitleTrack extends SubtitleTrack { url: string; - /** - * The label for this track. - */ label: string; - /** - * The IETF BCP 47 language tag associated with this track, e.g. `pt`, `en`, `es` etc. - */ language: string; - /** - * The unique identifier for this track. If no value is provided, a random UUIDv4 will be generated for it. - */ - identifier?: string; - /** - * Specifies the file format to be used by this track. - */ format: SubtitleFormat; - /** - * If set to true, this track would be considered as default. Default is `false`. - */ - isDefault?: boolean; - /** - * Tells if a subtitle track is forced. If set to `true` it means that the player should automatically - * select and switch this subtitle according to the selected audio language. Forced subtitles do - * not appear in `Player.getAvailableSubtitles`. - * - * Default is `false`. - */ - isForced?: boolean; }