瀏覽代碼

update v0.2.4 assets

Taner Sener 6 年之前
父節點
當前提交
a041e28501
共有 93 個文件被更改,包括 325 次插入265 次删除
  1. 6 0
      CHANGELOG.md
  2. 44 7
      README.md
  3. 2 2
      android/build.gradle
  4. 1 7
      android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  5. 二進制
      doc/assets/tip_png_files.png
  6. 二進制
      doc/assets/tip_runner_deployment_target.png
  7. 6 6
      example/ios/Podfile.lock
  8. 4 4
      example/ios/Runner.xcodeproj/project.pbxproj
  9. 1 1
      example/pubspec.lock
  10. 9 2
      ios/Classes/FlutterFfmpegPlugin.m
  11. 2 2
      ios/flutter_ffmpeg.podspec
  12. 2 2
      packages/flutter_ffmpeg_audio/android/build.gradle
  13. 1 7
      packages/flutter_ffmpeg_audio/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  14. 9 2
      packages/flutter_ffmpeg_audio/ios/Classes/FlutterFfmpegPlugin.m
  15. 2 2
      packages/flutter_ffmpeg_audio/ios/flutter_ffmpeg.podspec
  16. 1 1
      packages/flutter_ffmpeg_audio/pubspec.yaml
  17. 3 3
      packages/flutter_ffmpeg_audio_lts/android/build.gradle
  18. 1 7
      packages/flutter_ffmpeg_audio_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  19. 9 2
      packages/flutter_ffmpeg_audio_lts/ios/Classes/FlutterFfmpegPlugin.m
  20. 2 2
      packages/flutter_ffmpeg_audio_lts/ios/flutter_ffmpeg.podspec
  21. 1 1
      packages/flutter_ffmpeg_audio_lts/pubspec.yaml
  22. 2 2
      packages/flutter_ffmpeg_full-gpl/android/build.gradle
  23. 1 7
      packages/flutter_ffmpeg_full-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  24. 9 2
      packages/flutter_ffmpeg_full-gpl/ios/Classes/FlutterFfmpegPlugin.m
  25. 2 2
      packages/flutter_ffmpeg_full-gpl/ios/flutter_ffmpeg.podspec
  26. 1 1
      packages/flutter_ffmpeg_full-gpl/pubspec.yaml
  27. 3 3
      packages/flutter_ffmpeg_full-gpl_lts/android/build.gradle
  28. 1 7
      packages/flutter_ffmpeg_full-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  29. 9 2
      packages/flutter_ffmpeg_full-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  30. 2 2
      packages/flutter_ffmpeg_full-gpl_lts/ios/flutter_ffmpeg.podspec
  31. 1 1
      packages/flutter_ffmpeg_full-gpl_lts/pubspec.yaml
  32. 2 2
      packages/flutter_ffmpeg_full/android/build.gradle
  33. 1 7
      packages/flutter_ffmpeg_full/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  34. 9 2
      packages/flutter_ffmpeg_full/ios/Classes/FlutterFfmpegPlugin.m
  35. 2 2
      packages/flutter_ffmpeg_full/ios/flutter_ffmpeg.podspec
  36. 1 1
      packages/flutter_ffmpeg_full/pubspec.yaml
  37. 3 3
      packages/flutter_ffmpeg_full_lts/android/build.gradle
  38. 1 7
      packages/flutter_ffmpeg_full_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  39. 9 2
      packages/flutter_ffmpeg_full_lts/ios/Classes/FlutterFfmpegPlugin.m
  40. 2 2
      packages/flutter_ffmpeg_full_lts/ios/flutter_ffmpeg.podspec
  41. 1 1
      packages/flutter_ffmpeg_full_lts/pubspec.yaml
  42. 2 2
      packages/flutter_ffmpeg_https-gpl/android/build.gradle
  43. 1 7
      packages/flutter_ffmpeg_https-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  44. 9 2
      packages/flutter_ffmpeg_https-gpl/ios/Classes/FlutterFfmpegPlugin.m
  45. 2 2
      packages/flutter_ffmpeg_https-gpl/ios/flutter_ffmpeg.podspec
  46. 1 1
      packages/flutter_ffmpeg_https-gpl/pubspec.yaml
  47. 3 3
      packages/flutter_ffmpeg_https-gpl_lts/android/build.gradle
  48. 1 7
      packages/flutter_ffmpeg_https-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  49. 9 2
      packages/flutter_ffmpeg_https-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  50. 2 2
      packages/flutter_ffmpeg_https-gpl_lts/ios/flutter_ffmpeg.podspec
  51. 1 1
      packages/flutter_ffmpeg_https-gpl_lts/pubspec.yaml
  52. 2 2
      packages/flutter_ffmpeg_https/android/build.gradle
  53. 1 7
      packages/flutter_ffmpeg_https/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  54. 9 2
      packages/flutter_ffmpeg_https/ios/Classes/FlutterFfmpegPlugin.m
  55. 2 2
      packages/flutter_ffmpeg_https/ios/flutter_ffmpeg.podspec
  56. 1 1
      packages/flutter_ffmpeg_https/pubspec.yaml
  57. 3 3
      packages/flutter_ffmpeg_https_lts/android/build.gradle
  58. 1 7
      packages/flutter_ffmpeg_https_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  59. 9 2
      packages/flutter_ffmpeg_https_lts/ios/Classes/FlutterFfmpegPlugin.m
  60. 2 2
      packages/flutter_ffmpeg_https_lts/ios/flutter_ffmpeg.podspec
  61. 1 1
      packages/flutter_ffmpeg_https_lts/pubspec.yaml
  62. 2 2
      packages/flutter_ffmpeg_min-gpl/android/build.gradle
  63. 1 7
      packages/flutter_ffmpeg_min-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  64. 9 2
      packages/flutter_ffmpeg_min-gpl/ios/Classes/FlutterFfmpegPlugin.m
  65. 2 2
      packages/flutter_ffmpeg_min-gpl/ios/flutter_ffmpeg.podspec
  66. 1 1
      packages/flutter_ffmpeg_min-gpl/pubspec.yaml
  67. 3 3
      packages/flutter_ffmpeg_min-gpl_lts/android/build.gradle
  68. 1 7
      packages/flutter_ffmpeg_min-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  69. 9 2
      packages/flutter_ffmpeg_min-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  70. 2 2
      packages/flutter_ffmpeg_min-gpl_lts/ios/flutter_ffmpeg.podspec
  71. 1 1
      packages/flutter_ffmpeg_min-gpl_lts/pubspec.yaml
  72. 2 2
      packages/flutter_ffmpeg_min/android/build.gradle
  73. 1 7
      packages/flutter_ffmpeg_min/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  74. 9 2
      packages/flutter_ffmpeg_min/ios/Classes/FlutterFfmpegPlugin.m
  75. 2 2
      packages/flutter_ffmpeg_min/ios/flutter_ffmpeg.podspec
  76. 1 1
      packages/flutter_ffmpeg_min/pubspec.yaml
  77. 3 3
      packages/flutter_ffmpeg_min_lts/android/build.gradle
  78. 1 7
      packages/flutter_ffmpeg_min_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  79. 9 2
      packages/flutter_ffmpeg_min_lts/ios/Classes/FlutterFfmpegPlugin.m
  80. 2 2
      packages/flutter_ffmpeg_min_lts/ios/flutter_ffmpeg.podspec
  81. 1 1
      packages/flutter_ffmpeg_min_lts/pubspec.yaml
  82. 2 2
      packages/flutter_ffmpeg_video/android/build.gradle
  83. 1 7
      packages/flutter_ffmpeg_video/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  84. 9 2
      packages/flutter_ffmpeg_video/ios/Classes/FlutterFfmpegPlugin.m
  85. 2 2
      packages/flutter_ffmpeg_video/ios/flutter_ffmpeg.podspec
  86. 1 1
      packages/flutter_ffmpeg_video/pubspec.yaml
  87. 3 3
      packages/flutter_ffmpeg_video_lts/android/build.gradle
  88. 1 7
      packages/flutter_ffmpeg_video_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  89. 9 2
      packages/flutter_ffmpeg_video_lts/ios/Classes/FlutterFfmpegPlugin.m
  90. 2 2
      packages/flutter_ffmpeg_video_lts/ios/flutter_ffmpeg.podspec
  91. 1 1
      packages/flutter_ffmpeg_video_lts/pubspec.yaml
  92. 1 1
      pubspec.yaml
  93. 1 1
      tool/release.sh

