Browse Source

implement side data information parsing

Taner Sener 6 years ago
parent
commit
c0f49e44ce
55 changed files with 316 additions and 40 deletions
  1. 3 0
      CHANGELOG.md
  2. 3 3
      README.md
  3. 11 0
      android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  4. 3 3
      example/pubspec.lock
  5. 2 1
      example/pubspec.yaml
  6. 5 0
      ios/Classes/FlutterFfmpegPlugin.m
  7. 11 0
      packages/flutter_ffmpeg_audio/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  8. 5 0
      packages/flutter_ffmpeg_audio/ios/Classes/FlutterFfmpegPlugin.m
  9. 2 2
      packages/flutter_ffmpeg_audio/pubspec.yaml
  10. 11 0
      packages/flutter_ffmpeg_audio_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  11. 5 0
      packages/flutter_ffmpeg_audio_lts/ios/Classes/FlutterFfmpegPlugin.m
  12. 2 2
      packages/flutter_ffmpeg_audio_lts/pubspec.yaml
  13. 11 0
      packages/flutter_ffmpeg_full-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  14. 5 0
      packages/flutter_ffmpeg_full-gpl/ios/Classes/FlutterFfmpegPlugin.m
  15. 2 2
      packages/flutter_ffmpeg_full-gpl/pubspec.yaml
  16. 11 0
      packages/flutter_ffmpeg_full-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  17. 5 0
      packages/flutter_ffmpeg_full-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  18. 2 2
      packages/flutter_ffmpeg_full-gpl_lts/pubspec.yaml
  19. 11 0
      packages/flutter_ffmpeg_full/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  20. 5 0
      packages/flutter_ffmpeg_full/ios/Classes/FlutterFfmpegPlugin.m
  21. 2 2
      packages/flutter_ffmpeg_full/pubspec.yaml
  22. 11 0
      packages/flutter_ffmpeg_full_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  23. 5 0
      packages/flutter_ffmpeg_full_lts/ios/Classes/FlutterFfmpegPlugin.m
  24. 2 2
      packages/flutter_ffmpeg_full_lts/pubspec.yaml
  25. 11 0
      packages/flutter_ffmpeg_https-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  26. 5 0
      packages/flutter_ffmpeg_https-gpl/ios/Classes/FlutterFfmpegPlugin.m
  27. 2 2
      packages/flutter_ffmpeg_https-gpl/pubspec.yaml
  28. 11 0
      packages/flutter_ffmpeg_https-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  29. 5 0
      packages/flutter_ffmpeg_https-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  30. 2 2
      packages/flutter_ffmpeg_https-gpl_lts/pubspec.yaml
  31. 11 0
      packages/flutter_ffmpeg_https/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  32. 5 0
      packages/flutter_ffmpeg_https/ios/Classes/FlutterFfmpegPlugin.m
  33. 2 2
      packages/flutter_ffmpeg_https/pubspec.yaml
  34. 11 0
      packages/flutter_ffmpeg_https_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  35. 5 0
      packages/flutter_ffmpeg_https_lts/ios/Classes/FlutterFfmpegPlugin.m
  36. 2 2
      packages/flutter_ffmpeg_https_lts/pubspec.yaml
  37. 11 0
      packages/flutter_ffmpeg_min-gpl/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  38. 5 0
      packages/flutter_ffmpeg_min-gpl/ios/Classes/FlutterFfmpegPlugin.m
  39. 2 2
      packages/flutter_ffmpeg_min-gpl/pubspec.yaml
  40. 11 0
      packages/flutter_ffmpeg_min-gpl_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  41. 5 0
      packages/flutter_ffmpeg_min-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m
  42. 2 2
      packages/flutter_ffmpeg_min-gpl_lts/pubspec.yaml
  43. 11 0
      packages/flutter_ffmpeg_min/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  44. 5 0
      packages/flutter_ffmpeg_min/ios/Classes/FlutterFfmpegPlugin.m
  45. 2 2
      packages/flutter_ffmpeg_min/pubspec.yaml
  46. 11 0
      packages/flutter_ffmpeg_min_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  47. 5 0
      packages/flutter_ffmpeg_min_lts/ios/Classes/FlutterFfmpegPlugin.m
  48. 2 2
      packages/flutter_ffmpeg_min_lts/pubspec.yaml
  49. 11 0
      packages/flutter_ffmpeg_video/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  50. 5 0
      packages/flutter_ffmpeg_video/ios/Classes/FlutterFfmpegPlugin.m
  51. 2 2
      packages/flutter_ffmpeg_video/pubspec.yaml
  52. 11 0
      packages/flutter_ffmpeg_video_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java
  53. 5 0
      packages/flutter_ffmpeg_video_lts/ios/Classes/FlutterFfmpegPlugin.m
  54. 2 2
      packages/flutter_ffmpeg_video_lts/pubspec.yaml
  55. 1 1
      pubspec.yaml

