[video_player] Updated Pigeon version (#4726)
diff --git a/packages/video_player/video_player_android/CHANGELOG.md b/packages/video_player/video_player_android/CHANGELOG.md index 626b9ef..ec526ee 100644 --- a/packages/video_player/video_player_android/CHANGELOG.md +++ b/packages/video_player/video_player_android/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 2.3.0 + +* Updates Pigeon to ^1.0.16. + ## 2.2.17 * Splits from `video_player` as a federated implementation.
diff --git a/packages/video_player/video_player_android/CONTRIBUTING.md b/packages/video_player/video_player_android/CONTRIBUTING.md index 387551b..8dfec9f 100644 --- a/packages/video_player/video_player_android/CONTRIBUTING.md +++ b/packages/video_player/video_player_android/CONTRIBUTING.md
@@ -1,12 +1,11 @@ ## Updating pigeon-generated files If you update files in the pigeons/ directory, run the following -command in this directory (ignore the errors you get about -dependencies in the examples directory): +command in this directory: ```bash flutter pub upgrade -flutter pub run pigeon --dart_null_safety --input pigeons/messages.dart +flutter pub run pigeon --input pigeons/messages.dart # git commit your changes so that your working environment is clean (cd ../../../; ./script/tool_runner.sh format --clang-format=clang-format-7) ``` @@ -28,6 +27,5 @@ the CI tests run the analysis using latest published version of pigeon, not your version or the version on master. -In either case, the configuration will be obtained automatically from -the `pigeons/messages.dart` file (see `configurePigeon` at the bottom -of that file). +In either case, the configuration will be obtained automatically from the +`pigeons/messages.dart` file (see `ConfigurePigeon` at the top of that file).
diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/Messages.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/Messages.java index e0a4a3b..0cdf356 100644 --- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/Messages.java +++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/Messages.java
@@ -1,104 +1,490 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. +// Autogenerated from Pigeon (v1.0.16), do not edit directly. // See also: https://pub.dev/packages/pigeon package io.flutter.plugins.videoplayer; +import android.util.Log; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import io.flutter.plugin.common.BasicMessageChannel; import io.flutter.plugin.common.BinaryMessenger; +import io.flutter.plugin.common.MessageCodec; import io.flutter.plugin.common.StandardMessageCodec; +import java.io.ByteArrayOutputStream; +import java.nio.ByteBuffer; +import java.util.ArrayList; import java.util.HashMap; +import java.util.Map; /** Generated class from Pigeon. */ -@SuppressWarnings("unused") +@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"}) public class Messages { /** Generated class from Pigeon that represents data sent in messages. */ public static class TextureMessage { - private Long textureId; + private @NonNull Long textureId; - public Long getTextureId() { + public @NonNull Long getTextureId() { return textureId; } - public void setTextureId(Long setterArg) { + public void setTextureId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"textureId\" is null."); + } this.textureId = setterArg; } - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); + /** Constructor is private to enforce null safety; use Builder. */ + private TextureMessage() {} + + public static class Builder { + private @Nullable Long textureId; + + public @NonNull Builder setTextureId(@NonNull Long setterArg) { + this.textureId = setterArg; + return this; + } + + public @NonNull TextureMessage build() { + TextureMessage pigeonReturn = new TextureMessage(); + pigeonReturn.setTextureId(textureId); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); toMapResult.put("textureId", textureId); return toMapResult; } - static TextureMessage fromMap(HashMap map) { - TextureMessage fromMapResult = new TextureMessage(); + static @NonNull TextureMessage fromMap(@NonNull Map<String, Object> map) { + TextureMessage pigeonResult = new TextureMessage(); Object textureId = map.get("textureId"); - fromMapResult.textureId = + pigeonResult.setTextureId( (textureId == null) ? null - : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId); - return fromMapResult; + : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId)); + return pigeonResult; + } + } + + /** Generated class from Pigeon that represents data sent in messages. */ + public static class LoopingMessage { + private @NonNull Long textureId; + + public @NonNull Long getTextureId() { + return textureId; + } + + public void setTextureId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"textureId\" is null."); + } + this.textureId = setterArg; + } + + private @NonNull Boolean isLooping; + + public @NonNull Boolean getIsLooping() { + return isLooping; + } + + public void setIsLooping(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"isLooping\" is null."); + } + this.isLooping = setterArg; + } + + /** Constructor is private to enforce null safety; use Builder. */ + private LoopingMessage() {} + + public static class Builder { + private @Nullable Long textureId; + + public @NonNull Builder setTextureId(@NonNull Long setterArg) { + this.textureId = setterArg; + return this; + } + + private @Nullable Boolean isLooping; + + public @NonNull Builder setIsLooping(@NonNull Boolean setterArg) { + this.isLooping = setterArg; + return this; + } + + public @NonNull LoopingMessage build() { + LoopingMessage pigeonReturn = new LoopingMessage(); + pigeonReturn.setTextureId(textureId); + pigeonReturn.setIsLooping(isLooping); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); + toMapResult.put("textureId", textureId); + toMapResult.put("isLooping", isLooping); + return toMapResult; + } + + static @NonNull LoopingMessage fromMap(@NonNull Map<String, Object> map) { + LoopingMessage pigeonResult = new LoopingMessage(); + Object textureId = map.get("textureId"); + pigeonResult.setTextureId( + (textureId == null) + ? null + : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId)); + Object isLooping = map.get("isLooping"); + pigeonResult.setIsLooping((Boolean) isLooping); + return pigeonResult; + } + } + + /** Generated class from Pigeon that represents data sent in messages. */ + public static class VolumeMessage { + private @NonNull Long textureId; + + public @NonNull Long getTextureId() { + return textureId; + } + + public void setTextureId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"textureId\" is null."); + } + this.textureId = setterArg; + } + + private @NonNull Double volume; + + public @NonNull Double getVolume() { + return volume; + } + + public void setVolume(@NonNull Double setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"volume\" is null."); + } + this.volume = setterArg; + } + + /** Constructor is private to enforce null safety; use Builder. */ + private VolumeMessage() {} + + public static class Builder { + private @Nullable Long textureId; + + public @NonNull Builder setTextureId(@NonNull Long setterArg) { + this.textureId = setterArg; + return this; + } + + private @Nullable Double volume; + + public @NonNull Builder setVolume(@NonNull Double setterArg) { + this.volume = setterArg; + return this; + } + + public @NonNull VolumeMessage build() { + VolumeMessage pigeonReturn = new VolumeMessage(); + pigeonReturn.setTextureId(textureId); + pigeonReturn.setVolume(volume); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); + toMapResult.put("textureId", textureId); + toMapResult.put("volume", volume); + return toMapResult; + } + + static @NonNull VolumeMessage fromMap(@NonNull Map<String, Object> map) { + VolumeMessage pigeonResult = new VolumeMessage(); + Object textureId = map.get("textureId"); + pigeonResult.setTextureId( + (textureId == null) + ? null + : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId)); + Object volume = map.get("volume"); + pigeonResult.setVolume((Double) volume); + return pigeonResult; + } + } + + /** Generated class from Pigeon that represents data sent in messages. */ + public static class PlaybackSpeedMessage { + private @NonNull Long textureId; + + public @NonNull Long getTextureId() { + return textureId; + } + + public void setTextureId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"textureId\" is null."); + } + this.textureId = setterArg; + } + + private @NonNull Double speed; + + public @NonNull Double getSpeed() { + return speed; + } + + public void setSpeed(@NonNull Double setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"speed\" is null."); + } + this.speed = setterArg; + } + + /** Constructor is private to enforce null safety; use Builder. */ + private PlaybackSpeedMessage() {} + + public static class Builder { + private @Nullable Long textureId; + + public @NonNull Builder setTextureId(@NonNull Long setterArg) { + this.textureId = setterArg; + return this; + } + + private @Nullable Double speed; + + public @NonNull Builder setSpeed(@NonNull Double setterArg) { + this.speed = setterArg; + return this; + } + + public @NonNull PlaybackSpeedMessage build() { + PlaybackSpeedMessage pigeonReturn = new PlaybackSpeedMessage(); + pigeonReturn.setTextureId(textureId); + pigeonReturn.setSpeed(speed); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); + toMapResult.put("textureId", textureId); + toMapResult.put("speed", speed); + return toMapResult; + } + + static @NonNull PlaybackSpeedMessage fromMap(@NonNull Map<String, Object> map) { + PlaybackSpeedMessage pigeonResult = new PlaybackSpeedMessage(); + Object textureId = map.get("textureId"); + pigeonResult.setTextureId( + (textureId == null) + ? null + : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId)); + Object speed = map.get("speed"); + pigeonResult.setSpeed((Double) speed); + return pigeonResult; + } + } + + /** Generated class from Pigeon that represents data sent in messages. */ + public static class PositionMessage { + private @NonNull Long textureId; + + public @NonNull Long getTextureId() { + return textureId; + } + + public void setTextureId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"textureId\" is null."); + } + this.textureId = setterArg; + } + + private @NonNull Long position; + + public @NonNull Long getPosition() { + return position; + } + + public void setPosition(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"position\" is null."); + } + this.position = setterArg; + } + + /** Constructor is private to enforce null safety; use Builder. */ + private PositionMessage() {} + + public static class Builder { + private @Nullable Long textureId; + + public @NonNull Builder setTextureId(@NonNull Long setterArg) { + this.textureId = setterArg; + return this; + } + + private @Nullable Long position; + + public @NonNull Builder setPosition(@NonNull Long setterArg) { + this.position = setterArg; + return this; + } + + public @NonNull PositionMessage build() { + PositionMessage pigeonReturn = new PositionMessage(); + pigeonReturn.setTextureId(textureId); + pigeonReturn.setPosition(position); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); + toMapResult.put("textureId", textureId); + toMapResult.put("position", position); + return toMapResult; + } + + static @NonNull PositionMessage fromMap(@NonNull Map<String, Object> map) { + PositionMessage pigeonResult = new PositionMessage(); + Object textureId = map.get("textureId"); + pigeonResult.setTextureId( + (textureId == null) + ? null + : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId)); + Object position = map.get("position"); + pigeonResult.setPosition( + (position == null) + ? null + : ((position instanceof Integer) ? (Integer) position : (Long) position)); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ public static class CreateMessage { - private String asset; + private @Nullable String asset; - public String getAsset() { + public @Nullable String getAsset() { return asset; } - public void setAsset(String setterArg) { + public void setAsset(@Nullable String setterArg) { this.asset = setterArg; } - private String uri; + private @Nullable String uri; - public String getUri() { + public @Nullable String getUri() { return uri; } - public void setUri(String setterArg) { + public void setUri(@Nullable String setterArg) { this.uri = setterArg; } - private String packageName; + private @Nullable String packageName; - public String getPackageName() { + public @Nullable String getPackageName() { return packageName; } - public void setPackageName(String setterArg) { + public void setPackageName(@Nullable String setterArg) { this.packageName = setterArg; } - private String formatHint; + private @Nullable String formatHint; - public String getFormatHint() { + public @Nullable String getFormatHint() { return formatHint; } - public void setFormatHint(String setterArg) { + public void setFormatHint(@Nullable String setterArg) { this.formatHint = setterArg; } - private HashMap httpHeaders; + private @NonNull Map<String, String> httpHeaders; - public HashMap getHttpHeaders() { + public @NonNull Map<String, String> getHttpHeaders() { return httpHeaders; } - public void setHttpHeaders(HashMap setterArg) { + public void setHttpHeaders(@NonNull Map<String, String> setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"httpHeaders\" is null."); + } this.httpHeaders = setterArg; } - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); + /** Constructor is private to enforce null safety; use Builder. */ + private CreateMessage() {} + + public static class Builder { + private @Nullable String asset; + + public @NonNull Builder setAsset(@Nullable String setterArg) { + this.asset = setterArg; + return this; + } + + private @Nullable String uri; + + public @NonNull Builder setUri(@Nullable String setterArg) { + this.uri = setterArg; + return this; + } + + private @Nullable String packageName; + + public @NonNull Builder setPackageName(@Nullable String setterArg) { + this.packageName = setterArg; + return this; + } + + private @Nullable String formatHint; + + public @NonNull Builder setFormatHint(@Nullable String setterArg) { + this.formatHint = setterArg; + return this; + } + + private @Nullable Map<String, String> httpHeaders; + + public @NonNull Builder setHttpHeaders(@NonNull Map<String, String> setterArg) { + this.httpHeaders = setterArg; + return this; + } + + public @NonNull CreateMessage build() { + CreateMessage pigeonReturn = new CreateMessage(); + pigeonReturn.setAsset(asset); + pigeonReturn.setUri(uri); + pigeonReturn.setPackageName(packageName); + pigeonReturn.setFormatHint(formatHint); + pigeonReturn.setHttpHeaders(httpHeaders); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); toMapResult.put("asset", asset); toMapResult.put("uri", uri); toMapResult.put("packageName", packageName); @@ -107,216 +493,130 @@ return toMapResult; } - static CreateMessage fromMap(HashMap map) { - CreateMessage fromMapResult = new CreateMessage(); + static @NonNull CreateMessage fromMap(@NonNull Map<String, Object> map) { + CreateMessage pigeonResult = new CreateMessage(); Object asset = map.get("asset"); - fromMapResult.asset = (String) asset; + pigeonResult.setAsset((String) asset); Object uri = map.get("uri"); - fromMapResult.uri = (String) uri; + pigeonResult.setUri((String) uri); Object packageName = map.get("packageName"); - fromMapResult.packageName = (String) packageName; + pigeonResult.setPackageName((String) packageName); Object formatHint = map.get("formatHint"); - fromMapResult.formatHint = (String) formatHint; + pigeonResult.setFormatHint((String) formatHint); Object httpHeaders = map.get("httpHeaders"); - fromMapResult.httpHeaders = (HashMap) httpHeaders; - return fromMapResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static class LoopingMessage { - private Long textureId; - - public Long getTextureId() { - return textureId; - } - - public void setTextureId(Long setterArg) { - this.textureId = setterArg; - } - - private Boolean isLooping; - - public Boolean getIsLooping() { - return isLooping; - } - - public void setIsLooping(Boolean setterArg) { - this.isLooping = setterArg; - } - - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); - toMapResult.put("textureId", textureId); - toMapResult.put("isLooping", isLooping); - return toMapResult; - } - - static LoopingMessage fromMap(HashMap map) { - LoopingMessage fromMapResult = new LoopingMessage(); - Object textureId = map.get("textureId"); - fromMapResult.textureId = - (textureId == null) - ? null - : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId); - Object isLooping = map.get("isLooping"); - fromMapResult.isLooping = (Boolean) isLooping; - return fromMapResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static class VolumeMessage { - private Long textureId; - - public Long getTextureId() { - return textureId; - } - - public void setTextureId(Long setterArg) { - this.textureId = setterArg; - } - - private Double volume; - - public Double getVolume() { - return volume; - } - - public void setVolume(Double setterArg) { - this.volume = setterArg; - } - - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); - toMapResult.put("textureId", textureId); - toMapResult.put("volume", volume); - return toMapResult; - } - - static VolumeMessage fromMap(HashMap map) { - VolumeMessage fromMapResult = new VolumeMessage(); - Object textureId = map.get("textureId"); - fromMapResult.textureId = - (textureId == null) - ? null - : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId); - Object volume = map.get("volume"); - fromMapResult.volume = (Double) volume; - return fromMapResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static class PlaybackSpeedMessage { - private Long textureId; - - public Long getTextureId() { - return textureId; - } - - public void setTextureId(Long setterArg) { - this.textureId = setterArg; - } - - private Double speed; - - public Double getSpeed() { - return speed; - } - - public void setSpeed(Double setterArg) { - this.speed = setterArg; - } - - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); - toMapResult.put("textureId", textureId); - toMapResult.put("speed", speed); - return toMapResult; - } - - static PlaybackSpeedMessage fromMap(HashMap map) { - PlaybackSpeedMessage fromMapResult = new PlaybackSpeedMessage(); - Object textureId = map.get("textureId"); - fromMapResult.textureId = - (textureId == null) - ? null - : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId); - Object speed = map.get("speed"); - fromMapResult.speed = (Double) speed; - return fromMapResult; - } - } - - /** Generated class from Pigeon that represents data sent in messages. */ - public static class PositionMessage { - private Long textureId; - - public Long getTextureId() { - return textureId; - } - - public void setTextureId(Long setterArg) { - this.textureId = setterArg; - } - - private Long position; - - public Long getPosition() { - return position; - } - - public void setPosition(Long setterArg) { - this.position = setterArg; - } - - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); - toMapResult.put("textureId", textureId); - toMapResult.put("position", position); - return toMapResult; - } - - static PositionMessage fromMap(HashMap map) { - PositionMessage fromMapResult = new PositionMessage(); - Object textureId = map.get("textureId"); - fromMapResult.textureId = - (textureId == null) - ? null - : ((textureId instanceof Integer) ? (Integer) textureId : (Long) textureId); - Object position = map.get("position"); - fromMapResult.position = - (position == null) - ? null - : ((position instanceof Integer) ? (Integer) position : (Long) position); - return fromMapResult; + pigeonResult.setHttpHeaders((Map<String, String>) httpHeaders); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ public static class MixWithOthersMessage { - private Boolean mixWithOthers; + private @NonNull Boolean mixWithOthers; - public Boolean getMixWithOthers() { + public @NonNull Boolean getMixWithOthers() { return mixWithOthers; } - public void setMixWithOthers(Boolean setterArg) { + public void setMixWithOthers(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"mixWithOthers\" is null."); + } this.mixWithOthers = setterArg; } - HashMap toMap() { - HashMap<String, Object> toMapResult = new HashMap<>(); + /** Constructor is private to enforce null safety; use Builder. */ + private MixWithOthersMessage() {} + + public static class Builder { + private @Nullable Boolean mixWithOthers; + + public @NonNull Builder setMixWithOthers(@NonNull Boolean setterArg) { + this.mixWithOthers = setterArg; + return this; + } + + public @NonNull MixWithOthersMessage build() { + MixWithOthersMessage pigeonReturn = new MixWithOthersMessage(); + pigeonReturn.setMixWithOthers(mixWithOthers); + return pigeonReturn; + } + } + + @NonNull + Map<String, Object> toMap() { + Map<String, Object> toMapResult = new HashMap<>(); toMapResult.put("mixWithOthers", mixWithOthers); return toMapResult; } - static MixWithOthersMessage fromMap(HashMap map) { - MixWithOthersMessage fromMapResult = new MixWithOthersMessage(); + static @NonNull MixWithOthersMessage fromMap(@NonNull Map<String, Object> map) { + MixWithOthersMessage pigeonResult = new MixWithOthersMessage(); Object mixWithOthers = map.get("mixWithOthers"); - fromMapResult.mixWithOthers = (Boolean) mixWithOthers; - return fromMapResult; + pigeonResult.setMixWithOthers((Boolean) mixWithOthers); + return pigeonResult; + } + } + + private static class VideoPlayerApiCodec extends StandardMessageCodec { + public static final VideoPlayerApiCodec INSTANCE = new VideoPlayerApiCodec(); + + private VideoPlayerApiCodec() {} + + @Override + protected Object readValueOfType(byte type, ByteBuffer buffer) { + switch (type) { + case (byte) 128: + return CreateMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 129: + return LoopingMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 130: + return MixWithOthersMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 131: + return PlaybackSpeedMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 132: + return PositionMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 133: + return TextureMessage.fromMap((Map<String, Object>) readValue(buffer)); + + case (byte) 134: + return VolumeMessage.fromMap((Map<String, Object>) readValue(buffer)); + + default: + return super.readValueOfType(type, buffer); + } + } + + @Override + protected void writeValue(ByteArrayOutputStream stream, Object value) { + if (value instanceof CreateMessage) { + stream.write(128); + writeValue(stream, ((CreateMessage) value).toMap()); + } else if (value instanceof LoopingMessage) { + stream.write(129); + writeValue(stream, ((LoopingMessage) value).toMap()); + } else if (value instanceof MixWithOthersMessage) { + stream.write(130); + writeValue(stream, ((MixWithOthersMessage) value).toMap()); + } else if (value instanceof PlaybackSpeedMessage) { + stream.write(131); + writeValue(stream, ((PlaybackSpeedMessage) value).toMap()); + } else if (value instanceof PositionMessage) { + stream.write(132); + writeValue(stream, ((PositionMessage) value).toMap()); + } else if (value instanceof TextureMessage) { + stream.write(133); + writeValue(stream, ((TextureMessage) value).toMap()); + } else if (value instanceof VolumeMessage) { + stream.write(134); + writeValue(stream, ((VolumeMessage) value).toMap()); + } else { + super.writeValue(stream, value); + } } } @@ -324,42 +624,45 @@ public interface VideoPlayerApi { void initialize(); - TextureMessage create(CreateMessage arg); + TextureMessage create(CreateMessage msg); - void dispose(TextureMessage arg); + void dispose(TextureMessage msg); - void setLooping(LoopingMessage arg); + void setLooping(LoopingMessage msg); - void setVolume(VolumeMessage arg); + void setVolume(VolumeMessage msg); - void setPlaybackSpeed(PlaybackSpeedMessage arg); + void setPlaybackSpeed(PlaybackSpeedMessage msg); - void play(TextureMessage arg); + void play(TextureMessage msg); - PositionMessage position(TextureMessage arg); + PositionMessage position(TextureMessage msg); - void seekTo(PositionMessage arg); + void seekTo(PositionMessage msg); - void pause(TextureMessage arg); + void pause(TextureMessage msg); - void setMixWithOthers(MixWithOthersMessage arg); + void setMixWithOthers(MixWithOthersMessage msg); - /** Sets up an instance of `VideoPlayerApi` to handle messages through the `binaryMessenger` */ + /** The codec used by VideoPlayerApi. */ + static MessageCodec<Object> getCodec() { + return VideoPlayerApiCodec.INSTANCE; + } + + /** Sets up an instance of `VideoPlayerApi` to handle messages through the `binaryMessenger`. */ static void setup(BinaryMessenger binaryMessenger, VideoPlayerApi api) { { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.initialize", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.initialize", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { api.initialize(); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -371,19 +674,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.create", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.create", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - CreateMessage input = CreateMessage.fromMap((HashMap) message); - TextureMessage output = api.create(input); - wrapped.put("result", output.toMap()); - } catch (Exception exception) { + ArrayList<Object> args = (ArrayList<Object>) message; + CreateMessage msgArg = (CreateMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + TextureMessage output = api.create(msgArg); + wrapped.put("result", output); + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -395,19 +699,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.dispose", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.dispose", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - TextureMessage input = TextureMessage.fromMap((HashMap) message); - api.dispose(input); + ArrayList<Object> args = (ArrayList<Object>) message; + TextureMessage msgArg = (TextureMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.dispose(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -419,19 +724,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.setLooping", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.setLooping", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - LoopingMessage input = LoopingMessage.fromMap((HashMap) message); - api.setLooping(input); + ArrayList<Object> args = (ArrayList<Object>) message; + LoopingMessage msgArg = (LoopingMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.setLooping(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -443,19 +749,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.setVolume", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.setVolume", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - VolumeMessage input = VolumeMessage.fromMap((HashMap) message); - api.setVolume(input); + ArrayList<Object> args = (ArrayList<Object>) message; + VolumeMessage msgArg = (VolumeMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.setVolume(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -467,19 +774,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - PlaybackSpeedMessage input = PlaybackSpeedMessage.fromMap((HashMap) message); - api.setPlaybackSpeed(input); + ArrayList<Object> args = (ArrayList<Object>) message; + PlaybackSpeedMessage msgArg = (PlaybackSpeedMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.setPlaybackSpeed(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -491,19 +799,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.play", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.play", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - TextureMessage input = TextureMessage.fromMap((HashMap) message); - api.play(input); + ArrayList<Object> args = (ArrayList<Object>) message; + TextureMessage msgArg = (TextureMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.play(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -515,19 +824,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.position", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.position", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - TextureMessage input = TextureMessage.fromMap((HashMap) message); - PositionMessage output = api.position(input); - wrapped.put("result", output.toMap()); - } catch (Exception exception) { + ArrayList<Object> args = (ArrayList<Object>) message; + TextureMessage msgArg = (TextureMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + PositionMessage output = api.position(msgArg); + wrapped.put("result", output); + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -539,19 +849,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.seekTo", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.seekTo", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - PositionMessage input = PositionMessage.fromMap((HashMap) message); - api.seekTo(input); + ArrayList<Object> args = (ArrayList<Object>) message; + PositionMessage msgArg = (PositionMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.seekTo(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -563,19 +874,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.pause", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.pause", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - TextureMessage input = TextureMessage.fromMap((HashMap) message); - api.pause(input); + ArrayList<Object> args = (ArrayList<Object>) message; + TextureMessage msgArg = (TextureMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.pause(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -587,19 +899,20 @@ { BasicMessageChannel<Object> channel = new BasicMessageChannel<>( - binaryMessenger, - "dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers", - new StandardMessageCodec()); + binaryMessenger, "dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers", getCodec()); if (api != null) { channel.setMessageHandler( (message, reply) -> { - HashMap<String, HashMap> wrapped = new HashMap<>(); + Map<String, Object> wrapped = new HashMap<>(); try { - @SuppressWarnings("ConstantConditions") - MixWithOthersMessage input = MixWithOthersMessage.fromMap((HashMap) message); - api.setMixWithOthers(input); + ArrayList<Object> args = (ArrayList<Object>) message; + MixWithOthersMessage msgArg = (MixWithOthersMessage) args.get(0); + if (msgArg == null) { + throw new NullPointerException("msgArg unexpectedly null."); + } + api.setMixWithOthers(msgArg); wrapped.put("result", null); - } catch (Exception exception) { + } catch (Error | RuntimeException exception) { wrapped.put("error", wrapError(exception)); } reply.reply(wrapped); @@ -611,11 +924,13 @@ } } - private static HashMap wrapError(Exception exception) { - HashMap<String, Object> errorMap = new HashMap<>(); + private static Map<String, Object> wrapError(Throwable exception) { + Map<String, Object> errorMap = new HashMap<>(); errorMap.put("message", exception.toString()); errorMap.put("code", exception.getClass().getSimpleName()); - errorMap.put("details", null); + errorMap.put( + "details", + "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception)); return errorMap; } }
diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java index 887d3d1..3359326 100644 --- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java +++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
@@ -10,6 +10,7 @@ import android.content.Context; import android.net.Uri; import android.view.Surface; +import androidx.annotation.NonNull; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.Format; @@ -64,7 +65,7 @@ TextureRegistry.SurfaceTextureEntry textureEntry, String dataSource, String formatHint, - Map<String, String> httpHeaders, + @NonNull Map<String, String> httpHeaders, VideoPlayerOptions options) { this.eventChannel = eventChannel; this.textureEntry = textureEntry;
diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java index d77b45e..168d90d 100644 --- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java +++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java
@@ -156,8 +156,7 @@ } videoPlayers.put(handle.id(), player); - TextureMessage result = new TextureMessage(); - result.setTextureId(handle.id()); + TextureMessage result = new TextureMessage.Builder().setTextureId(handle.id()).build(); return result; } @@ -189,8 +188,11 @@ public PositionMessage position(TextureMessage arg) { VideoPlayer player = videoPlayers.get(arg.getTextureId()); - PositionMessage result = new PositionMessage(); - result.setPosition(player.getPosition()); + PositionMessage result = + new PositionMessage.Builder() + .setPosition(player.getPosition()) + .setTextureId(arg.getTextureId()) + .build(); player.sendBufferingUpdate(); return result; }
diff --git a/packages/video_player/video_player_android/lib/src/android_video_player.dart b/packages/video_player/video_player_android/lib/src/android_video_player.dart index adb386a..d713b28 100644 --- a/packages/video_player/video_player_android/lib/src/android_video_player.dart +++ b/packages/video_player/video_player_android/lib/src/android_video_player.dart
@@ -9,7 +9,7 @@ import 'package:flutter/widgets.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; -import 'messages.dart'; +import 'messages.g.dart'; /// An Android implementation of [VideoPlayerPlatform] that uses the /// Pigeon-generated [VideoPlayerApi]. @@ -28,30 +28,40 @@ @override Future<void> dispose(int textureId) { - return _api.dispose(TextureMessage()..textureId = textureId); + return _api.dispose(TextureMessage(textureId: textureId)); } @override Future<int?> create(DataSource dataSource) async { - final CreateMessage message = CreateMessage(); - + String? asset; + String? packageName; + String? uri; + String? formatHint; + Map<String, String> httpHeaders = <String, String>{}; switch (dataSource.sourceType) { case DataSourceType.asset: - message.asset = dataSource.asset; - message.packageName = dataSource.package; + asset = dataSource.asset; + packageName = dataSource.package; break; case DataSourceType.network: - message.uri = dataSource.uri; - message.formatHint = _videoFormatStringMap[dataSource.formatHint]; - message.httpHeaders = dataSource.httpHeaders; + uri = dataSource.uri; + formatHint = _videoFormatStringMap[dataSource.formatHint]; + httpHeaders = dataSource.httpHeaders; break; case DataSourceType.file: - message.uri = dataSource.uri; + uri = dataSource.uri; break; case DataSourceType.contentUri: - message.uri = dataSource.uri; + uri = dataSource.uri; break; } + final CreateMessage message = CreateMessage( + asset: asset, + packageName: packageName, + uri: uri, + httpHeaders: httpHeaders, + formatHint: formatHint, + ); final TextureMessage response = await _api.create(message); return response.textureId; @@ -59,49 +69,53 @@ @override Future<void> setLooping(int textureId, bool looping) { - return _api.setLooping(LoopingMessage() - ..textureId = textureId - ..isLooping = looping); + return _api.setLooping(LoopingMessage( + textureId: textureId, + isLooping: looping, + )); } @override Future<void> play(int textureId) { - return _api.play(TextureMessage()..textureId = textureId); + return _api.play(TextureMessage(textureId: textureId)); } @override Future<void> pause(int textureId) { - return _api.pause(TextureMessage()..textureId = textureId); + return _api.pause(TextureMessage(textureId: textureId)); } @override Future<void> setVolume(int textureId, double volume) { - return _api.setVolume(VolumeMessage() - ..textureId = textureId - ..volume = volume); + return _api.setVolume(VolumeMessage( + textureId: textureId, + volume: volume, + )); } @override Future<void> setPlaybackSpeed(int textureId, double speed) { assert(speed > 0); - return _api.setPlaybackSpeed(PlaybackSpeedMessage() - ..textureId = textureId - ..speed = speed); + return _api.setPlaybackSpeed(PlaybackSpeedMessage( + textureId: textureId, + speed: speed, + )); } @override Future<void> seekTo(int textureId, Duration position) { - return _api.seekTo(PositionMessage() - ..textureId = textureId - ..position = position.inMilliseconds); + return _api.seekTo(PositionMessage( + textureId: textureId, + position: position.inMilliseconds, + )); } @override Future<Duration> getPosition(int textureId) async { final PositionMessage response = - await _api.position(TextureMessage()..textureId = textureId); - return Duration(milliseconds: response.position!); + await _api.position(TextureMessage(textureId: textureId)); + return Duration(milliseconds: response.position); } @override @@ -146,9 +160,8 @@ @override Future<void> setMixWithOthers(bool mixWithOthers) { - return _api.setMixWithOthers( - MixWithOthersMessage()..mixWithOthers = mixWithOthers, - ); + return _api + .setMixWithOthers(MixWithOthersMessage(mixWithOthers: mixWithOthers)); } EventChannel _eventChannelFor(int textureId) {
diff --git a/packages/video_player/video_player_android/lib/src/messages.dart b/packages/video_player/video_player_android/lib/src/messages.dart deleted file mode 100644 index 831f4e3..0000000 --- a/packages/video_player/video_player_android/lib/src/messages.dart +++ /dev/null
@@ -1,425 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. -// See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, cast_nullable_to_non_nullable -// @dart = 2.12 -import 'dart:async'; -import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; - -import 'package:flutter/services.dart'; - -class TextureMessage { - int? textureId; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - return pigeonMap; - } - - static TextureMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return TextureMessage()..textureId = pigeonMap['textureId'] as int?; - } -} - -class CreateMessage { - String? asset; - String? uri; - String? packageName; - String? formatHint; - Map<Object?, Object?>? httpHeaders; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['asset'] = asset; - pigeonMap['uri'] = uri; - pigeonMap['packageName'] = packageName; - pigeonMap['formatHint'] = formatHint; - pigeonMap['httpHeaders'] = httpHeaders; - return pigeonMap; - } - - static CreateMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return CreateMessage() - ..asset = pigeonMap['asset'] as String? - ..uri = pigeonMap['uri'] as String? - ..packageName = pigeonMap['packageName'] as String? - ..formatHint = pigeonMap['formatHint'] as String? - ..httpHeaders = pigeonMap['httpHeaders'] as Map<Object?, Object?>?; - } -} - -class LoopingMessage { - int? textureId; - bool? isLooping; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['isLooping'] = isLooping; - return pigeonMap; - } - - static LoopingMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return LoopingMessage() - ..textureId = pigeonMap['textureId'] as int? - ..isLooping = pigeonMap['isLooping'] as bool?; - } -} - -class VolumeMessage { - int? textureId; - double? volume; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['volume'] = volume; - return pigeonMap; - } - - static VolumeMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return VolumeMessage() - ..textureId = pigeonMap['textureId'] as int? - ..volume = pigeonMap['volume'] as double?; - } -} - -class PlaybackSpeedMessage { - int? textureId; - double? speed; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['speed'] = speed; - return pigeonMap; - } - - static PlaybackSpeedMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return PlaybackSpeedMessage() - ..textureId = pigeonMap['textureId'] as int? - ..speed = pigeonMap['speed'] as double?; - } -} - -class PositionMessage { - int? textureId; - int? position; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['position'] = position; - return pigeonMap; - } - - static PositionMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return PositionMessage() - ..textureId = pigeonMap['textureId'] as int? - ..position = pigeonMap['position'] as int?; - } -} - -class MixWithOthersMessage { - bool? mixWithOthers; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['mixWithOthers'] = mixWithOthers; - return pigeonMap; - } - - static MixWithOthersMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return MixWithOthersMessage() - ..mixWithOthers = pigeonMap['mixWithOthers'] as bool?; - } -} - -class VideoPlayerApi { - Future<void> initialize() async { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.initialize', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(null) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<TextureMessage> create(CreateMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.create', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return TextureMessage.decode(replyMap['result']!); - } - } - - Future<void> dispose(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.dispose', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setLooping(LoopingMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setLooping', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setVolume(VolumeMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setVolume', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setPlaybackSpeed(PlaybackSpeedMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', - StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> play(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.play', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<PositionMessage> position(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.position', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return PositionMessage.decode(replyMap['result']!); - } - } - - Future<void> seekTo(PositionMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.seekTo', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> pause(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.pause', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setMixWithOthers(MixWithOthersMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', - StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } -}
diff --git a/packages/video_player/video_player_android/lib/src/messages.g.dart b/packages/video_player/video_player_android/lib/src/messages.g.dart new file mode 100644 index 0000000..5fa09e3 --- /dev/null +++ b/packages/video_player/video_player_android/lib/src/messages.g.dart
@@ -0,0 +1,539 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Autogenerated from Pigeon (v1.0.16), do not edit directly. +// See also: https://pub.dev/packages/pigeon +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name +// @dart = 2.12 +import 'dart:async'; +import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; + +import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; +import 'package:flutter/services.dart'; + +class TextureMessage { + TextureMessage({ + required this.textureId, + }); + + int textureId; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + return pigeonMap; + } + + static TextureMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return TextureMessage( + textureId: pigeonMap['textureId']! as int, + ); + } +} + +class LoopingMessage { + LoopingMessage({ + required this.textureId, + required this.isLooping, + }); + + int textureId; + bool isLooping; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['isLooping'] = isLooping; + return pigeonMap; + } + + static LoopingMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return LoopingMessage( + textureId: pigeonMap['textureId']! as int, + isLooping: pigeonMap['isLooping']! as bool, + ); + } +} + +class VolumeMessage { + VolumeMessage({ + required this.textureId, + required this.volume, + }); + + int textureId; + double volume; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['volume'] = volume; + return pigeonMap; + } + + static VolumeMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return VolumeMessage( + textureId: pigeonMap['textureId']! as int, + volume: pigeonMap['volume']! as double, + ); + } +} + +class PlaybackSpeedMessage { + PlaybackSpeedMessage({ + required this.textureId, + required this.speed, + }); + + int textureId; + double speed; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['speed'] = speed; + return pigeonMap; + } + + static PlaybackSpeedMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return PlaybackSpeedMessage( + textureId: pigeonMap['textureId']! as int, + speed: pigeonMap['speed']! as double, + ); + } +} + +class PositionMessage { + PositionMessage({ + required this.textureId, + required this.position, + }); + + int textureId; + int position; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['position'] = position; + return pigeonMap; + } + + static PositionMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return PositionMessage( + textureId: pigeonMap['textureId']! as int, + position: pigeonMap['position']! as int, + ); + } +} + +class CreateMessage { + CreateMessage({ + this.asset, + this.uri, + this.packageName, + this.formatHint, + required this.httpHeaders, + }); + + String? asset; + String? uri; + String? packageName; + String? formatHint; + Map<String?, String?> httpHeaders; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['asset'] = asset; + pigeonMap['uri'] = uri; + pigeonMap['packageName'] = packageName; + pigeonMap['formatHint'] = formatHint; + pigeonMap['httpHeaders'] = httpHeaders; + return pigeonMap; + } + + static CreateMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return CreateMessage( + asset: pigeonMap['asset'] as String?, + uri: pigeonMap['uri'] as String?, + packageName: pigeonMap['packageName'] as String?, + formatHint: pigeonMap['formatHint'] as String?, + httpHeaders: (pigeonMap['httpHeaders'] as Map<Object?, Object?>?)! + .cast<String?, String?>(), + ); + } +} + +class MixWithOthersMessage { + MixWithOthersMessage({ + required this.mixWithOthers, + }); + + bool mixWithOthers; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['mixWithOthers'] = mixWithOthers; + return pigeonMap; + } + + static MixWithOthersMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return MixWithOthersMessage( + mixWithOthers: pigeonMap['mixWithOthers']! as bool, + ); + } +} + +class _VideoPlayerApiCodec extends StandardMessageCodec { + const _VideoPlayerApiCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is CreateMessage) { + buffer.putUint8(128); + writeValue(buffer, value.encode()); + } else if (value is LoopingMessage) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is MixWithOthersMessage) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is PlaybackSpeedMessage) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is PositionMessage) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is TextureMessage) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else if (value is VolumeMessage) { + buffer.putUint8(134); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 128: + return CreateMessage.decode(readValue(buffer)!); + + case 129: + return LoopingMessage.decode(readValue(buffer)!); + + case 130: + return MixWithOthersMessage.decode(readValue(buffer)!); + + case 131: + return PlaybackSpeedMessage.decode(readValue(buffer)!); + + case 132: + return PositionMessage.decode(readValue(buffer)!); + + case 133: + return TextureMessage.decode(readValue(buffer)!); + + case 134: + return VolumeMessage.decode(readValue(buffer)!); + + default: + return super.readValueOfType(type, buffer); + } + } +} + +class VideoPlayerApi { + /// Constructor for [VideoPlayerApi]. The [binaryMessenger] named argument is + /// available for dependency injection. If it is left null, the default + /// BinaryMessenger will be used which routes to the host platform. + VideoPlayerApi({BinaryMessenger? binaryMessenger}) + : _binaryMessenger = binaryMessenger; + + final BinaryMessenger? _binaryMessenger; + + static const MessageCodec<Object?> codec = _VideoPlayerApiCodec(); + + Future<void> initialize() async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.initialize', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(null) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<TextureMessage> create(CreateMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.create', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return (replyMap['result'] as TextureMessage?)!; + } + } + + Future<void> dispose(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.dispose', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setLooping(LoopingMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setLooping', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setVolume(VolumeMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setVolume', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setPlaybackSpeed(PlaybackSpeedMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> play(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.play', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<PositionMessage> position(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.position', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return (replyMap['result'] as PositionMessage?)!; + } + } + + Future<void> seekTo(PositionMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.seekTo', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> pause(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.pause', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setMixWithOthers(MixWithOthersMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } +}
diff --git a/packages/video_player/video_player_android/pigeons/copyright.txt b/packages/video_player/video_player_android/pigeons/copyright.txt new file mode 100644 index 0000000..1236b63 --- /dev/null +++ b/packages/video_player/video_player_android/pigeons/copyright.txt
@@ -0,0 +1,3 @@ +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file.
diff --git a/packages/video_player/video_player_android/pigeons/messages.dart b/packages/video_player/video_player_android/pigeons/messages.dart index 42d9640..9efbfc9 100644 --- a/packages/video_player/video_player_android/pigeons/messages.dart +++ b/packages/video_player/video_player_android/pigeons/messages.dart
@@ -2,43 +2,57 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.9 +import 'package:pigeon/pigeon.dart'; -import 'package:pigeon/pigeon_lib.dart'; - +@ConfigurePigeon(PigeonOptions( + dartOut: 'lib/src/messages.g.dart', + dartTestOut: 'test/test_api.dart', + javaOut: 'android/src/main/java/io/flutter/plugins/videoplayer/Messages.java', + javaOptions: JavaOptions( + package: 'io.flutter.plugins.videoplayer', + ), + copyrightHeader: 'pigeons/copyright.txt', +)) class TextureMessage { + TextureMessage(this.textureId); int textureId; } class LoopingMessage { + LoopingMessage(this.textureId, this.isLooping); int textureId; bool isLooping; } class VolumeMessage { + VolumeMessage(this.textureId, this.volume); int textureId; double volume; } class PlaybackSpeedMessage { + PlaybackSpeedMessage(this.textureId, this.speed); int textureId; double speed; } class PositionMessage { + PositionMessage(this.textureId, this.position); int textureId; int position; } class CreateMessage { - String asset; - String uri; - String packageName; - String formatHint; - Map<String, String> httpHeaders; + CreateMessage({required this.httpHeaders}); + String? asset; + String? uri; + String? packageName; + String? formatHint; + Map<String?, String?> httpHeaders; } class MixWithOthersMessage { + MixWithOthersMessage(this.mixWithOthers); bool mixWithOthers; } @@ -56,14 +70,3 @@ void pause(TextureMessage msg); void setMixWithOthers(MixWithOthersMessage msg); } - -void configurePigeon(PigeonOptions opts) { - opts.dartOut = 'lib/src/messages.dart'; - opts.dartTestOut = 'test/test_api.dart'; - opts.objcHeaderOut = 'ios/Classes/messages.h'; - opts.objcSourceOut = 'ios/Classes/messages.m'; - opts.objcOptions.prefix = 'FLT'; - opts.javaOut = - 'android/src/main/java/io/flutter/plugins/videoplayer/Messages.java'; - opts.javaOptions.package = 'io.flutter.plugins.videoplayer'; -}
diff --git a/packages/video_player/video_player_android/pubspec.yaml b/packages/video_player/video_player_android/pubspec.yaml index 423c5ad..c40d518 100644 --- a/packages/video_player/video_player_android/pubspec.yaml +++ b/packages/video_player/video_player_android/pubspec.yaml
@@ -2,7 +2,7 @@ description: Android implementation of the video_player plugin. repository: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.2.17 +version: 2.3.0 environment: sdk: ">=2.14.0 <3.0.0" @@ -25,4 +25,4 @@ dev_dependencies: flutter_test: sdk: flutter - pigeon: ^0.1.21 + pigeon: ^1.0.16
diff --git a/packages/video_player/video_player_android/test/android_video_player_test.dart b/packages/video_player/video_player_android/test/android_video_player_test.dart index 9eac540..b7cf763 100644 --- a/packages/video_player/video_player_android/test/android_video_player_test.dart +++ b/packages/video_player/video_player_android/test/android_video_player_test.dart
@@ -6,7 +6,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:video_player_android/src/messages.dart'; +import 'package:video_player_android/src/messages.g.dart'; import 'package:video_player_android/video_player_android.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; @@ -26,7 +26,7 @@ TextureMessage create(CreateMessage arg) { log.add('create'); createMessage = arg; - return TextureMessage()..textureId = 3; + return TextureMessage(textureId: 3); } @override @@ -62,7 +62,7 @@ PositionMessage position(TextureMessage arg) { log.add('position'); textureMessage = arg; - return PositionMessage()..position = 234; + return PositionMessage(textureId: arg.textureId, position: 234); } @override
diff --git a/packages/video_player/video_player_android/test/test_api.dart b/packages/video_player/video_player_android/test/test_api.dart index 2fbcbcf..e8bc9d8 100644 --- a/packages/video_player/video_player_android/test/test_api.dart +++ b/packages/video_player/video_player_android/test/test_api.dart
@@ -1,35 +1,99 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. +// Autogenerated from Pigeon (v1.0.16), do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis // @dart = 2.12 import 'dart:async'; import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; - +import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:video_player_android/src/messages.dart'; + +// TODO(gaaclarke): This had to be hand tweaked from a relative path. +import 'package:video_player_android/src/messages.g.dart'; + +class _TestHostVideoPlayerApiCodec extends StandardMessageCodec { + const _TestHostVideoPlayerApiCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is CreateMessage) { + buffer.putUint8(128); + writeValue(buffer, value.encode()); + } else if (value is LoopingMessage) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is MixWithOthersMessage) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is PlaybackSpeedMessage) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is PositionMessage) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is TextureMessage) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else if (value is VolumeMessage) { + buffer.putUint8(134); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 128: + return CreateMessage.decode(readValue(buffer)!); + + case 129: + return LoopingMessage.decode(readValue(buffer)!); + + case 130: + return MixWithOthersMessage.decode(readValue(buffer)!); + + case 131: + return PlaybackSpeedMessage.decode(readValue(buffer)!); + + case 132: + return PositionMessage.decode(readValue(buffer)!); + + case 133: + return TextureMessage.decode(readValue(buffer)!); + + case 134: + return VolumeMessage.decode(readValue(buffer)!); + + default: + return super.readValueOfType(type, buffer); + } + } +} abstract class TestHostVideoPlayerApi { + static const MessageCodec<Object?> codec = _TestHostVideoPlayerApiCodec(); + void initialize(); - TextureMessage create(CreateMessage arg); - void dispose(TextureMessage arg); - void setLooping(LoopingMessage arg); - void setVolume(VolumeMessage arg); - void setPlaybackSpeed(PlaybackSpeedMessage arg); - void play(TextureMessage arg); - PositionMessage position(TextureMessage arg); - void seekTo(PositionMessage arg); - void pause(TextureMessage arg); - void setMixWithOthers(MixWithOthersMessage arg); - static void setup(TestHostVideoPlayerApi? api) { + TextureMessage create(CreateMessage msg); + void dispose(TextureMessage msg); + void setLooping(LoopingMessage msg); + void setVolume(VolumeMessage msg); + void setPlaybackSpeed(PlaybackSpeedMessage msg); + void play(TextureMessage msg); + PositionMessage position(TextureMessage msg); + void seekTo(PositionMessage msg); + void pause(TextureMessage msg); + void setMixWithOthers(MixWithOthersMessage msg); + static void setup(TestHostVideoPlayerApi? api, + {BinaryMessenger? binaryMessenger}) { { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.initialize', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.initialize', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { @@ -41,157 +105,193 @@ } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.create', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.create', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null. Expected CreateMessage.'); - final CreateMessage input = CreateMessage.decode(message!); - final TextureMessage output = api.create(input); - return <Object?, Object?>{'result': output.encode()}; + 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final CreateMessage? arg_msg = (args[0] as CreateMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null, expected non-null CreateMessage.'); + final TextureMessage output = api.create(arg_msg!); + return <Object?, Object?>{'result': output}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.dispose', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.dispose', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.dispose(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null, expected non-null TextureMessage.'); + api.dispose(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setLooping', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setLooping', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null. Expected LoopingMessage.'); - final LoopingMessage input = LoopingMessage.decode(message!); - api.setLooping(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final LoopingMessage? arg_msg = (args[0] as LoopingMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null, expected non-null LoopingMessage.'); + api.setLooping(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setVolume', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setVolume', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null. Expected VolumeMessage.'); - final VolumeMessage input = VolumeMessage.decode(message!); - api.setVolume(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final VolumeMessage? arg_msg = (args[0] as VolumeMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null, expected non-null VolumeMessage.'); + api.setVolume(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null. Expected PlaybackSpeedMessage.'); - final PlaybackSpeedMessage input = - PlaybackSpeedMessage.decode(message!); - api.setPlaybackSpeed(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final PlaybackSpeedMessage? arg_msg = + (args[0] as PlaybackSpeedMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null, expected non-null PlaybackSpeedMessage.'); + api.setPlaybackSpeed(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.play', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.play', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.play(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null, expected non-null TextureMessage.'); + api.play(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.position', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.position', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - final PositionMessage output = api.position(input); - return <Object?, Object?>{'result': output.encode()}; + 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null, expected non-null TextureMessage.'); + final PositionMessage output = api.position(arg_msg!); + return <Object?, Object?>{'result': output}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.seekTo', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.seekTo', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null. Expected PositionMessage.'); - final PositionMessage input = PositionMessage.decode(message!); - api.seekTo(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final PositionMessage? arg_msg = (args[0] as PositionMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null, expected non-null PositionMessage.'); + api.seekTo(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.pause', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.pause', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.pause(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null, expected non-null TextureMessage.'); + api.pause(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null. Expected MixWithOthersMessage.'); - final MixWithOthersMessage input = - MixWithOthersMessage.decode(message!); - api.setMixWithOthers(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final MixWithOthersMessage? arg_msg = + (args[0] as MixWithOthersMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null, expected non-null MixWithOthersMessage.'); + api.setMixWithOthers(arg_msg!); return <Object?, Object?>{}; }); }
diff --git a/packages/video_player/video_player_avfoundation/CHANGELOG.md b/packages/video_player/video_player_avfoundation/CHANGELOG.md index 161e900..d6ecabd 100644 --- a/packages/video_player/video_player_avfoundation/CHANGELOG.md +++ b/packages/video_player/video_player_avfoundation/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 2.3.0 + +* Updates Pigeon to ^1.0.16. + ## 2.2.18 * Wait to initialize m3u8 videos until size is set, fixing aspect ratio.
diff --git a/packages/video_player/video_player_avfoundation/CONTRIBUTING.md b/packages/video_player/video_player_avfoundation/CONTRIBUTING.md index 387551b..8dfec9f 100644 --- a/packages/video_player/video_player_avfoundation/CONTRIBUTING.md +++ b/packages/video_player/video_player_avfoundation/CONTRIBUTING.md
@@ -1,12 +1,11 @@ ## Updating pigeon-generated files If you update files in the pigeons/ directory, run the following -command in this directory (ignore the errors you get about -dependencies in the examples directory): +command in this directory: ```bash flutter pub upgrade -flutter pub run pigeon --dart_null_safety --input pigeons/messages.dart +flutter pub run pigeon --input pigeons/messages.dart # git commit your changes so that your working environment is clean (cd ../../../; ./script/tool_runner.sh format --clang-format=clang-format-7) ``` @@ -28,6 +27,5 @@ the CI tests run the analysis using latest published version of pigeon, not your version or the version on master. -In either case, the configuration will be obtained automatically from -the `pigeons/messages.dart` file (see `configurePigeon` at the bottom -of that file). +In either case, the configuration will be obtained automatically from the +`pigeons/messages.dart` file (see `ConfigurePigeon` at the top of that file).
diff --git a/packages/video_player/video_player_avfoundation/example/ios/RunnerTests/VideoPlayerTests.m b/packages/video_player/video_player_avfoundation/example/ios/RunnerTests/VideoPlayerTests.m index d7044fa..6d8b396 100644 --- a/packages/video_player/video_player_avfoundation/example/ios/RunnerTests/VideoPlayerTests.m +++ b/packages/video_player/video_player_avfoundation/example/ios/RunnerTests/VideoPlayerTests.m
@@ -33,9 +33,7 @@ OCMStub([partialRegistrar textures]).andReturn(mockTextureRegistry); FLTVideoPlayerPlugin *videoPlayerPlugin = (FLTVideoPlayerPlugin *)[[FLTVideoPlayerPlugin alloc] initWithRegistrar:partialRegistrar]; - FLTPositionMessage *message = [[FLTPositionMessage alloc] init]; - message.textureId = @101; - message.position = @0; + FLTPositionMessage *message = [FLTPositionMessage makeWithTextureId:@101 position:@0]; FlutterError *error; [videoPlayerPlugin seekTo:message error:&error]; OCMVerify([mockTextureRegistry textureFrameAvailable:message.textureId.intValue]); @@ -53,8 +51,12 @@ [videoPlayerPlugin initialize:&error]; XCTAssertNil(error); - FLTCreateMessage *create = [[FLTCreateMessage alloc] init]; - create.uri = @"https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4"; + FLTCreateMessage *create = [FLTCreateMessage + makeWithAsset:nil + uri:@"https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4" + packageName:nil + formatHint:nil + httpHeaders:@{}]; FLTTextureMessage *textureMessage = [videoPlayerPlugin create:create error:&error]; XCTAssertNil(error); XCTAssertNotNil(textureMessage); @@ -125,8 +127,11 @@ [videoPlayerPlugin initialize:&error]; XCTAssertNil(error); - FLTCreateMessage *create = [[FLTCreateMessage alloc] init]; - create.uri = uri; + FLTCreateMessage *create = [FLTCreateMessage makeWithAsset:nil + uri:uri + packageName:nil + formatHint:nil + httpHeaders:@{}]; FLTTextureMessage *textureMessage = [videoPlayerPlugin create:create error:&error]; NSNumber *textureId = textureMessage.textureId; @@ -152,18 +157,15 @@ XCTAssertEqual(avPlayer.timeControlStatus, AVPlayerTimeControlStatusPaused); // Change playback speed. - FLTPlaybackSpeedMessage *playback = [[FLTPlaybackSpeedMessage alloc] init]; - playback.textureId = textureId; - playback.speed = @2; + FLTPlaybackSpeedMessage *playback = [FLTPlaybackSpeedMessage makeWithTextureId:textureId + speed:@2]; [videoPlayerPlugin setPlaybackSpeed:playback error:&error]; XCTAssertNil(error); XCTAssertEqual(avPlayer.rate, 2); XCTAssertEqual(avPlayer.timeControlStatus, AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate); // Volume - FLTVolumeMessage *volume = [[FLTVolumeMessage alloc] init]; - volume.textureId = textureId; - volume.volume = @(0.1); + FLTVolumeMessage *volume = [FLTVolumeMessage makeWithTextureId:textureId volume:@0.1]; [videoPlayerPlugin setVolume:volume error:&error]; XCTAssertNil(error); XCTAssertEqual(avPlayer.volume, 0.1f);
diff --git a/packages/video_player/video_player_avfoundation/ios/Classes/FLTVideoPlayerPlugin.m b/packages/video_player/video_player_avfoundation/ios/Classes/FLTVideoPlayerPlugin.m index 55021cc..026b576 100644 --- a/packages/video_player/video_player_avfoundation/ios/Classes/FLTVideoPlayerPlugin.m +++ b/packages/video_player/video_player_avfoundation/ios/Classes/FLTVideoPlayerPlugin.m
@@ -5,7 +5,7 @@ #import "FLTVideoPlayerPlugin.h" #import <AVFoundation/AVFoundation.h> #import <GLKit/GLKit.h> -#import "messages.h" +#import "messages.g.h" #if !__has_feature(objc_arc) #error Code Requires ARC. @@ -43,7 +43,7 @@ @property(nonatomic, readonly) BOOL isInitialized; - (instancetype)initWithURL:(NSURL *)url frameUpdater:(FLTFrameUpdater *)frameUpdater - httpHeaders:(NSDictionary<NSString *, NSString *> *)headers; + httpHeaders:(nonnull NSDictionary<NSString *, NSString *> *)headers; @end static void *timeRangeContext = &timeRangeContext; @@ -57,7 +57,7 @@ @implementation FLTVideoPlayer - (instancetype)initWithAsset:(NSString *)asset frameUpdater:(FLTFrameUpdater *)frameUpdater { NSString *path = [[NSBundle mainBundle] pathForResource:asset ofType:nil]; - return [self initWithURL:[NSURL fileURLWithPath:path] frameUpdater:frameUpdater httpHeaders:nil]; + return [self initWithURL:[NSURL fileURLWithPath:path] frameUpdater:frameUpdater httpHeaders:@{}]; } - (void)addObservers:(AVPlayerItem *)item { @@ -177,9 +177,9 @@ - (instancetype)initWithURL:(NSURL *)url frameUpdater:(FLTFrameUpdater *)frameUpdater - httpHeaders:(NSDictionary<NSString *, NSString *> *)headers { + httpHeaders:(nonnull NSDictionary<NSString *, NSString *> *)headers { NSDictionary<NSString *, id> *options = nil; - if (headers != nil && [headers count] != 0) { + if ([headers count] != 0) { options = @{@"AVURLAssetHTTPHeaderFieldsKey" : headers}; } AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:url options:options]; @@ -544,8 +544,7 @@ [eventChannel setStreamHandler:player]; player.eventChannel = eventChannel; self.playersByTextureId[@(textureId)] = player; - FLTTextureMessage *result = [[FLTTextureMessage alloc] init]; - result.textureId = @(textureId); + FLTTextureMessage *result = [FLTTextureMessage makeWithTextureId:@(textureId)]; return result; } @@ -628,8 +627,8 @@ - (FLTPositionMessage *)position:(FLTTextureMessage *)input error:(FlutterError **)error { FLTVideoPlayer *player = self.playersByTextureId[input.textureId]; - FLTPositionMessage *result = [[FLTPositionMessage alloc] init]; - result.position = @([player position]); + FLTPositionMessage *result = [FLTPositionMessage makeWithTextureId:input.textureId + position:@([player position])]; return result; }
diff --git a/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.h b/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.h new file mode 100644 index 0000000..96d02d2 --- /dev/null +++ b/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.h
@@ -0,0 +1,107 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Autogenerated from Pigeon (v1.0.17), do not edit directly. +// See also: https://pub.dev/packages/pigeon +#import <Foundation/Foundation.h> +@protocol FlutterBinaryMessenger; +@protocol FlutterMessageCodec; +@class FlutterError; +@class FlutterStandardTypedData; + +NS_ASSUME_NONNULL_BEGIN + +@class FLTTextureMessage; +@class FLTLoopingMessage; +@class FLTVolumeMessage; +@class FLTPlaybackSpeedMessage; +@class FLTPositionMessage; +@class FLTCreateMessage; +@class FLTMixWithOthersMessage; + +@interface FLTTextureMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithTextureId:(NSNumber *)textureId; +@property(nonatomic, strong) NSNumber *textureId; +@end + +@interface FLTLoopingMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithTextureId:(NSNumber *)textureId isLooping:(NSNumber *)isLooping; +@property(nonatomic, strong) NSNumber *textureId; +@property(nonatomic, strong) NSNumber *isLooping; +@end + +@interface FLTVolumeMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithTextureId:(NSNumber *)textureId volume:(NSNumber *)volume; +@property(nonatomic, strong) NSNumber *textureId; +@property(nonatomic, strong) NSNumber *volume; +@end + +@interface FLTPlaybackSpeedMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithTextureId:(NSNumber *)textureId speed:(NSNumber *)speed; +@property(nonatomic, strong) NSNumber *textureId; +@property(nonatomic, strong) NSNumber *speed; +@end + +@interface FLTPositionMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithTextureId:(NSNumber *)textureId position:(NSNumber *)position; +@property(nonatomic, strong) NSNumber *textureId; +@property(nonatomic, strong) NSNumber *position; +@end + +@interface FLTCreateMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithAsset:(nullable NSString *)asset + uri:(nullable NSString *)uri + packageName:(nullable NSString *)packageName + formatHint:(nullable NSString *)formatHint + httpHeaders:(NSDictionary<NSString *, NSString *> *)httpHeaders; +@property(nonatomic, copy, nullable) NSString *asset; +@property(nonatomic, copy, nullable) NSString *uri; +@property(nonatomic, copy, nullable) NSString *packageName; +@property(nonatomic, copy, nullable) NSString *formatHint; +@property(nonatomic, strong) NSDictionary<NSString *, NSString *> *httpHeaders; +@end + +@interface FLTMixWithOthersMessage : NSObject +/// `init` unavailable to enforce nonnull fields, see the `make` class method. +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)makeWithMixWithOthers:(NSNumber *)mixWithOthers; +@property(nonatomic, strong) NSNumber *mixWithOthers; +@end + +/// The codec used by FLTVideoPlayerApi. +NSObject<FlutterMessageCodec> *FLTVideoPlayerApiGetCodec(void); + +@protocol FLTVideoPlayerApi +- (void)initialize:(FlutterError *_Nullable *_Nonnull)error; +- (nullable FLTTextureMessage *)create:(FLTCreateMessage *)msg + error:(FlutterError *_Nullable *_Nonnull)error; +- (void)dispose:(FLTTextureMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (void)setLooping:(FLTLoopingMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (void)setVolume:(FLTVolumeMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (void)setPlaybackSpeed:(FLTPlaybackSpeedMessage *)msg + error:(FlutterError *_Nullable *_Nonnull)error; +- (void)play:(FLTTextureMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (nullable FLTPositionMessage *)position:(FLTTextureMessage *)msg + error:(FlutterError *_Nullable *_Nonnull)error; +- (void)seekTo:(FLTPositionMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (void)pause:(FLTTextureMessage *)msg error:(FlutterError *_Nullable *_Nonnull)error; +- (void)setMixWithOthers:(FLTMixWithOthersMessage *)msg + error:(FlutterError *_Nullable *_Nonnull)error; +@end + +extern void FLTVideoPlayerApiSetup(id<FlutterBinaryMessenger> binaryMessenger, + NSObject<FLTVideoPlayerApi> *_Nullable api); + +NS_ASSUME_NONNULL_END
diff --git a/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.m b/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.m new file mode 100644 index 0000000..c9acee4 --- /dev/null +++ b/packages/video_player/video_player_avfoundation/ios/Classes/messages.g.m
@@ -0,0 +1,522 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Autogenerated from Pigeon (v1.0.17), do not edit directly. +// See also: https://pub.dev/packages/pigeon +#import "messages.g.h" +#import <Flutter/Flutter.h> + +#if !__has_feature(objc_arc) +#error File requires ARC to be enabled. +#endif + +static NSDictionary<NSString *, id> *wrapResult(id result, FlutterError *error) { + NSDictionary *errorDict = (NSDictionary *)[NSNull null]; + if (error) { + errorDict = @{ + @"code" : (error.code ? error.code : [NSNull null]), + @"message" : (error.message ? error.message : [NSNull null]), + @"details" : (error.details ? error.details : [NSNull null]), + }; + } + return @{ + @"result" : (result ? result : [NSNull null]), + @"error" : errorDict, + }; +} +static id GetNullableObject(NSDictionary *dict, id key) { + id result = dict[key]; + return (result == [NSNull null]) ? nil : result; +} + +@interface FLTTextureMessage () ++ (FLTTextureMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTLoopingMessage () ++ (FLTLoopingMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTVolumeMessage () ++ (FLTVolumeMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTPlaybackSpeedMessage () ++ (FLTPlaybackSpeedMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTPositionMessage () ++ (FLTPositionMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTCreateMessage () ++ (FLTCreateMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end +@interface FLTMixWithOthersMessage () ++ (FLTMixWithOthersMessage *)fromMap:(NSDictionary *)dict; +- (NSDictionary *)toMap; +@end + +@implementation FLTTextureMessage ++ (instancetype)makeWithTextureId:(NSNumber *)textureId { + FLTTextureMessage *pigeonResult = [[FLTTextureMessage alloc] init]; + pigeonResult.textureId = textureId; + return pigeonResult; +} ++ (FLTTextureMessage *)fromMap:(NSDictionary *)dict { + FLTTextureMessage *pigeonResult = [[FLTTextureMessage alloc] init]; + pigeonResult.textureId = GetNullableObject(dict, @"textureId"); + NSAssert(pigeonResult.textureId != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return + [NSDictionary dictionaryWithObjectsAndKeys:(self.textureId ? self.textureId : [NSNull null]), + @"textureId", nil]; +} +@end + +@implementation FLTLoopingMessage ++ (instancetype)makeWithTextureId:(NSNumber *)textureId isLooping:(NSNumber *)isLooping { + FLTLoopingMessage *pigeonResult = [[FLTLoopingMessage alloc] init]; + pigeonResult.textureId = textureId; + pigeonResult.isLooping = isLooping; + return pigeonResult; +} ++ (FLTLoopingMessage *)fromMap:(NSDictionary *)dict { + FLTLoopingMessage *pigeonResult = [[FLTLoopingMessage alloc] init]; + pigeonResult.textureId = GetNullableObject(dict, @"textureId"); + NSAssert(pigeonResult.textureId != nil, @""); + pigeonResult.isLooping = GetNullableObject(dict, @"isLooping"); + NSAssert(pigeonResult.isLooping != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.textureId ? self.textureId : [NSNull null]), @"textureId", + (self.isLooping ? self.isLooping : [NSNull null]), @"isLooping", + nil]; +} +@end + +@implementation FLTVolumeMessage ++ (instancetype)makeWithTextureId:(NSNumber *)textureId volume:(NSNumber *)volume { + FLTVolumeMessage *pigeonResult = [[FLTVolumeMessage alloc] init]; + pigeonResult.textureId = textureId; + pigeonResult.volume = volume; + return pigeonResult; +} ++ (FLTVolumeMessage *)fromMap:(NSDictionary *)dict { + FLTVolumeMessage *pigeonResult = [[FLTVolumeMessage alloc] init]; + pigeonResult.textureId = GetNullableObject(dict, @"textureId"); + NSAssert(pigeonResult.textureId != nil, @""); + pigeonResult.volume = GetNullableObject(dict, @"volume"); + NSAssert(pigeonResult.volume != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.textureId ? self.textureId : [NSNull null]), @"textureId", + (self.volume ? self.volume : [NSNull null]), @"volume", nil]; +} +@end + +@implementation FLTPlaybackSpeedMessage ++ (instancetype)makeWithTextureId:(NSNumber *)textureId speed:(NSNumber *)speed { + FLTPlaybackSpeedMessage *pigeonResult = [[FLTPlaybackSpeedMessage alloc] init]; + pigeonResult.textureId = textureId; + pigeonResult.speed = speed; + return pigeonResult; +} ++ (FLTPlaybackSpeedMessage *)fromMap:(NSDictionary *)dict { + FLTPlaybackSpeedMessage *pigeonResult = [[FLTPlaybackSpeedMessage alloc] init]; + pigeonResult.textureId = GetNullableObject(dict, @"textureId"); + NSAssert(pigeonResult.textureId != nil, @""); + pigeonResult.speed = GetNullableObject(dict, @"speed"); + NSAssert(pigeonResult.speed != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.textureId ? self.textureId : [NSNull null]), @"textureId", + (self.speed ? self.speed : [NSNull null]), @"speed", nil]; +} +@end + +@implementation FLTPositionMessage ++ (instancetype)makeWithTextureId:(NSNumber *)textureId position:(NSNumber *)position { + FLTPositionMessage *pigeonResult = [[FLTPositionMessage alloc] init]; + pigeonResult.textureId = textureId; + pigeonResult.position = position; + return pigeonResult; +} ++ (FLTPositionMessage *)fromMap:(NSDictionary *)dict { + FLTPositionMessage *pigeonResult = [[FLTPositionMessage alloc] init]; + pigeonResult.textureId = GetNullableObject(dict, @"textureId"); + NSAssert(pigeonResult.textureId != nil, @""); + pigeonResult.position = GetNullableObject(dict, @"position"); + NSAssert(pigeonResult.position != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.textureId ? self.textureId : [NSNull null]), @"textureId", + (self.position ? self.position : [NSNull null]), @"position", + nil]; +} +@end + +@implementation FLTCreateMessage ++ (instancetype)makeWithAsset:(nullable NSString *)asset + uri:(nullable NSString *)uri + packageName:(nullable NSString *)packageName + formatHint:(nullable NSString *)formatHint + httpHeaders:(NSDictionary<NSString *, NSString *> *)httpHeaders { + FLTCreateMessage *pigeonResult = [[FLTCreateMessage alloc] init]; + pigeonResult.asset = asset; + pigeonResult.uri = uri; + pigeonResult.packageName = packageName; + pigeonResult.formatHint = formatHint; + pigeonResult.httpHeaders = httpHeaders; + return pigeonResult; +} ++ (FLTCreateMessage *)fromMap:(NSDictionary *)dict { + FLTCreateMessage *pigeonResult = [[FLTCreateMessage alloc] init]; + pigeonResult.asset = GetNullableObject(dict, @"asset"); + pigeonResult.uri = GetNullableObject(dict, @"uri"); + pigeonResult.packageName = GetNullableObject(dict, @"packageName"); + pigeonResult.formatHint = GetNullableObject(dict, @"formatHint"); + pigeonResult.httpHeaders = GetNullableObject(dict, @"httpHeaders"); + NSAssert(pigeonResult.httpHeaders != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.asset ? self.asset : [NSNull null]), @"asset", + (self.uri ? self.uri : [NSNull null]), @"uri", + (self.packageName ? self.packageName : [NSNull null]), + @"packageName", + (self.formatHint ? self.formatHint : [NSNull null]), + @"formatHint", + (self.httpHeaders ? self.httpHeaders : [NSNull null]), + @"httpHeaders", nil]; +} +@end + +@implementation FLTMixWithOthersMessage ++ (instancetype)makeWithMixWithOthers:(NSNumber *)mixWithOthers { + FLTMixWithOthersMessage *pigeonResult = [[FLTMixWithOthersMessage alloc] init]; + pigeonResult.mixWithOthers = mixWithOthers; + return pigeonResult; +} ++ (FLTMixWithOthersMessage *)fromMap:(NSDictionary *)dict { + FLTMixWithOthersMessage *pigeonResult = [[FLTMixWithOthersMessage alloc] init]; + pigeonResult.mixWithOthers = GetNullableObject(dict, @"mixWithOthers"); + NSAssert(pigeonResult.mixWithOthers != nil, @""); + return pigeonResult; +} +- (NSDictionary *)toMap { + return [NSDictionary + dictionaryWithObjectsAndKeys:(self.mixWithOthers ? self.mixWithOthers : [NSNull null]), + @"mixWithOthers", nil]; +} +@end + +@interface FLTVideoPlayerApiCodecReader : FlutterStandardReader +@end +@implementation FLTVideoPlayerApiCodecReader +- (nullable id)readValueOfType:(UInt8)type { + switch (type) { + case 128: + return [FLTCreateMessage fromMap:[self readValue]]; + + case 129: + return [FLTLoopingMessage fromMap:[self readValue]]; + + case 130: + return [FLTMixWithOthersMessage fromMap:[self readValue]]; + + case 131: + return [FLTPlaybackSpeedMessage fromMap:[self readValue]]; + + case 132: + return [FLTPositionMessage fromMap:[self readValue]]; + + case 133: + return [FLTTextureMessage fromMap:[self readValue]]; + + case 134: + return [FLTVolumeMessage fromMap:[self readValue]]; + + default: + return [super readValueOfType:type]; + } +} +@end + +@interface FLTVideoPlayerApiCodecWriter : FlutterStandardWriter +@end +@implementation FLTVideoPlayerApiCodecWriter +- (void)writeValue:(id)value { + if ([value isKindOfClass:[FLTCreateMessage class]]) { + [self writeByte:128]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTLoopingMessage class]]) { + [self writeByte:129]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTMixWithOthersMessage class]]) { + [self writeByte:130]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTPlaybackSpeedMessage class]]) { + [self writeByte:131]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTPositionMessage class]]) { + [self writeByte:132]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTTextureMessage class]]) { + [self writeByte:133]; + [self writeValue:[value toMap]]; + } else if ([value isKindOfClass:[FLTVolumeMessage class]]) { + [self writeByte:134]; + [self writeValue:[value toMap]]; + } else { + [super writeValue:value]; + } +} +@end + +@interface FLTVideoPlayerApiCodecReaderWriter : FlutterStandardReaderWriter +@end +@implementation FLTVideoPlayerApiCodecReaderWriter +- (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { + return [[FLTVideoPlayerApiCodecWriter alloc] initWithData:data]; +} +- (FlutterStandardReader *)readerWithData:(NSData *)data { + return [[FLTVideoPlayerApiCodecReader alloc] initWithData:data]; +} +@end + +NSObject<FlutterMessageCodec> *FLTVideoPlayerApiGetCodec() { + static dispatch_once_t sPred = 0; + static FlutterStandardMessageCodec *sSharedObject = nil; + dispatch_once(&sPred, ^{ + FLTVideoPlayerApiCodecReaderWriter *readerWriter = + [[FLTVideoPlayerApiCodecReaderWriter alloc] init]; + sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; + }); + return sSharedObject; +} + +void FLTVideoPlayerApiSetup(id<FlutterBinaryMessenger> binaryMessenger, + NSObject<FLTVideoPlayerApi> *api) { + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.initialize" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(initialize:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(initialize:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + FlutterError *error; + [api initialize:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.create" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(create:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(create:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTCreateMessage *arg_msg = args[0]; + FlutterError *error; + FLTTextureMessage *output = [api create:arg_msg error:&error]; + callback(wrapResult(output, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.dispose" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(dispose:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(dispose:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTTextureMessage *arg_msg = args[0]; + FlutterError *error; + [api dispose:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setLooping" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(setLooping:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(setLooping:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTLoopingMessage *arg_msg = args[0]; + FlutterError *error; + [api setLooping:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setVolume" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(setVolume:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(setVolume:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTVolumeMessage *arg_msg = args[0]; + FlutterError *error; + [api setVolume:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(setPlaybackSpeed:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(setPlaybackSpeed:error:)", + api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTPlaybackSpeedMessage *arg_msg = args[0]; + FlutterError *error; + [api setPlaybackSpeed:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = + [FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.play" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(play:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(play:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTTextureMessage *arg_msg = args[0]; + FlutterError *error; + [api play:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.position" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(position:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(position:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTTextureMessage *arg_msg = args[0]; + FlutterError *error; + FLTPositionMessage *output = [api position:arg_msg error:&error]; + callback(wrapResult(output, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.seekTo" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(seekTo:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(seekTo:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTPositionMessage *arg_msg = args[0]; + FlutterError *error; + [api seekTo:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.pause" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(pause:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(pause:error:)", api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTTextureMessage *arg_msg = args[0]; + FlutterError *error; + [api pause:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } + { + FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel + messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers" + binaryMessenger:binaryMessenger + codec:FLTVideoPlayerApiGetCodec()]; + if (api) { + NSCAssert([api respondsToSelector:@selector(setMixWithOthers:error:)], + @"FLTVideoPlayerApi api (%@) doesn't respond to @selector(setMixWithOthers:error:)", + api); + [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { + NSArray *args = message; + FLTMixWithOthersMessage *arg_msg = args[0]; + FlutterError *error; + [api setMixWithOthers:arg_msg error:&error]; + callback(wrapResult(nil, error)); + }]; + } else { + [channel setMessageHandler:nil]; + } + } +}
diff --git a/packages/video_player/video_player_avfoundation/ios/Classes/messages.h b/packages/video_player/video_player_avfoundation/ios/Classes/messages.h deleted file mode 100644 index e21e786..0000000 --- a/packages/video_player/video_player_avfoundation/ios/Classes/messages.h +++ /dev/null
@@ -1,79 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import <Foundation/Foundation.h> -@protocol FlutterBinaryMessenger; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -@class FLTTextureMessage; -@class FLTCreateMessage; -@class FLTLoopingMessage; -@class FLTVolumeMessage; -@class FLTPlaybackSpeedMessage; -@class FLTPositionMessage; -@class FLTMixWithOthersMessage; - -@interface FLTTextureMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *textureId; -@end - -@interface FLTCreateMessage : NSObject -@property(nonatomic, copy, nullable) NSString *asset; -@property(nonatomic, copy, nullable) NSString *uri; -@property(nonatomic, copy, nullable) NSString *packageName; -@property(nonatomic, copy, nullable) NSString *formatHint; -@property(nonatomic, strong, nullable) NSDictionary *httpHeaders; -@end - -@interface FLTLoopingMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *textureId; -@property(nonatomic, strong, nullable) NSNumber *isLooping; -@end - -@interface FLTVolumeMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *textureId; -@property(nonatomic, strong, nullable) NSNumber *volume; -@end - -@interface FLTPlaybackSpeedMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *textureId; -@property(nonatomic, strong, nullable) NSNumber *speed; -@end - -@interface FLTPositionMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *textureId; -@property(nonatomic, strong, nullable) NSNumber *position; -@end - -@interface FLTMixWithOthersMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber *mixWithOthers; -@end - -@protocol FLTVideoPlayerApi -- (void)initialize:(FlutterError *_Nullable *_Nonnull)error; -- (nullable FLTTextureMessage *)create:(FLTCreateMessage *)input - error:(FlutterError *_Nullable *_Nonnull)error; -- (void)dispose:(FLTTextureMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (void)setLooping:(FLTLoopingMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (void)setVolume:(FLTVolumeMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (void)setPlaybackSpeed:(FLTPlaybackSpeedMessage *)input - error:(FlutterError *_Nullable *_Nonnull)error; -- (void)play:(FLTTextureMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (nullable FLTPositionMessage *)position:(FLTTextureMessage *)input - error:(FlutterError *_Nullable *_Nonnull)error; -- (void)seekTo:(FLTPositionMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (void)pause:(FLTTextureMessage *)input error:(FlutterError *_Nullable *_Nonnull)error; -- (void)setMixWithOthers:(FLTMixWithOthersMessage *)input - error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void FLTVideoPlayerApiSetup(id<FlutterBinaryMessenger> binaryMessenger, - id<FLTVideoPlayerApi> _Nullable api); - -NS_ASSUME_NONNULL_END
diff --git a/packages/video_player/video_player_avfoundation/ios/Classes/messages.m b/packages/video_player/video_player_avfoundation/ios/Classes/messages.m deleted file mode 100644 index 0936bbc..0000000 --- a/packages/video_player/video_player_avfoundation/ios/Classes/messages.m +++ /dev/null
@@ -1,379 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import "messages.h" -#import <Flutter/Flutter.h> - -#if !__has_feature(objc_arc) -#error File requires ARC to be enabled. -#endif - -static NSDictionary<NSString *, id> *wrapResult(NSDictionary *result, FlutterError *error) { - NSDictionary *errorDict = (NSDictionary *)[NSNull null]; - if (error) { - errorDict = @{ - @"code" : (error.code ? error.code : [NSNull null]), - @"message" : (error.message ? error.message : [NSNull null]), - @"details" : (error.details ? error.details : [NSNull null]), - }; - } - return @{ - @"result" : (result ? result : [NSNull null]), - @"error" : errorDict, - }; -} - -@interface FLTTextureMessage () -+ (FLTTextureMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTCreateMessage () -+ (FLTCreateMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTLoopingMessage () -+ (FLTLoopingMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTVolumeMessage () -+ (FLTVolumeMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTPlaybackSpeedMessage () -+ (FLTPlaybackSpeedMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTPositionMessage () -+ (FLTPositionMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end -@interface FLTMixWithOthersMessage () -+ (FLTMixWithOthersMessage *)fromMap:(NSDictionary *)dict; -- (NSDictionary *)toMap; -@end - -@implementation FLTTextureMessage -+ (FLTTextureMessage *)fromMap:(NSDictionary *)dict { - FLTTextureMessage *result = [[FLTTextureMessage alloc] init]; - result.textureId = dict[@"textureId"]; - if ((NSNull *)result.textureId == [NSNull null]) { - result.textureId = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.textureId != nil ? self.textureId : [NSNull null]), - @"textureId", nil]; -} -@end - -@implementation FLTCreateMessage -+ (FLTCreateMessage *)fromMap:(NSDictionary *)dict { - FLTCreateMessage *result = [[FLTCreateMessage alloc] init]; - result.asset = dict[@"asset"]; - if ((NSNull *)result.asset == [NSNull null]) { - result.asset = nil; - } - result.uri = dict[@"uri"]; - if ((NSNull *)result.uri == [NSNull null]) { - result.uri = nil; - } - result.packageName = dict[@"packageName"]; - if ((NSNull *)result.packageName == [NSNull null]) { - result.packageName = nil; - } - result.formatHint = dict[@"formatHint"]; - if ((NSNull *)result.formatHint == [NSNull null]) { - result.formatHint = nil; - } - result.httpHeaders = dict[@"httpHeaders"]; - if ((NSNull *)result.httpHeaders == [NSNull null]) { - result.httpHeaders = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.asset ? self.asset : [NSNull null]), @"asset", - (self.uri ? self.uri : [NSNull null]), @"uri", - (self.packageName ? self.packageName : [NSNull null]), - @"packageName", - (self.formatHint ? self.formatHint : [NSNull null]), - @"formatHint", - (self.httpHeaders ? self.httpHeaders : [NSNull null]), - @"httpHeaders", nil]; -} -@end - -@implementation FLTLoopingMessage -+ (FLTLoopingMessage *)fromMap:(NSDictionary *)dict { - FLTLoopingMessage *result = [[FLTLoopingMessage alloc] init]; - result.textureId = dict[@"textureId"]; - if ((NSNull *)result.textureId == [NSNull null]) { - result.textureId = nil; - } - result.isLooping = dict[@"isLooping"]; - if ((NSNull *)result.isLooping == [NSNull null]) { - result.isLooping = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.textureId != nil ? self.textureId : [NSNull null]), - @"textureId", - (self.isLooping != nil ? self.isLooping : [NSNull null]), - @"isLooping", nil]; -} -@end - -@implementation FLTVolumeMessage -+ (FLTVolumeMessage *)fromMap:(NSDictionary *)dict { - FLTVolumeMessage *result = [[FLTVolumeMessage alloc] init]; - result.textureId = dict[@"textureId"]; - if ((NSNull *)result.textureId == [NSNull null]) { - result.textureId = nil; - } - result.volume = dict[@"volume"]; - if ((NSNull *)result.volume == [NSNull null]) { - result.volume = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.textureId != nil ? self.textureId : [NSNull null]), - @"textureId", (self.volume != nil ? self.volume : [NSNull null]), - @"volume", nil]; -} -@end - -@implementation FLTPlaybackSpeedMessage -+ (FLTPlaybackSpeedMessage *)fromMap:(NSDictionary *)dict { - FLTPlaybackSpeedMessage *result = [[FLTPlaybackSpeedMessage alloc] init]; - result.textureId = dict[@"textureId"]; - if ((NSNull *)result.textureId == [NSNull null]) { - result.textureId = nil; - } - result.speed = dict[@"speed"]; - if ((NSNull *)result.speed == [NSNull null]) { - result.speed = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.textureId != nil ? self.textureId : [NSNull null]), - @"textureId", (self.speed != nil ? self.speed : [NSNull null]), - @"speed", nil]; -} -@end - -@implementation FLTPositionMessage -+ (FLTPositionMessage *)fromMap:(NSDictionary *)dict { - FLTPositionMessage *result = [[FLTPositionMessage alloc] init]; - result.textureId = dict[@"textureId"]; - if ((NSNull *)result.textureId == [NSNull null]) { - result.textureId = nil; - } - result.position = dict[@"position"]; - if ((NSNull *)result.position == [NSNull null]) { - result.position = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.textureId != nil ? self.textureId : [NSNull null]), - @"textureId", - (self.position != nil ? self.position : [NSNull null]), - @"position", nil]; -} -@end - -@implementation FLTMixWithOthersMessage -+ (FLTMixWithOthersMessage *)fromMap:(NSDictionary *)dict { - FLTMixWithOthersMessage *result = [[FLTMixWithOthersMessage alloc] init]; - result.mixWithOthers = dict[@"mixWithOthers"]; - if ((NSNull *)result.mixWithOthers == [NSNull null]) { - result.mixWithOthers = nil; - } - return result; -} -- (NSDictionary *)toMap { - return [NSDictionary - dictionaryWithObjectsAndKeys:(self.mixWithOthers != nil ? self.mixWithOthers : [NSNull null]), - @"mixWithOthers", nil]; -} -@end - -void FLTVideoPlayerApiSetup(id<FlutterBinaryMessenger> binaryMessenger, id<FLTVideoPlayerApi> api) { - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.initialize" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FlutterError *error; - [api initialize:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.create" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTCreateMessage *input = [FLTCreateMessage fromMap:message]; - FlutterError *error; - FLTTextureMessage *output = [api create:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.dispose" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTTextureMessage *input = [FLTTextureMessage fromMap:message]; - FlutterError *error; - [api dispose:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setLooping" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTLoopingMessage *input = [FLTLoopingMessage fromMap:message]; - FlutterError *error; - [api setLooping:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setVolume" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTVolumeMessage *input = [FLTVolumeMessage fromMap:message]; - FlutterError *error; - [api setVolume:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTPlaybackSpeedMessage *input = [FLTPlaybackSpeedMessage fromMap:message]; - FlutterError *error; - [api setPlaybackSpeed:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.play" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTTextureMessage *input = [FLTTextureMessage fromMap:message]; - FlutterError *error; - [api play:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.position" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTTextureMessage *input = [FLTTextureMessage fromMap:message]; - FlutterError *error; - FLTPositionMessage *output = [api position:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.seekTo" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTPositionMessage *input = [FLTPositionMessage fromMap:message]; - FlutterError *error; - [api seekTo:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.pause" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTTextureMessage *input = [FLTTextureMessage fromMap:message]; - FlutterError *error; - [api pause:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - FLTMixWithOthersMessage *input = [FLTMixWithOthersMessage fromMap:message]; - FlutterError *error; - [api setMixWithOthers:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } else { - [channel setMessageHandler:nil]; - } - } -}
diff --git a/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart b/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart index db7e04b..bf1518d 100644 --- a/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart +++ b/packages/video_player/video_player_avfoundation/lib/src/avfoundation_video_player.dart
@@ -9,7 +9,7 @@ import 'package:flutter/widgets.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; -import 'messages.dart'; +import 'messages.g.dart'; /// An iOS implementation of [VideoPlayerPlatform] that uses the /// Pigeon-generated [VideoPlayerApi]. @@ -28,30 +28,40 @@ @override Future<void> dispose(int textureId) { - return _api.dispose(TextureMessage()..textureId = textureId); + return _api.dispose(TextureMessage(textureId: textureId)); } @override Future<int?> create(DataSource dataSource) async { - final CreateMessage message = CreateMessage(); - + String? asset; + String? packageName; + String? uri; + String? formatHint; + Map<String, String> httpHeaders = <String, String>{}; switch (dataSource.sourceType) { case DataSourceType.asset: - message.asset = dataSource.asset; - message.packageName = dataSource.package; + asset = dataSource.asset; + packageName = dataSource.package; break; case DataSourceType.network: - message.uri = dataSource.uri; - message.formatHint = _videoFormatStringMap[dataSource.formatHint]; - message.httpHeaders = dataSource.httpHeaders; + uri = dataSource.uri; + formatHint = _videoFormatStringMap[dataSource.formatHint]; + httpHeaders = dataSource.httpHeaders; break; case DataSourceType.file: - message.uri = dataSource.uri; + uri = dataSource.uri; break; case DataSourceType.contentUri: - message.uri = dataSource.uri; + uri = dataSource.uri; break; } + final CreateMessage message = CreateMessage( + asset: asset, + packageName: packageName, + uri: uri, + httpHeaders: httpHeaders, + formatHint: formatHint, + ); final TextureMessage response = await _api.create(message); return response.textureId; @@ -59,49 +69,53 @@ @override Future<void> setLooping(int textureId, bool looping) { - return _api.setLooping(LoopingMessage() - ..textureId = textureId - ..isLooping = looping); + return _api.setLooping(LoopingMessage( + textureId: textureId, + isLooping: looping, + )); } @override Future<void> play(int textureId) { - return _api.play(TextureMessage()..textureId = textureId); + return _api.play(TextureMessage(textureId: textureId)); } @override Future<void> pause(int textureId) { - return _api.pause(TextureMessage()..textureId = textureId); + return _api.pause(TextureMessage(textureId: textureId)); } @override Future<void> setVolume(int textureId, double volume) { - return _api.setVolume(VolumeMessage() - ..textureId = textureId - ..volume = volume); + return _api.setVolume(VolumeMessage( + textureId: textureId, + volume: volume, + )); } @override Future<void> setPlaybackSpeed(int textureId, double speed) { assert(speed > 0); - return _api.setPlaybackSpeed(PlaybackSpeedMessage() - ..textureId = textureId - ..speed = speed); + return _api.setPlaybackSpeed(PlaybackSpeedMessage( + textureId: textureId, + speed: speed, + )); } @override Future<void> seekTo(int textureId, Duration position) { - return _api.seekTo(PositionMessage() - ..textureId = textureId - ..position = position.inMilliseconds); + return _api.seekTo(PositionMessage( + textureId: textureId, + position: position.inMilliseconds, + )); } @override Future<Duration> getPosition(int textureId) async { final PositionMessage response = - await _api.position(TextureMessage()..textureId = textureId); - return Duration(milliseconds: response.position!); + await _api.position(TextureMessage(textureId: textureId)); + return Duration(milliseconds: response.position); } @override @@ -146,9 +160,8 @@ @override Future<void> setMixWithOthers(bool mixWithOthers) { - return _api.setMixWithOthers( - MixWithOthersMessage()..mixWithOthers = mixWithOthers, - ); + return _api + .setMixWithOthers(MixWithOthersMessage(mixWithOthers: mixWithOthers)); } EventChannel _eventChannelFor(int textureId) {
diff --git a/packages/video_player/video_player_avfoundation/lib/src/messages.dart b/packages/video_player/video_player_avfoundation/lib/src/messages.dart deleted file mode 100644 index 831f4e3..0000000 --- a/packages/video_player/video_player_avfoundation/lib/src/messages.dart +++ /dev/null
@@ -1,425 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. -// See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, cast_nullable_to_non_nullable -// @dart = 2.12 -import 'dart:async'; -import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; - -import 'package:flutter/services.dart'; - -class TextureMessage { - int? textureId; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - return pigeonMap; - } - - static TextureMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return TextureMessage()..textureId = pigeonMap['textureId'] as int?; - } -} - -class CreateMessage { - String? asset; - String? uri; - String? packageName; - String? formatHint; - Map<Object?, Object?>? httpHeaders; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['asset'] = asset; - pigeonMap['uri'] = uri; - pigeonMap['packageName'] = packageName; - pigeonMap['formatHint'] = formatHint; - pigeonMap['httpHeaders'] = httpHeaders; - return pigeonMap; - } - - static CreateMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return CreateMessage() - ..asset = pigeonMap['asset'] as String? - ..uri = pigeonMap['uri'] as String? - ..packageName = pigeonMap['packageName'] as String? - ..formatHint = pigeonMap['formatHint'] as String? - ..httpHeaders = pigeonMap['httpHeaders'] as Map<Object?, Object?>?; - } -} - -class LoopingMessage { - int? textureId; - bool? isLooping; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['isLooping'] = isLooping; - return pigeonMap; - } - - static LoopingMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return LoopingMessage() - ..textureId = pigeonMap['textureId'] as int? - ..isLooping = pigeonMap['isLooping'] as bool?; - } -} - -class VolumeMessage { - int? textureId; - double? volume; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['volume'] = volume; - return pigeonMap; - } - - static VolumeMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return VolumeMessage() - ..textureId = pigeonMap['textureId'] as int? - ..volume = pigeonMap['volume'] as double?; - } -} - -class PlaybackSpeedMessage { - int? textureId; - double? speed; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['speed'] = speed; - return pigeonMap; - } - - static PlaybackSpeedMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return PlaybackSpeedMessage() - ..textureId = pigeonMap['textureId'] as int? - ..speed = pigeonMap['speed'] as double?; - } -} - -class PositionMessage { - int? textureId; - int? position; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['textureId'] = textureId; - pigeonMap['position'] = position; - return pigeonMap; - } - - static PositionMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return PositionMessage() - ..textureId = pigeonMap['textureId'] as int? - ..position = pigeonMap['position'] as int?; - } -} - -class MixWithOthersMessage { - bool? mixWithOthers; - - Object encode() { - final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; - pigeonMap['mixWithOthers'] = mixWithOthers; - return pigeonMap; - } - - static MixWithOthersMessage decode(Object message) { - final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; - return MixWithOthersMessage() - ..mixWithOthers = pigeonMap['mixWithOthers'] as bool?; - } -} - -class VideoPlayerApi { - Future<void> initialize() async { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.initialize', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(null) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<TextureMessage> create(CreateMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.create', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return TextureMessage.decode(replyMap['result']!); - } - } - - Future<void> dispose(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.dispose', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setLooping(LoopingMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setLooping', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setVolume(VolumeMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setVolume', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setPlaybackSpeed(PlaybackSpeedMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', - StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> play(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.play', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<PositionMessage> position(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.position', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - return PositionMessage.decode(replyMap['result']!); - } - } - - Future<void> seekTo(PositionMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.seekTo', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> pause(TextureMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.pause', StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } - - Future<void> setMixWithOthers(MixWithOthersMessage arg) async { - final Object encoded = arg.encode(); - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', - StandardMessageCodec()); - final Map<Object?, Object?>? replyMap = - await channel.send(encoded) as Map<Object?, Object?>?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map<Object?, Object?> error = - replyMap['error'] as Map<Object?, Object?>; - throw PlatformException( - code: error['code'] as String, - message: error['message'] as String?, - details: error['details'], - ); - } else { - // noop - } - } -}
diff --git a/packages/video_player/video_player_avfoundation/lib/src/messages.g.dart b/packages/video_player/video_player_avfoundation/lib/src/messages.g.dart new file mode 100644 index 0000000..1a679d5 --- /dev/null +++ b/packages/video_player/video_player_avfoundation/lib/src/messages.g.dart
@@ -0,0 +1,539 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Autogenerated from Pigeon (v1.0.17), do not edit directly. +// See also: https://pub.dev/packages/pigeon +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name +// @dart = 2.12 +import 'dart:async'; +import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; + +import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; +import 'package:flutter/services.dart'; + +class TextureMessage { + TextureMessage({ + required this.textureId, + }); + + int textureId; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + return pigeonMap; + } + + static TextureMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return TextureMessage( + textureId: pigeonMap['textureId']! as int, + ); + } +} + +class LoopingMessage { + LoopingMessage({ + required this.textureId, + required this.isLooping, + }); + + int textureId; + bool isLooping; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['isLooping'] = isLooping; + return pigeonMap; + } + + static LoopingMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return LoopingMessage( + textureId: pigeonMap['textureId']! as int, + isLooping: pigeonMap['isLooping']! as bool, + ); + } +} + +class VolumeMessage { + VolumeMessage({ + required this.textureId, + required this.volume, + }); + + int textureId; + double volume; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['volume'] = volume; + return pigeonMap; + } + + static VolumeMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return VolumeMessage( + textureId: pigeonMap['textureId']! as int, + volume: pigeonMap['volume']! as double, + ); + } +} + +class PlaybackSpeedMessage { + PlaybackSpeedMessage({ + required this.textureId, + required this.speed, + }); + + int textureId; + double speed; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['speed'] = speed; + return pigeonMap; + } + + static PlaybackSpeedMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return PlaybackSpeedMessage( + textureId: pigeonMap['textureId']! as int, + speed: pigeonMap['speed']! as double, + ); + } +} + +class PositionMessage { + PositionMessage({ + required this.textureId, + required this.position, + }); + + int textureId; + int position; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['textureId'] = textureId; + pigeonMap['position'] = position; + return pigeonMap; + } + + static PositionMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return PositionMessage( + textureId: pigeonMap['textureId']! as int, + position: pigeonMap['position']! as int, + ); + } +} + +class CreateMessage { + CreateMessage({ + this.asset, + this.uri, + this.packageName, + this.formatHint, + required this.httpHeaders, + }); + + String? asset; + String? uri; + String? packageName; + String? formatHint; + Map<String?, String?> httpHeaders; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['asset'] = asset; + pigeonMap['uri'] = uri; + pigeonMap['packageName'] = packageName; + pigeonMap['formatHint'] = formatHint; + pigeonMap['httpHeaders'] = httpHeaders; + return pigeonMap; + } + + static CreateMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return CreateMessage( + asset: pigeonMap['asset'] as String?, + uri: pigeonMap['uri'] as String?, + packageName: pigeonMap['packageName'] as String?, + formatHint: pigeonMap['formatHint'] as String?, + httpHeaders: (pigeonMap['httpHeaders'] as Map<Object?, Object?>?)! + .cast<String?, String?>(), + ); + } +} + +class MixWithOthersMessage { + MixWithOthersMessage({ + required this.mixWithOthers, + }); + + bool mixWithOthers; + + Object encode() { + final Map<Object?, Object?> pigeonMap = <Object?, Object?>{}; + pigeonMap['mixWithOthers'] = mixWithOthers; + return pigeonMap; + } + + static MixWithOthersMessage decode(Object message) { + final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>; + return MixWithOthersMessage( + mixWithOthers: pigeonMap['mixWithOthers']! as bool, + ); + } +} + +class _VideoPlayerApiCodec extends StandardMessageCodec { + const _VideoPlayerApiCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is CreateMessage) { + buffer.putUint8(128); + writeValue(buffer, value.encode()); + } else if (value is LoopingMessage) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is MixWithOthersMessage) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is PlaybackSpeedMessage) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is PositionMessage) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is TextureMessage) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else if (value is VolumeMessage) { + buffer.putUint8(134); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 128: + return CreateMessage.decode(readValue(buffer)!); + + case 129: + return LoopingMessage.decode(readValue(buffer)!); + + case 130: + return MixWithOthersMessage.decode(readValue(buffer)!); + + case 131: + return PlaybackSpeedMessage.decode(readValue(buffer)!); + + case 132: + return PositionMessage.decode(readValue(buffer)!); + + case 133: + return TextureMessage.decode(readValue(buffer)!); + + case 134: + return VolumeMessage.decode(readValue(buffer)!); + + default: + return super.readValueOfType(type, buffer); + } + } +} + +class VideoPlayerApi { + /// Constructor for [VideoPlayerApi]. The [binaryMessenger] named argument is + /// available for dependency injection. If it is left null, the default + /// BinaryMessenger will be used which routes to the host platform. + VideoPlayerApi({BinaryMessenger? binaryMessenger}) + : _binaryMessenger = binaryMessenger; + + final BinaryMessenger? _binaryMessenger; + + static const MessageCodec<Object?> codec = _VideoPlayerApiCodec(); + + Future<void> initialize() async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.initialize', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(null) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<TextureMessage> create(CreateMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.create', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return (replyMap['result'] as TextureMessage?)!; + } + } + + Future<void> dispose(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.dispose', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setLooping(LoopingMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setLooping', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setVolume(VolumeMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setVolume', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setPlaybackSpeed(PlaybackSpeedMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> play(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.play', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<PositionMessage> position(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.position', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return (replyMap['result'] as PositionMessage?)!; + } + } + + Future<void> seekTo(PositionMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.seekTo', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> pause(TextureMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.pause', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } + + Future<void> setMixWithOthers(MixWithOthersMessage arg_msg) async { + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', codec, + binaryMessenger: _binaryMessenger); + final Map<Object?, Object?>? replyMap = + await channel.send(<Object>[arg_msg]) as Map<Object?, Object?>?; + if (replyMap == null) { + throw PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel.', + details: null, + ); + } else if (replyMap['error'] != null) { + final Map<Object?, Object?> error = + (replyMap['error'] as Map<Object?, Object?>?)!; + throw PlatformException( + code: (error['code'] as String?)!, + message: error['message'] as String?, + details: error['details'], + ); + } else { + return; + } + } +}
diff --git a/packages/video_player/video_player_avfoundation/pigeons/copyright.txt b/packages/video_player/video_player_avfoundation/pigeons/copyright.txt new file mode 100644 index 0000000..1236b63 --- /dev/null +++ b/packages/video_player/video_player_avfoundation/pigeons/copyright.txt
@@ -0,0 +1,3 @@ +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file.
diff --git a/packages/video_player/video_player_avfoundation/pigeons/messages.dart b/packages/video_player/video_player_avfoundation/pigeons/messages.dart index 42d9640..d357caf 100644 --- a/packages/video_player/video_player_avfoundation/pigeons/messages.dart +++ b/packages/video_player/video_player_avfoundation/pigeons/messages.dart
@@ -2,68 +2,83 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.9 +import 'package:pigeon/pigeon.dart'; -import 'package:pigeon/pigeon_lib.dart'; - +@ConfigurePigeon(PigeonOptions( + dartOut: 'lib/src/messages.g.dart', + dartTestOut: 'test/test_api.dart', + objcHeaderOut: 'ios/Classes/messages.g.h', + objcSourceOut: 'ios/Classes/messages.g.m', + objcOptions: ObjcOptions( + prefix: 'FLT', + ), + copyrightHeader: 'pigeons/copyright.txt', +)) class TextureMessage { + TextureMessage(this.textureId); int textureId; } class LoopingMessage { + LoopingMessage(this.textureId, this.isLooping); int textureId; bool isLooping; } class VolumeMessage { + VolumeMessage(this.textureId, this.volume); int textureId; double volume; } class PlaybackSpeedMessage { + PlaybackSpeedMessage(this.textureId, this.speed); int textureId; double speed; } class PositionMessage { + PositionMessage(this.textureId, this.position); int textureId; int position; } class CreateMessage { - String asset; - String uri; - String packageName; - String formatHint; - Map<String, String> httpHeaders; + CreateMessage({required this.httpHeaders}); + String? asset; + String? uri; + String? packageName; + String? formatHint; + Map<String?, String?> httpHeaders; } class MixWithOthersMessage { + MixWithOthersMessage(this.mixWithOthers); bool mixWithOthers; } @HostApi(dartHostTestHandler: 'TestHostVideoPlayerApi') abstract class VideoPlayerApi { + @ObjCSelector('initialize') void initialize(); + @ObjCSelector('create:') TextureMessage create(CreateMessage msg); + @ObjCSelector('dispose:') void dispose(TextureMessage msg); + @ObjCSelector('setLooping:') void setLooping(LoopingMessage msg); + @ObjCSelector('setVolume:') void setVolume(VolumeMessage msg); + @ObjCSelector('setPlaybackSpeed:') void setPlaybackSpeed(PlaybackSpeedMessage msg); + @ObjCSelector('play:') void play(TextureMessage msg); + @ObjCSelector('position:') PositionMessage position(TextureMessage msg); + @ObjCSelector('seekTo:') void seekTo(PositionMessage msg); + @ObjCSelector('pause:') void pause(TextureMessage msg); + @ObjCSelector('setMixWithOthers:') void setMixWithOthers(MixWithOthersMessage msg); } - -void configurePigeon(PigeonOptions opts) { - opts.dartOut = 'lib/src/messages.dart'; - opts.dartTestOut = 'test/test_api.dart'; - opts.objcHeaderOut = 'ios/Classes/messages.h'; - opts.objcSourceOut = 'ios/Classes/messages.m'; - opts.objcOptions.prefix = 'FLT'; - opts.javaOut = - 'android/src/main/java/io/flutter/plugins/videoplayer/Messages.java'; - opts.javaOptions.package = 'io.flutter.plugins.videoplayer'; -}
diff --git a/packages/video_player/video_player_avfoundation/pubspec.yaml b/packages/video_player/video_player_avfoundation/pubspec.yaml index 8b00249..044d15b 100644 --- a/packages/video_player/video_player_avfoundation/pubspec.yaml +++ b/packages/video_player/video_player_avfoundation/pubspec.yaml
@@ -2,7 +2,7 @@ description: iOS implementation of the video_player plugin. repository: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player_avfoundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.2.18 +version: 2.3.0 environment: sdk: ">=2.14.0 <3.0.0" @@ -24,4 +24,4 @@ dev_dependencies: flutter_test: sdk: flutter - pigeon: ^0.1.21 + pigeon: ^1.0.17
diff --git a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart index adb29a5..9b6d1df 100644 --- a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart +++ b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart
@@ -6,7 +6,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:video_player_avfoundation/src/messages.dart'; +import 'package:video_player_avfoundation/src/messages.g.dart'; import 'package:video_player_avfoundation/video_player_avfoundation.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; @@ -26,7 +26,7 @@ TextureMessage create(CreateMessage arg) { log.add('create'); createMessage = arg; - return TextureMessage()..textureId = 3; + return TextureMessage(textureId: 3); } @override @@ -62,7 +62,7 @@ PositionMessage position(TextureMessage arg) { log.add('position'); textureMessage = arg; - return PositionMessage()..position = 234; + return PositionMessage(textureId: arg.textureId, position: 234); } @override
diff --git a/packages/video_player/video_player_avfoundation/test/test_api.dart b/packages/video_player/video_player_avfoundation/test/test_api.dart index b173705..191358e 100644 --- a/packages/video_player/video_player_avfoundation/test/test_api.dart +++ b/packages/video_player/video_player_avfoundation/test/test_api.dart
@@ -1,34 +1,100 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - -// Autogenerated from Pigeon (v0.1.21), do not edit directly. +// Autogenerated from Pigeon (v1.0.17), do not edit directly. // See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis +// ignore_for_file: avoid_relative_lib_imports // @dart = 2.12 import 'dart:async'; import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; +import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:video_player_avfoundation/src/messages.dart'; + +// TODO(gaaclarke): The following output had to be tweaked from a relative path to a uri. +import 'package:video_player_avfoundation/src/messages.g.dart'; + +class _TestHostVideoPlayerApiCodec extends StandardMessageCodec { + const _TestHostVideoPlayerApiCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is CreateMessage) { + buffer.putUint8(128); + writeValue(buffer, value.encode()); + } else if (value is LoopingMessage) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is MixWithOthersMessage) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is PlaybackSpeedMessage) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is PositionMessage) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is TextureMessage) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else if (value is VolumeMessage) { + buffer.putUint8(134); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 128: + return CreateMessage.decode(readValue(buffer)!); + + case 129: + return LoopingMessage.decode(readValue(buffer)!); + + case 130: + return MixWithOthersMessage.decode(readValue(buffer)!); + + case 131: + return PlaybackSpeedMessage.decode(readValue(buffer)!); + + case 132: + return PositionMessage.decode(readValue(buffer)!); + + case 133: + return TextureMessage.decode(readValue(buffer)!); + + case 134: + return VolumeMessage.decode(readValue(buffer)!); + + default: + return super.readValueOfType(type, buffer); + } + } +} abstract class TestHostVideoPlayerApi { + static const MessageCodec<Object?> codec = _TestHostVideoPlayerApiCodec(); + void initialize(); - TextureMessage create(CreateMessage arg); - void dispose(TextureMessage arg); - void setLooping(LoopingMessage arg); - void setVolume(VolumeMessage arg); - void setPlaybackSpeed(PlaybackSpeedMessage arg); - void play(TextureMessage arg); - PositionMessage position(TextureMessage arg); - void seekTo(PositionMessage arg); - void pause(TextureMessage arg); - void setMixWithOthers(MixWithOthersMessage arg); - static void setup(TestHostVideoPlayerApi? api) { + TextureMessage create(CreateMessage msg); + void dispose(TextureMessage msg); + void setLooping(LoopingMessage msg); + void setVolume(VolumeMessage msg); + void setPlaybackSpeed(PlaybackSpeedMessage msg); + void play(TextureMessage msg); + PositionMessage position(TextureMessage msg); + void seekTo(PositionMessage msg); + void pause(TextureMessage msg); + void setMixWithOthers(MixWithOthersMessage msg); + static void setup(TestHostVideoPlayerApi? api, + {BinaryMessenger? binaryMessenger}) { { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.initialize', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.initialize', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { @@ -40,157 +106,193 @@ } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.create', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.create', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null. Expected CreateMessage.'); - final CreateMessage input = CreateMessage.decode(message!); - final TextureMessage output = api.create(input); - return <Object?, Object?>{'result': output.encode()}; + 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final CreateMessage? arg_msg = (args[0] as CreateMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.create was null, expected non-null CreateMessage.'); + final TextureMessage output = api.create(arg_msg!); + return <Object?, Object?>{'result': output}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.dispose', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.dispose', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.dispose(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.dispose was null, expected non-null TextureMessage.'); + api.dispose(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setLooping', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setLooping', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null. Expected LoopingMessage.'); - final LoopingMessage input = LoopingMessage.decode(message!); - api.setLooping(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final LoopingMessage? arg_msg = (args[0] as LoopingMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setLooping was null, expected non-null LoopingMessage.'); + api.setLooping(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setVolume', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setVolume', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null. Expected VolumeMessage.'); - final VolumeMessage input = VolumeMessage.decode(message!); - api.setVolume(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final VolumeMessage? arg_msg = (args[0] as VolumeMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setVolume was null, expected non-null VolumeMessage.'); + api.setVolume(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null. Expected PlaybackSpeedMessage.'); - final PlaybackSpeedMessage input = - PlaybackSpeedMessage.decode(message!); - api.setPlaybackSpeed(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final PlaybackSpeedMessage? arg_msg = + (args[0] as PlaybackSpeedMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setPlaybackSpeed was null, expected non-null PlaybackSpeedMessage.'); + api.setPlaybackSpeed(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.play', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.play', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.play(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.play was null, expected non-null TextureMessage.'); + api.play(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.position', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.position', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - final PositionMessage output = api.position(input); - return <Object?, Object?>{'result': output.encode()}; + 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.position was null, expected non-null TextureMessage.'); + final PositionMessage output = api.position(arg_msg!); + return <Object?, Object?>{'result': output}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.seekTo', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.seekTo', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null. Expected PositionMessage.'); - final PositionMessage input = PositionMessage.decode(message!); - api.seekTo(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final PositionMessage? arg_msg = (args[0] as PositionMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.seekTo was null, expected non-null PositionMessage.'); + api.seekTo(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.pause', StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.pause', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null. Expected TextureMessage.'); - final TextureMessage input = TextureMessage.decode(message!); - api.pause(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final TextureMessage? arg_msg = (args[0] as TextureMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.pause was null, expected non-null TextureMessage.'); + api.pause(arg_msg!); return <Object?, Object?>{}; }); } } { - const BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( - 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', - StandardMessageCodec()); + final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( + 'dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers', codec, + binaryMessenger: binaryMessenger); if (api == null) { channel.setMockMessageHandler(null); } else { channel.setMockMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null. Expected MixWithOthersMessage.'); - final MixWithOthersMessage input = - MixWithOthersMessage.decode(message!); - api.setMixWithOthers(input); + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null.'); + final List<Object?> args = (message as List<Object?>?)!; + final MixWithOthersMessage? arg_msg = + (args[0] as MixWithOthersMessage?); + assert(arg_msg != null, + 'Argument for dev.flutter.pigeon.VideoPlayerApi.setMixWithOthers was null, expected non-null MixWithOthersMessage.'); + api.setMixWithOthers(arg_msg!); return <Object?, Object?>{}; }); }