+ 6 - 0
CHANGELOG.md

@@ -1,3 +1,9 @@
+## 0.2.4
+- Adds support for Android devices with API Level 16+
+- Fixes issues #21 and #36
+- Removes conflicting attributes from AndroidManifest.xml
+- Includes ProGuard configuration file inside
+
 ## 0.2.3
 - Fixed flutter v1.6 compatibility errors on packages
 

+ 44 - 7
README.md

@@ -1,6 +1,6 @@
 # flutter_ffmpeg 
 
-![GitHub release](https://img.shields.io/badge/release-v0.2.3-blue.svg) 
+![GitHub release](https://img.shields.io/badge/release-v0.2.4-blue.svg)
 ![](https://img.shields.io/pub/v/flutter_ffmpeg.svg)
 
 FFmpeg plugin for Flutter. Supports iOS and Android.
@@ -10,7 +10,7 @@ FFmpeg plugin for Flutter. Supports iOS and Android.
 ### 1. Features
 - Based on MobileFFmpeg
 - Supports
-    - Both Android (API 21+) and iOS (SDK 9.3+)
+    - Both Android (API Level 16+) and iOS (SDK 9.3+)
     - FFmpeg `v4.2-dev-x` (master) releases
     - `arm-v7a`, `arm-v7a-neon`, `arm64-v8a`, `x86` and `x86_64` architectures on Android
     - `armv7`, `armv7s`, `arm64`, `arm64e`, `i386` and `x86_64` architectures on iOS
@@ -67,7 +67,11 @@ FFmpeg plugin for Flutter. Supports iOS and Android.
 
 ### 2. Installation
 
-Add `flutter_ffmpeg` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins).
+Add `flutter_ffmpeg` as a dependency in your `pubspec.yaml file`.
+  ```
+dependencies:
+    flutter_ffmpeg: ^0.2.4
+  ```
 
 #### 2.1 Packages
 
@@ -79,7 +83,7 @@ Installation of `FlutterFFmpeg` using `pub` enables the default package, which i
       flutter_ffmpeg:
         git:
           url: git://github.com/tanersener/flutter-ffmpeg.git
-          ref: v0.2.3
+          ref: v0.2.4
           path: packages/flutter_ffmpeg_<package_name>
 
     ```
@@ -105,7 +109,7 @@ In order to install the `LTS` variant, install the `flutter_ffmpeg_https_lts` pa
     <tr>
         <td align="center">Android API Level</td>
         <td align="center">24</td>
-        <td align="center">21</td>
+        <td align="center">16</td>
     </tr>
     <tr>
         <td align="center">Android Camera Access</td>
@@ -287,12 +291,45 @@ In order to install the `LTS` variant, install the `flutter_ffmpeg_https_lts` pa
 
 - `flutter_ffmpeg` uses file system paths, it does not know what an assets folder or project folder is. So you can't use resources on those folders directly, you need to provide full paths of those resources.
 
+- `flutter_ffmpeg` requires ios deployment target to be at least `9.3`. 
+  So if you don't specify a deployment target or set a value smaller than `9.3` then your build will fail with the following error.
+   
+   ```
+    Resolving dependencies of `Podfile`
+    [!] CocoaPods could not find compatible versions for pod "flutter_ffmpeg":
+      In Podfile:
+        flutter_ffmpeg (from `.symlinks/plugins/flutter_ffmpeg/ios`)
+    
+    Specs satisfying the `flutter_ffmpeg (from `.symlinks/plugins/flutter_ffmpeg/ios`)` dependency were found, but they required a higher minimum
+    deployment target.
+    ```
+    
+  You can fix this issue by adding `platform :ios, '9.3'` definition to your `ios/Podfile` file.
+
+    ```
+    platform :ios, '9.3'
+    ```
+    
+- `flutter_ffmpeg` includes native libraries that require ios deployment target to be at least `9.3`. 
+  If a deployment target is not set or a value smaller than `9.3` is used then your build will fail with the following error.
+   
+    ```
+    ld: targeted OS version does not support use of thread local variables in __gnutls_rnd_deinit for architecture x86_64
+    clang: error: linker command failed with exit code 1 (use -v to see invocation)
+    ```
+
+  Unfortunately the latest versions of `Flutter` and `Cocoapods` have some issues about setting ios deployment target from `Podfile`.
+  Having `platform :ios, '9.3'` in your `Podfile` is not enough. `Runner` project still uses the default value `8.0`.
+  You need to open `Runner.xcworkspace` in `Xcode` and set `iOS Deployment Target` of `Runner` project to `9.3` manually.
+    
+    <img src="https://github.com/tanersener/flutter-ffmpeg/raw/development/doc/assets/tip_runner_deployment_target.png" width="480">
+
 - `execute` method is overloaded and has an optional delimiter parameter. Delimiter defines how the command string will be split into arguments. 
 When delimiter is not specified the space character is used as the default delimiter. 
 Based on this, if one or more of your command arguments include a space character, in filename path or in `-filter_complex` block, then your command string will be split into invalid arguments and execution will fail.  
 You can fix this error by splitting your command string into array yourself and calling `executeWithArguments` method or using a different delimiter character in your command string and specifying it in the `execute` call.
 
-- Enabling `ProGuard` on Android causes linking errors. Please add the following rule inside your `proguard-rules.pro` file to preserve necessary method names and prevent linking errors.
+- Enabling `ProGuard` on releases older than `v0.2.4` causes linking errors. Please add the following rule inside your `proguard-rules.pro` file to preserve necessary method names and prevent linking errors.
 
     ```
     -keep class com.arthenica.mobileffmpeg.Config {
@@ -308,7 +345,7 @@ You can overcome this situation by registering a font using `setFontDirectory` m
 
 - By default, Xcode compresses `PNG` files during packaging. If you use `.png` files in your commands make sure you set the following two settings to `NO`. If one of them is set to `YES`, your operations may fail with `Error while decoding stream #0:0: Generic error in an external library` error.
 
-    <img width="720" alt="png_settings" src="https://user-images.githubusercontent.com/10158439/45798948-794c9f80-bcb4-11e8-8881-8c61789b283c.png">
+    <img src="https://github.com/tanersener/flutter-ffmpeg/raw/development/doc/assets/tip_png_files.png" width="720">
     
 - Setting `use_frameworks!` in `Podfile` causes the following error.
 

+ 2 - 2
android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.2'
 }

+ 1 - 7
android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

二進制
doc/assets/tip_png_files.png


二進制
doc/assets/tip_runner_deployment_target.png


+ 6 - 6
example/ios/Podfile.lock

@@ -1,9 +1,9 @@
 PODS:
   - Flutter (1.0.0)
-  - flutter_ffmpeg (0.2.1):
+  - flutter_ffmpeg (0.2.4):
     - Flutter
-    - mobile-ffmpeg-https (= 4.2.1)
-  - mobile-ffmpeg-https (4.2.1)
+    - mobile-ffmpeg-https (= 4.2.2)
+  - mobile-ffmpeg-https (4.2.2)
   - path_provider (0.0.1):
     - Flutter
 
@@ -26,10 +26,10 @@ EXTERNAL SOURCES:
 
 SPEC CHECKSUMS:
   Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a
-  flutter_ffmpeg: 0f46a00885283b937e1759045ba706f9784bca22
-  mobile-ffmpeg-https: e16efbe31cda03074b967570906112ae88e1c8b3
+  flutter_ffmpeg: 0559b652297c415396f5c2e9bbb2f453b58cde1e
+  mobile-ffmpeg-https: 9474e6e0958b6c12d981073d81a3b9484da02f48
   path_provider: f96fff6166a8867510d2c25fdcc346327cc4b259
 
 PODFILE CHECKSUM: f89e2d3393e97ef827d5588a24b755fc03ebc243
 
-COCOAPODS: 1.7.0.beta.3
+COCOAPODS: 1.7.3

+ 4 - 4
example/ios/Runner.xcodeproj/project.pbxproj

@@ -145,7 +145,6 @@
 				4B23FBE71044F4775C377690 /* Pods-Runner.release.xcconfig */,
 				57FE3D43E457162CAB644DD1 /* Pods-Runner.profile.xcconfig */,
 			);
-			name = Pods;
 			path = Pods;
 			sourceTree = "<group>";
 		};