+ 3 - 0
CHANGELOG.md

@@ -1,3 +1,6 @@
+## 0.2.5
+- Implements side data information parsing
+
 ## 0.2.4
 - Adds support for Android devices with API Level 16+
 - Fixes issues #21 and #36

+ 3 - 3
README.md

@@ -1,6 +1,6 @@
 # flutter_ffmpeg 
 
-![GitHub release](https://img.shields.io/badge/release-v0.2.4-blue.svg)
+![GitHub release](https://img.shields.io/badge/release-v0.2.5-blue.svg)
 ![](https://img.shields.io/pub/v/flutter_ffmpeg.svg)
 
 FFmpeg plugin for Flutter. Supports iOS and Android.
@@ -70,7 +70,7 @@ FFmpeg plugin for Flutter. Supports iOS and Android.
 Add `flutter_ffmpeg` as a dependency in your `pubspec.yaml file`.
   ```
 dependencies:
-    flutter_ffmpeg: ^0.2.4
+    flutter_ffmpeg: ^0.2.5
   ```
 
 #### 2.1 Packages
@@ -83,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.4
+          ref: v0.2.5
           path: packages/flutter_ffmpeg_<package_name>
 
     ```

+ 11 - 0
android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 3 - 3
example/pubspec.lock

@@ -44,9 +44,9 @@ packages:
   flutter_ffmpeg:
     dependency: "direct main"
     description:
-      name: flutter_ffmpeg
-      url: "https://pub.dartlang.org"
-    source: hosted
+      path: ".."
+      relative: true
+    source: path
     version: "0.2.4"
   flutter_test:
     dependency: "direct dev"

+ 2 - 1
example/pubspec.yaml

@@ -11,7 +11,8 @@ dependencies:
   cupertino_icons: ^0.1.2
   path: ^1.6.2
   path_provider: ^0.5.0+1
-  flutter_ffmpeg: ^0.2.4
+  flutter_ffmpeg:
+    path: ../
 
 dev_dependencies:
   flutter_test:

+ 5 - 0
ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 11 - 0
packages/flutter_ffmpeg_audio/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_audio/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_audio/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_audio_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_audio_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_audio_lts/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_full-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_full-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_full/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_full/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_full/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_full_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_full_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_full_lts/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_https-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_https-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_https/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_https/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_https/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_https_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_https_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_https_lts/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_min-gpl/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

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

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_min-gpl_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

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

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_min/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_min/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_min/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_min_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_min_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_min_lts/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_video/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_video/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_video/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 11 - 0
packages/flutter_ffmpeg_video_lts/android/src/main/java/com/arthenica/flutter/ffmpeg/FlutterFFmpegPlugin.java

@@ -425,6 +425,17 @@ public class FlutterFFmpegPlugin implements MethodCallHandler, EventChannel.Stre
 
                 map.put("metadata", metadataMap);
             }
+
+            final Set<Map.Entry<String, String>> sidedata = streamInformation.getSidedataEntries();
+            if ((sidedata != null) && (sidedata.size() > 0)) {
+                final HashMap<String, String> sidedataMap = new HashMap<>();
+
+                for (Map.Entry<String, String> entry : sidedata) {
+                    sidedataMap.put(entry.getKey(), entry.getValue());
+                }
+
+                map.put("sidedata", sidedataMap);
+            }
         }
 
         return map;

+ 5 - 0
packages/flutter_ffmpeg_video_lts/ios/Classes/FlutterFfmpegPlugin.m

@@ -386,6 +386,11 @@ static NSString *const EVENT_STAT = @"FlutterFFmpegStatisticsCallback";
         if (metadataDictionary != nil && ([metadataDictionary count] > 0)) {
             dictionary[@"metadata"] = metadataDictionary;
         }
+
+        NSDictionary *sidedataDictionary = [streamInformation getSidedataEntries];
+        if (sidedataDictionary != nil && ([sidedataDictionary count] > 0)) {
+            dictionary[@"sidedata"] = sidedataDictionary;
+        }
     }
 
     return dictionary;

+ 2 - 2
packages/flutter_ffmpeg_video_lts/pubspec.yaml

@@ -1,11 +1,11 @@
 name: flutter_ffmpeg
 description: Flutter plugin to run FFmpeg on mobile platforms. Supports iOS and Android.
-version: 0.2.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg
 
 environment:
-  sdk: ">=2.0.0-dev.68.0 <3.0.0"
+  sdk: ">=2.1.0 <3.0.0"
 
 dependencies:
   flutter:

+ 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.4
+version: 0.2.5
 author: Taner Sener <tanersener@gmail.com>
 homepage: https://github.com/tanersener/flutter-ffmpeg