release react-native plugin v5.1.0

This commit is contained in:
Taner Sener 2022-10-02 20:45:51 +01:00
parent 80dc3aea38
commit b3379ce597
11 changed files with 69 additions and 68 deletions

View File

@ -8,7 +8,7 @@ Please also include the context and motivation about the changes introduced.
- Documentation - Documentation
## Checks ## Checks
- [ ] Changes support all platforms (`Android`, `iOS`, `Linux`, macOS`, `tvOS`) - [ ] Changes support all platforms (`Android`, `iOS`, `Linux`, `macOS`, `tvOS`)
- [ ] Breaks existing functionality - [ ] Breaks existing functionality
- [ ] Implementation is completed, not half-done - [ ] Implementation is completed, not half-done
- [ ] Is there another PR already created for this feature/bug fix - [ ] Is there another PR already created for this feature/bug fix

View File

@ -125,7 +125,8 @@ the same `FFmpeg` release branch.
the exact version number of `FFmpeg` is obtained using the `git describe --tags` command. the exact version number of `FFmpeg` is obtained using the `git describe --tags` command.
| Platforms | FFmpegKit Version | FFmpeg Version | Release Date | | Platforms | FFmpegKit Version | FFmpeg Version | Release Date |
|:----------------:|:----------------------------------------------------------------------------------:|:--------------:|:------------:| |:----------------:|:---------------------------------------------------------------------------------:|:--------------:|:------------:|
| React Native | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/react.native.v5.1.0) | 5.1.2 | Oct 02, 2022 |
| Flutter | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/flutter.v5.1.0) | 5.1.2 | Oct 02, 2022 | | Flutter | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/flutter.v5.1.0) | 5.1.2 | Oct 02, 2022 |
| Android | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 | | Android | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 |
| Apple | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 | | Apple | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 |

View File

@ -114,6 +114,7 @@ the exact version number of `FFmpeg` is obtained using the `git describe --tags`
| Platforms | FFmpegKit Version | FFmpeg Version | Release Date | | Platforms | FFmpegKit Version | FFmpeg Version | Release Date |
|:----------------:|:---------------------------------------------------------------------------------:|:--------------:|:------------:| |:----------------:|:---------------------------------------------------------------------------------:|:--------------:|:------------:|
| React Native | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/react.native.v5.1.0) | 5.1.2 | Oct 02, 2022 |
| Flutter | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/flutter.v5.1.0) | 5.1.2 | Oct 02, 2022 | | Flutter | [5.1.0](https://github.com/arthenica/ffmpeg-kit/releases/tag/flutter.v5.1.0) | 5.1.2 | Oct 02, 2022 |
| Android | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 | | Android | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 |
| Apple | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 | | Apple | [5.1](https://github.com/arthenica/ffmpeg-kit/releases/tag/v5.1) | 5.1.2 | Sep 29, 2022 |

View File

@ -4,11 +4,13 @@
- Includes both `FFmpeg` and `FFprobe` - Includes both `FFmpeg` and `FFprobe`
- Supports - Supports
- Both `Android` and `iOS` - Both `Android` and `iOS`
- FFmpeg `v4.5-dev` releases - FFmpeg `v5.1.2`
- `arm-v7a`, `arm-v7a-neon`, `arm64-v8a`, `x86` and `x86_64` architectures on Android - `arm-v7a`, `arm-v7a-neon`, `arm64-v8a`, `x86` and `x86_64` architectures on Android
- `Android API Level 16` or later - `Android API Level 24` or later
- `API Level 16` on LTS releases
- `armv7`, `armv7s`, `arm64`, `arm64-simulator`, `i386`, `x86_64`, `x86_64-mac-catalyst` and `arm64-mac-catalyst` architectures on iOS - `armv7`, `armv7s`, `arm64`, `arm64-simulator`, `i386`, `x86_64`, `x86_64-mac-catalyst` and `arm64-mac-catalyst` architectures on iOS
- `iOS SDK 10` or later - `iOS SDK 12.1` or later
- `iOS SDK 10` on LTS releases
- Can process Storage Access Framework (SAF) Uris on Android - Can process Storage Access Framework (SAF) Uris on Android
- 25 external libraries - 25 external libraries
@ -22,7 +24,7 @@
- `bzip2`, `iconv`, `libuuid`, `zlib` system libraries and `AudioToolbox`, `VideoToolbox`, `AVFoundation` system frameworks on iOS - `bzip2`, `iconv`, `libuuid`, `zlib` system libraries and `AudioToolbox`, `VideoToolbox`, `AVFoundation` system frameworks on iOS
- Includes Typescript definitions - Includes Typescript definitions
- Licensed under LGPL 3.0, can be customized to support GPL v3.0 - Licensed under `LGPL 3.0` by default, some packages licensed by `GPL v3.0` effectively
### 2. Installation ### 2. Installation
@ -32,16 +34,16 @@ yarn add ffmpeg-kit-react-native
#### 2.1 Packages #### 2.1 Packages
`ffmpeg` includes built-in encoders for some popular formats. However, there are certain external libraries that needs `FFmpeg` includes built-in encoders for some popular formats. However, there are certain external libraries that needs
to be enabled in order to encode specific formats/codecs. For example, to encode an `mp3` file you need `lame` or to be enabled in order to encode specific formats/codecs. For example, to encode an `mp3` file you need `lame` or
`shine` library enabled. You have to install a `ffmpeg-kit-react-native` package that has at least one of them inside. `shine` library enabled. You have to install a `ffmpeg-kit-react-native` package that has at least one of them inside.
To encode an `h264` video, you need to install a package with `x264` inside. To encode `vp8` or `vp9` videos, you need To encode an `h264` video, you need to install a package with `x264` inside. To encode `vp8` or `vp9` videos, you need
a `ffmpeg-kit-react-native` package with `libvpx` inside. a `ffmpeg-kit-react-native` package with `libvpx` inside.
`ffmpeg-kit` provides eight packages that include different sets of external libraries. These packages are `ffmpeg-kit` provides eight packages that include different sets of external libraries. These packages are named
named according to the external libraries included in them. Refer to according to the external libraries included. Refer to the
[Packages](https://github.com/arthenica/ffmpeg-kit#9-packages) section of the project README to see the names [Packages](https://github.com/arthenica/ffmpeg-kit/wiki/Packages) wiki page to see the names of those
of those packages and external libraries included in each of them. packages and external libraries included in each one of them.
##### 2.1.1 Package Names ##### 2.1.1 Package Names
@ -184,10 +186,10 @@ the package name you are using.
#### 2.4 LTS Releases #### 2.4 LTS Releases
`ffmpeg-kit-react-native` is published in two different variants: `Main Release` and `LTS Release`. Both releases `ffmpeg-kit-react-native` is published in two variants: `Main Release` and `LTS Release`. Both releases share the
share the same source code but is built with different settings (Architectures, API Level, iOS Min SDK, etc.). Refer to same source code but is built with different settings (Architectures, API Level, iOS Min SDK, etc.). Refer to the
[LTS Releases](https://github.com/arthenica/ffmpeg-kit#11-lts-releases) section of the project README to see how they [LTS Releases](https://github.com/arthenica/ffmpeg-kit/wiki/LTS-Releases) wiki page to see how they differ from each
compare to each other. other.
### 3. Using ### 3. Using

View File

@ -1,11 +1,11 @@
buildscript { buildscript {
repositories { repositories {
google() google()
jcenter() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.2.2' classpath 'com.android.tools.build:gradle:7.3.0'
} }
} }
@ -26,13 +26,13 @@ def safeExtGet(String prop, String fallback) {
} }
android { android {
compileSdkVersion 30 compileSdkVersion 31
defaultConfig { defaultConfig {
minSdkVersion safeExtGet('ffmpegKitPackage', 'https').contains("-lts") ? 16 : 24 minSdkVersion safeExtGet('ffmpegKitPackage', 'https').contains("-lts") ? 16 : 24
targetSdkVersion 30 targetSdkVersion 31
versionCode 452 versionCode 510
versionName "4.5.2" versionName "5.1.0"
} }
buildTypes { buildTypes {
@ -44,14 +44,13 @@ android {
disable 'GradleCompatible' disable 'GradleCompatible'
} }
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_11
} }
} }
repositories { repositories {
mavenCentral() mavenCentral()
jcenter()
google() google()
def found = false def found = false

View File

@ -1,3 +1,3 @@
android.useAndroidX=true android.useAndroidX=true
ffmpegKit.android.main.version=4.5.1-1 ffmpegKit.android.main.version=5.1
ffmpegKit.android.lts.version=4.5.1-1 ffmpegKit.android.lts.version=5.1

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -23,112 +23,112 @@ Pod::Spec.new do |s|
s.subspec 'min' do |ss| s.subspec 'min' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-min', "4.5.1" ss.dependency 'ffmpeg-kit-ios-min', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'min-lts' do |ss| s.subspec 'min-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-min', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-min', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'min-gpl' do |ss| s.subspec 'min-gpl' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-min-gpl', "4.5.1" ss.dependency 'ffmpeg-kit-ios-min-gpl', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'min-gpl-lts' do |ss| s.subspec 'min-gpl-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-min-gpl', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-min-gpl', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'https' do |ss| s.subspec 'https' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-https', "4.5.1" ss.dependency 'ffmpeg-kit-ios-https', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'https-lts' do |ss| s.subspec 'https-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-https', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-https', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'https-gpl' do |ss| s.subspec 'https-gpl' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-https-gpl', "4.5.1" ss.dependency 'ffmpeg-kit-ios-https-gpl', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'https-gpl-lts' do |ss| s.subspec 'https-gpl-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-https-gpl', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-https-gpl', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'audio' do |ss| s.subspec 'audio' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-audio', "4.5.1" ss.dependency 'ffmpeg-kit-ios-audio', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'audio-lts' do |ss| s.subspec 'audio-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-audio', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-audio', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'video' do |ss| s.subspec 'video' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-video', "4.5.1" ss.dependency 'ffmpeg-kit-ios-video', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'video-lts' do |ss| s.subspec 'video-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-video', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-video', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'full' do |ss| s.subspec 'full' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-full', "4.5.1" ss.dependency 'ffmpeg-kit-ios-full', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'full-lts' do |ss| s.subspec 'full-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-full', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-full', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end
s.subspec 'full-gpl' do |ss| s.subspec 'full-gpl' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-full-gpl', "4.5.1" ss.dependency 'ffmpeg-kit-ios-full-gpl', "5.1"
ss.ios.deployment_target = '12.1' ss.ios.deployment_target = '12.1'
end end
s.subspec 'full-gpl-lts' do |ss| s.subspec 'full-gpl-lts' do |ss|
ss.source_files = '**/FFmpegKitReactNativeModule.m', ss.source_files = '**/FFmpegKitReactNativeModule.m',
'**/FFmpegKitReactNativeModule.h' '**/FFmpegKitReactNativeModule.h'
ss.dependency 'ffmpeg-kit-ios-full-gpl', "4.5.1.LTS" ss.dependency 'ffmpeg-kit-ios-full-gpl', "5.1.LTS"
ss.ios.deployment_target = '10' ss.ios.deployment_target = '10'
end end

View File

@ -299,23 +299,21 @@ RCT_EXPORT_METHOD(mediaInformationSession:(NSArray*)arguments resolver:(RCTPromi
// MediaInformationJsonParser // MediaInformationJsonParser
RCT_EXPORT_METHOD(mediaInformationJsonParserFrom:(NSString*)ffprobeJsonOutput resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { RCT_EXPORT_METHOD(mediaInformationJsonParserFrom:(NSString*)ffprobeJsonOutput resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error; @try {
MediaInformation* mediaInformation = [MediaInformationJsonParser from:ffprobeJsonOutput with:error]; MediaInformation* mediaInformation = [MediaInformationJsonParser fromWithError:ffprobeJsonOutput];
if (error == nil) {
resolve([FFmpegKitReactNativeModule toMediaInformationDictionary:mediaInformation]); resolve([FFmpegKitReactNativeModule toMediaInformationDictionary:mediaInformation]);
} else { } @catch (NSException *exception) {
NSLog(@"MediaInformation parsing failed: %@.\n", error); NSLog(@"Parsing MediaInformation failed: %@.\n", [NSString stringWithFormat:@"%@\n%@", [exception userInfo], [exception callStackSymbols]]);
resolve(nil); resolve(nil);
} }
} }
RCT_EXPORT_METHOD(mediaInformationJsonParserFromWithError:(NSString*)ffprobeJsonOutput resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { RCT_EXPORT_METHOD(mediaInformationJsonParserFromWithError:(NSString*)ffprobeJsonOutput resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error; @try {
MediaInformation* mediaInformation = [MediaInformationJsonParser from:ffprobeJsonOutput with:error]; MediaInformation* mediaInformation = [MediaInformationJsonParser fromWithError:ffprobeJsonOutput];
if (error == nil) {
resolve([FFmpegKitReactNativeModule toMediaInformationDictionary:mediaInformation]); resolve([FFmpegKitReactNativeModule toMediaInformationDictionary:mediaInformation]);
} else { } @catch (NSException *exception) {
NSLog(@"MediaInformation parsing failed: %@.\n", error); NSLog(@"Parsing MediaInformation failed: %@.\n", [NSString stringWithFormat:@"%@\n%@", [exception userInfo], [exception callStackSymbols]]);
reject(@"PARSE_FAILED", @"Parsing MediaInformation failed with JSON error.", nil); reject(@"PARSE_FAILED", @"Parsing MediaInformation failed with JSON error.", nil);
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "ffmpeg-kit-react-native", "name": "ffmpeg-kit-react-native",
"version": "4.5.2", "version": "5.1.0",
"description": "FFmpeg Kit for React Native", "description": "FFmpeg Kit for React Native",
"main": "src/index", "main": "src/index",
"types": "src/index.d.ts", "types": "src/index.d.ts",
@ -19,7 +19,7 @@
"ios" "ios"
], ],
"repository": "https://github.com/arthenica/ffmpeg-kit", "repository": "https://github.com/arthenica/ffmpeg-kit",
"author": "ARTHENICA <open-source@arthenica.com> (https://github.com/arthenica)", "author": "ARTHENICA <open-source@arthenica.com> (https://www.arthenica.com)",
"license": "LGPL-3.0", "license": "LGPL-3.0",
"bugs": { "bugs": {
"url": "https://github.com/arthenica/ffmpeg-kit/issues" "url": "https://github.com/arthenica/ffmpeg-kit/issues"

View File

@ -1611,7 +1611,7 @@ class FFmpegKitFactory {
} }
static getVersion() { static getVersion() {
return "4.5.2"; return "5.1.0";
} }
static getLogRedirectionStrategy(sessionId) { static getLogRedirectionStrategy(sessionId) {
@ -3091,7 +3091,7 @@ export class StreamInformation {
* @return tags object * @return tags object
*/ */
getTags() { getTags() {
return this.getProperties(StreamInformation.KEY_TAGS); return this.getProperty(StreamInformation.KEY_TAGS);
} }
/** /**
@ -3123,12 +3123,12 @@ export class StreamInformation {
} }
/** /**
* Returns the stream properties associated with the key. * Returns the stream property associated with the key.
* *
* @param key properties key * @param key property key
* @return stream properties as an object or undefined if the key is not found * @return stream property as an object or undefined if the key is not found
*/ */
getProperties(key) { getProperty(key) {
if (this.#allProperties !== undefined) { if (this.#allProperties !== undefined) {
return this.#allProperties[key]; return this.#allProperties[key];
} else { } else {
@ -3225,7 +3225,7 @@ export class Chapter {
* @return tags object * @return tags object
*/ */
getTags() { getTags() {
return this.getProperties(StreamInformation.KEY_TAGS); return this.getProperty(StreamInformation.KEY_TAGS);
} }
/** /**
@ -3257,12 +3257,12 @@ export class Chapter {
} }
/** /**
* Returns the chapter properties associated with the key. * Returns the chapter property associated with the key.
* *
* @param key properties key * @param key property key
* @return chapter properties as an object or undefined if the key is not found * @return chapter property as an object or undefined if the key is not found
*/ */
getProperties(key) { getProperty(key) {
if (this.#allProperties !== undefined) { if (this.#allProperties !== undefined) {
return this.#allProperties[key]; return this.#allProperties[key];
} else { } else {