@@ -193,6 +192,7 @@
 			developmentRegion = English;
 			hasScannedForEncodings = 0;
 			knownRegions = (
+				English,
 				en,
 				Base,
 			);
@@ -365,7 +365,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";
@@ -443,7 +443,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
@@ -491,7 +491,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				TARGETED_DEVICE_FAMILY = "1,2";

+ 1 - 1
example/pubspec.lock

@@ -47,7 +47,7 @@ packages:
       path: ".."
       relative: true
     source: path
-    version: "0.2.3"
+    version: "0.2.4"
   flutter_test:
     dependency: "direct dev"
     description: flutter

+ 9 - 2
ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-https', '4.2.1'
+  s.dependency          'mobile-ffmpeg-https', '4.2.2'
 
 end
 

+ 2 - 2
packages/flutter_ffmpeg_audio/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-audio:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-audio:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_audio/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_audio/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_audio/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-audio', '4.2.1'
+  s.dependency          'mobile-ffmpeg-audio', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_audio/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_audio_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-audio:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-audio:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_audio_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_audio_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_audio_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-audio', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-audio', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_audio_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_full-gpl/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_full-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_full-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_full-gpl/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-full-gpl', '4.2.1'
+  s.dependency          'mobile-ffmpeg-full-gpl', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_full-gpl/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_full-gpl_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-full-gpl:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_full-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_full-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_full-gpl_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-full-gpl', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-full-gpl', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_full-gpl_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_full/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-full:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-full:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_full/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_full/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_full/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-full', '4.2.1'
+  s.dependency          'mobile-ffmpeg-full', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_full/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_full_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-full:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-full:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_full_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_full_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_full_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-full', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-full', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_full_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_https-gpl/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-https-gpl:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-https-gpl:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_https-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_https-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_https-gpl/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-https-gpl', '4.2.1'
+  s.dependency          'mobile-ffmpeg-https-gpl', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_https-gpl/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_https-gpl_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-https-gpl:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-https-gpl:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_https-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_https-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_https-gpl_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-https-gpl', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-https-gpl', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_https-gpl_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_https/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_https/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_https/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_https/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-https', '4.2.1'
+  s.dependency          'mobile-ffmpeg-https', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_https/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_https_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-https:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_https_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_https_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_https_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-https', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-https', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_https_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_min-gpl/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-min-gpl:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-min-gpl:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_min-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_min-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_min-gpl/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-min-gpl', '4.2.1'
+  s.dependency          'mobile-ffmpeg-min-gpl', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_min-gpl/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_min-gpl_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-min-gpl:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-min-gpl:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_min-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_min-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_min-gpl_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-min-gpl', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-min-gpl', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_min-gpl_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_min/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-min:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-min:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_min/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_min/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_min/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-min', '4.2.1'
+  s.dependency          'mobile-ffmpeg-min', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_min/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_min_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-min:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-min:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_min_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_min_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_min_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-min', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-min', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_min_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 2 - 2
packages/flutter_ffmpeg_video/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-video:4.2.1'
+    implementation 'com.arthenica:mobile-ffmpeg-video:4.2.2'
 }

+ 1 - 7
packages/flutter_ffmpeg_video/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_video/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_video/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-video', '4.2.1'
+  s.dependency          'mobile-ffmpeg-video', '4.2.2'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_video/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 3 - 3
packages/flutter_ffmpeg_video_lts/android/build.gradle

@@ -1,5 +1,5 @@
 group 'com.arthenica.flutter.ffmpeg'
-version '0.2.1'
+version '0.2.4'
 
 buildscript {
     repositories {
@@ -25,7 +25,7 @@ android {
     compileSdkVersion 28
 
     defaultConfig {
-        minSdkVersion 21
+        minSdkVersion 16
     }
     lintOptions {
         disable 'InvalidPackage'
@@ -33,5 +33,5 @@ android {
 }
 
 dependencies {
-    implementation 'com.arthenica:mobile-ffmpeg-video:4.2.LTS'
+    implementation 'com.arthenica:mobile-ffmpeg-video:4.2.2.LTS'
 }

+ 1 - 7
packages/flutter_ffmpeg_video_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -20,8 +20,6 @@
 package com.arthenica.flutter.ffmpeg;
 
 import android.content.Context;
-import android.system.ErrnoException;
-import android.util.Log;
 
 import com.arthenica.mobileffmpeg.AbiDetect;
 import com.arthenica.mobileffmpeg.Config;
@@ -204,11 +202,7 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
         } else if (call.method.equals("setFontconfigConfigurationPath")) {
             String path = call.argument("path");
 
-            try {
-                Config.setFontconfigConfigurationPath(path);
-            } catch (final ErrnoException e) {
-                Log.w(LIBRARY_NAME, String.format("Setting fontconfig configuration path failed for %s", path), e);
-            }
+            Config.setFontconfigConfigurationPath(path);
 
         } else if (call.method.equals("setFontDirectory")) {
 

+ 9 - 2
packages/flutter_ffmpeg_video_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -232,12 +232,12 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
 }
 
 - (void)emitLogMessage:(NSDictionary*)logMessage{
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG :logMessage]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_LOG withDictionary:logMessage]);
 }
 
 - (void)emitStatistics:(Statistics*)statistics{
     NSDictionary *dictionary = [FlutterFFmpegPlugin toStatisticsDictionary:statistics];
-    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT :dictionary]);
+    _eventSink([FlutterFFmpegPlugin toStringDictionary:EVENT_STAT withDictionary:dictionary]);
 }
 
 + (NSDictionary *)toStringDictionary:(NSString*)key :(NSString*)value {
@@ -247,6 +247,13 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
     return dictionary;
 }
 
++ (NSDictionary *)toStringDictionary:(NSString*)key withDictionary:(NSDictionary*)value {
+    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
+    dictionary[key] = value;
+
+    return dictionary;
+}
+
 + (NSDictionary *)toIntDictionary:(NSString*)key :(NSNumber*)value {
     NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
     dictionary[key] = value;

+ 2 - 2
packages/flutter_ffmpeg_video_lts/ios/flutter_ffmpeg.podspec

@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name             = 'flutter_ffmpeg'
-  s.version          = '0.2.1'
+  s.version          = '0.2.4'
   s.summary          = 'FFmpeg plugin for Flutter.'
   s.description      = 'FFmpeg plugin based on mobile-ffmpeg for Flutter.'
   s.homepage         = 'https://github.com/tanersener/flutter-ffmpeg'
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
   s.public_header_files = 'Classes/**/*.h'
 
   s.dependency          'Flutter'
-  s.dependency          'mobile-ffmpeg-video', '4.2.LTS'
+  s.dependency          'mobile-ffmpeg-video', '4.2.2.LTS'
 
 end
 

+ 1 - 1
packages/flutter_ffmpeg_video_lts/pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 1 - 1
pubspec.yaml

@@ -1,6 +1,6 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.3
+version: 0.2.4
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 

+ 1 - 1
tool/release.sh

@@ -51,7 +51,7 @@ create_package() {
     sed -i .tmp "s/mobile-ffmpeg-https/mobile-ffmpeg-$1/g" ${PACKAGE_PATH}/ios/flutter_ffmpeg.podspec
     
     if [[ "$2" == "yes" ]]; then
-        sed -i .tmp "s/minSdkVersion 24/minSdkVersion 21/g" ${PACKAGE_PATH}/android/build.gradle
+        sed -i .tmp "s/minSdkVersion 24/minSdkVersion 16/g" ${PACKAGE_PATH}/android/build.gradle
         sed -i .tmp "s/implementation \'com.arthenica:mobile-ffmpeg-$1:$VERSION\'/implementation \'com.arthenica:mobile-ffmpeg-$1:$LTS_VERSION\'/g" ${PACKAGE_PATH}/android/build.gradle
         sed -i .tmp "s/mobile-ffmpeg-$1\'\, \'$VERSION/mobile-ffmpeg-$1\'\, \'$LTS_VERSION/g" ${PACKAGE_PATH}/ios/flutter_ffmpeg.podspec
     fi