diff --git a/flutter_vlc_player/android/build.gradle b/flutter_vlc_player/android/build.gradle index 986b6f43..19755c5e 100644 --- a/flutter_vlc_player/android/build.gradle +++ b/flutter_vlc_player/android/build.gradle @@ -62,7 +62,7 @@ android { testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" - outputs.upToDateWhen {false} + outputs.upToDateWhen { false } showStandardStreams = true } } diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/DataSourceType.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/DataSourceType.java index 9f55fd31..bf566f7b 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/DataSourceType.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/DataSourceType.java @@ -1,20 +1,7 @@ package software.solid.fluttervlcplayer.Enums; public enum DataSourceType { - - ASSET(0), - NETWORK(1), - FILE(2); - - private int mType; - - DataSourceType (int type) - { - this.mType = type; - } - - public int getNumericType() { - return mType; - } - + ASSET, + NETWORK, + FILE } diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/HwAcc.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/HwAcc.java index c13aa543..c688040b 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/HwAcc.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Enums/HwAcc.java @@ -1,20 +1,8 @@ package software.solid.fluttervlcplayer.Enums; public enum HwAcc { - - AUTOMATIC(-1), - DISABLED(0), - DECODING(1), - FULL(2); - - private int mType; - - HwAcc (int type) - { - this.mType = type; - } - - public int getNumericType() { - return mType; - } + AUTOMATIC, + DISABLED, + DECODING, + FULL } diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayer.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayer.java index e5fc3d94..284c30c3 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayer.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayer.java @@ -1,36 +1,32 @@ package software.solid.fluttervlcplayer; -import org.videolan.libvlc.LibVLC; -import org.videolan.libvlc.Media; -import org.videolan.libvlc.MediaPlayer; -import org.videolan.libvlc.RendererDiscoverer; -import org.videolan.libvlc.RendererItem; -import org.videolan.libvlc.interfaces.IMedia; -import org.videolan.libvlc.interfaces.IVLCVout; - import android.content.Context; import android.graphics.Bitmap; -import android.graphics.SurfaceTexture; import android.net.Uri; import android.util.Base64; import android.util.Log; -import android.view.Surface; -import android.view.SurfaceView; import android.view.View; -import io.flutter.plugin.common.BinaryMessenger; -import io.flutter.plugin.common.EventChannel; -import io.flutter.plugin.platform.PlatformView; -import io.flutter.view.TextureRegistry; -import software.solid.fluttervlcplayer.Enums.HwAcc; +import androidx.annotation.Nullable; + +import org.videolan.libvlc.LibVLC; +import org.videolan.libvlc.Media; +import org.videolan.libvlc.MediaPlayer; +import org.videolan.libvlc.RendererDiscoverer; +import org.videolan.libvlc.RendererItem; import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import io.flutter.plugin.common.BinaryMessenger; +import io.flutter.plugin.common.EventChannel; +import io.flutter.plugin.platform.PlatformView; +import io.flutter.view.TextureRegistry; +import software.solid.fluttervlcplayer.Enums.HwAcc; + final class FlutterVlcPlayer implements PlatformView { private final String TAG = this.getClass().getSimpleName(); @@ -281,7 +277,7 @@ void setStreamUrl(String url, boolean isAssetUrl, boolean autoPlay, long hwAcc) Media media; if (isAssetUrl) media = new Media(libVLC, context.getAssets().openFd(url)); - else if(url.startsWith("content://")) + else if (url.startsWith("content://")) media = new Media(libVLC, context.getContentResolver().openFileDescriptor(Uri.parse(url), "r").getFileDescriptor()); else media = new Media(libVLC, Uri.parse(url)); @@ -346,7 +342,7 @@ float getPlaybackSpeed() { return mediaPlayer.getRate(); } - void seekTo(int location) { + void seekTo(long location) { if (mediaPlayer == null) return; mediaPlayer.setTime(location); @@ -633,10 +629,13 @@ void castToRenderer(String rendererDevice) { mediaPlayer.play(); } + @Nullable String getSnapshot() { - if (textureView == null) return ""; + if (textureView == null) return null; Bitmap bitmap = textureView.getBitmap(); + if (bitmap == null) return null; + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); return Base64.encodeToString(outputStream.toByteArray(), Base64.NO_WRAP); diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerBuilder.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerBuilder.java index d2cf1a4b..4d83633d 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerBuilder.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerBuilder.java @@ -1,20 +1,20 @@ package software.solid.fluttervlcplayer; import android.content.Context; -import android.content.res.AssetFileDescriptor; -import android.content.res.AssetManager; -import android.os.Build; import android.util.LongSparseArray; -import androidx.annotation.RequiresApi; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; -import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.view.TextureRegistry; import software.solid.fluttervlcplayer.Enums.DataSourceType; +import software.solid.fluttervlcplayer.Enums.HwAcc; public class FlutterVlcPlayerBuilder implements Messages.VlcPlayerApi { @@ -23,12 +23,12 @@ public class FlutterVlcPlayerBuilder implements Messages.VlcPlayerApi { private FlutterVlcPlayerFactory.KeyForAssetAndPackageName keyForAssetAndPackageName; void startListening(BinaryMessenger messenger) { - Messages.VlcPlayerApi.setup(messenger, this); + Messages.VlcPlayerApi.setUp(messenger, this); } void stopListening(BinaryMessenger messenger) { // disposeAllPlayers(); - Messages.VlcPlayerApi.setup(messenger, null); + Messages.VlcPlayerApi.setUp(messenger, null); } FlutterVlcPlayer build(int viewId, Context context, BinaryMessenger binaryMessenger, TextureRegistry textureRegistry, FlutterVlcPlayerFactory.KeyForAssetFn keyForAsset, FlutterVlcPlayerFactory.KeyForAssetAndPackageName keyForAssetAndPackageName) { @@ -45,7 +45,14 @@ private void disposeAllPlayers() { vlcPlayers.valueAt(i).dispose(); } vlcPlayers.clear(); + } + + private FlutterVlcPlayer getPlayer(@NonNull Long playerId) { + if (vlcPlayers.get(playerId) == null) { + throw new Messages.FlutterError("player_not_found", "Player with id " + playerId + " not found", null); + } + return vlcPlayers.get(playerId); } @Override @@ -54,45 +61,39 @@ public void initialize() { } @Override - public void create(Messages.CreateMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - // - ArrayList options = new ArrayList(); - if (arg.getOptions().size() > 0) - for (Object option : arg.getOptions()) - options.add((String) option); + public void create(@NonNull Messages.CreateMessage arg) { + FlutterVlcPlayer player = getPlayer(arg.getPlayerId()); + + ArrayList options = new ArrayList<>(); + if (!arg.getOptions().isEmpty()) + options.addAll(arg.getOptions()); player.initialize(options); - // - String mediaUrl; - boolean isAssetUrl; - if (arg.getType() == DataSourceType.ASSET.getNumericType()) { - String assetLookupKey; - if (arg.getPackageName() != null) - assetLookupKey = keyForAssetAndPackageName.get(arg.getUri(), arg.getPackageName()); - else - assetLookupKey = keyForAsset.get(arg.getUri()); - mediaUrl = assetLookupKey; - isAssetUrl = true; - } else { - mediaUrl = arg.getUri(); - isAssetUrl = false; - } - player.setStreamUrl(mediaUrl, isAssetUrl, arg.getAutoPlay(), arg.getHwAcc()); + + var mediaMessage = new Messages.SetMediaMessage(); + mediaMessage.setPlayerId(arg.getPlayerId()); + mediaMessage.setUri(arg.getUri()); + mediaMessage.setType(arg.getType()); + mediaMessage.setAutoPlay(arg.getAutoPlay()); + mediaMessage.setHwAcc(arg.getHwAcc()); + mediaMessage.setPackageName(arg.getPackageName()); + + setStreamUrl(mediaMessage); } @Override - public void dispose(Messages.ViewMessage arg) { - // the player has been already disposed by platform we just remove it from players list - vlcPlayers.remove(arg.getViewId()); + public void dispose(@NonNull Long playerId) { + FlutterVlcPlayer player = getPlayer(playerId); + player.dispose(); + vlcPlayers.remove(playerId); } @Override - public void setStreamUrl(Messages.SetMediaMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - // - boolean isAssetUrl; + public void setStreamUrl(@NonNull Messages.SetMediaMessage arg) { + var player = getPlayer(arg.getPlayerId()); + String mediaUrl; - if (arg.getType() == DataSourceType.ASSET.getNumericType()) { + boolean isAssetUrl; + if (arg.getType() == DataSourceType.ASSET.ordinal()) { String assetLookupKey; if (arg.getPackageName() != null) assetLookupKey = keyForAssetAndPackageName.get(arg.getUri(), arg.getPackageName()); @@ -104,314 +105,308 @@ public void setStreamUrl(Messages.SetMediaMessage arg) { mediaUrl = arg.getUri(); isAssetUrl = false; } + + if (arg.getHwAcc() == null) { + arg.setHwAcc((long) HwAcc.AUTOMATIC.ordinal()); + } + player.setStreamUrl(mediaUrl, isAssetUrl, arg.getAutoPlay(), arg.getHwAcc()); } @Override - public void play(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + public void play(@NonNull Long playerId) { + var player = getPlayer(playerId); player.play(); } @Override - public void pause(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + public void pause(@NonNull Long playerId) { + var player = getPlayer(playerId); player.pause(); } @Override - public void stop(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + public void stop(@NonNull Long playerId) { + var player = getPlayer(playerId); player.stop(); } + @NonNull @Override - public Messages.BooleanMessage isPlaying(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.BooleanMessage message = new Messages.BooleanMessage(); - message.setResult(player.isPlaying()); - return message; + public Boolean isPlaying(@NonNull Long playerId) { + return getPlayer(playerId).isPlaying(); } + @NonNull @Override - public Messages.BooleanMessage isSeekable(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.BooleanMessage message = new Messages.BooleanMessage(); - message.setResult(player.isSeekable()); - return message; + public Boolean isSeekable(@NonNull Long playerId) { + return getPlayer(playerId).isSeekable(); } @Override - public void setLooping(Messages.LoopingMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setLooping(arg.getIsLooping()); + public void setLooping(@NonNull Long playerId, @NonNull Boolean isLooping) { + var player = getPlayer(playerId); + player.setLooping(isLooping); } @Override - public void seekTo(Messages.PositionMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.seekTo(arg.getPosition().intValue()); + public void seekTo(@NonNull Long playerId, @NonNull Long position) { + var player = getPlayer(playerId); + player.seekTo(position); } + @NonNull @Override - public Messages.PositionMessage position(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.PositionMessage message = new Messages.PositionMessage(); - message.setPosition(player.getPosition()); - return message; + public Long position(@NonNull Long playerId) { + return getPlayer(playerId).getPosition(); } + @NonNull @Override - public Messages.DurationMessage duration(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.DurationMessage message = new Messages.DurationMessage(); - message.setDuration(player.getDuration()); - return message; + public Long duration(@NonNull Long playerId) { + return getPlayer(playerId).getDuration(); } + @NonNull @Override - public void setVolume(Messages.VolumeMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setVolume(arg.getVolume()); + public Long getVolume(@NonNull Long playerId) { + return (long) getPlayer(playerId).getVolume(); } @Override - public Messages.VolumeMessage getVolume(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.VolumeMessage message = new Messages.VolumeMessage(); - message.setVolume((long) player.getVolume()); - return message; + public void setVolume(@NonNull Long playerId, @NonNull Long volume) { + var player = getPlayer(playerId); + player.setVolume(volume.intValue()); } @Override - public void setPlaybackSpeed(Messages.PlaybackSpeedMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setPlaybackSpeed(arg.getSpeed()); + public void setPlaybackSpeed(@NonNull Long playerId, @NonNull Double speed) { + var player = getPlayer(playerId); + player.setPlaybackSpeed(speed); } + @NonNull @Override - public Messages.PlaybackSpeedMessage getPlaybackSpeed(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.PlaybackSpeedMessage message = new Messages.PlaybackSpeedMessage(); - message.setSpeed((double) player.getPlaybackSpeed()); - return message; + public Double getPlaybackSpeed(@NonNull Long playerId) { + return (double) getPlayer(playerId).getPlaybackSpeed(); } + @Nullable @Override - public Messages.SnapshotMessage takeSnapshot(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.SnapshotMessage message = new Messages.SnapshotMessage(); - message.setSnapshot(player.getSnapshot()); - return message; + public String takeSnapshot(@NonNull Long playerId) { + return getPlayer(playerId).getSnapshot(); } + // Subtitles + + @NonNull @Override - public Messages.TrackCountMessage getSpuTracksCount(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.TrackCountMessage message = new Messages.TrackCountMessage(); - message.setCount((long) player.getSpuTracksCount()); - return message; + public Long getSpuTracksCount(@NonNull Long playerId) { + return (long) getPlayer(playerId).getSpuTracksCount(); } + @NonNull @Override - public Messages.SpuTracksMessage getSpuTracks(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.SpuTracksMessage message = new Messages.SpuTracksMessage(); - message.setSubtitles(player.getSpuTracks()); - return message; + public Map getSpuTracks(@NonNull Long playerId) { + Map tracks = getPlayer(playerId).getSpuTracks(); + + Map convertedTracks = new HashMap<>(); + for (Map.Entry entry : tracks.entrySet()) { + convertedTracks.put(entry.getKey().longValue(), entry.getValue()); + } + + return convertedTracks; } + @NonNull @Override - public void setSpuTrack(Messages.SpuTrackMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setSpuTrack(arg.getSpuTrackNumber().intValue()); + public Long getSpuTrack(@NonNull Long playerId) { + return (long) getPlayer(playerId).getSpuTrack(); } @Override - public Messages.SpuTrackMessage getSpuTrack(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.SpuTrackMessage message = new Messages.SpuTrackMessage(); - message.setSpuTrackNumber((long) player.getSpuTrack()); - return message; + public void setSpuTrack(@NonNull Long playerId, @NonNull Long spuTrackNumber) { + var player = getPlayer(playerId); + player.setSpuTrack(spuTrackNumber.intValue()); } @Override - public void setSpuDelay(Messages.DelayMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setSpuDelay(arg.getDelay()); + public void setSpuDelay(@NonNull Long playerId, @NonNull Long delay) { + var player = getPlayer(playerId); + player.setSpuDelay(delay.intValue()); } + @NonNull @Override - public Messages.DelayMessage getSpuDelay(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.DelayMessage message = new Messages.DelayMessage(); - message.setDelay(player.getSpuDelay()); - return message; + public Long getSpuDelay(@NonNull Long playerId) { + return getPlayer(playerId).getSpuDelay(); } @Override public void addSubtitleTrack(Messages.AddSubtitleMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + var player = getPlayer(arg.getPlayerId()); player.addSubtitleTrack(arg.getUri(), arg.getIsSelected()); } + // Audio tracks + + @NonNull @Override - public Messages.TrackCountMessage getAudioTracksCount(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.TrackCountMessage message = new Messages.TrackCountMessage(); - message.setCount((long) player.getAudioTracksCount()); - return message; + public Long getAudioTracksCount(@NonNull Long playerId) { + return (long) getPlayer(playerId).getAudioTracksCount(); } + @NonNull @Override - public Messages.AudioTracksMessage getAudioTracks(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.AudioTracksMessage message = new Messages.AudioTracksMessage(); - message.setAudios(player.getAudioTracks()); - return message; + public Map getAudioTracks(@NonNull Long playerId) { + Map tracks = getPlayer(playerId).getAudioTracks(); + + Map convertedTracks = new HashMap<>(); + for (Map.Entry entry : tracks.entrySet()) { + convertedTracks.put(entry.getKey().longValue(), entry.getValue()); + } + + return convertedTracks; } @Override - public void setAudioTrack(Messages.AudioTrackMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setAudioTrack(arg.getAudioTrackNumber().intValue()); + public void setAudioTrack(@NonNull Long playerId, @NonNull Long audioTrackNumber) { + var player = getPlayer(playerId); + player.setAudioTrack(audioTrackNumber.intValue()); } + @NonNull @Override - public Messages.AudioTrackMessage getAudioTrack(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.AudioTrackMessage message = new Messages.AudioTrackMessage(); - message.setAudioTrackNumber((long) player.getAudioTrack()); - return message; + public Long getAudioTrack(@NonNull Long playerId) { + return (long) getPlayer(playerId).getAudioTrack(); } @Override - public void setAudioDelay(Messages.DelayMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setAudioDelay(arg.getDelay()); + public void setAudioDelay(@NonNull Long playerId, @NonNull Long delay) { + var player = getPlayer(playerId); + player.setAudioDelay(delay); } + @NonNull @Override - public Messages.DelayMessage getAudioDelay(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.DelayMessage message = new Messages.DelayMessage(); - message.setDelay(player.getAudioDelay()); - return message; + public Long getAudioDelay(@NonNull Long playerId) { + return getPlayer(playerId).getAudioDelay(); } @Override public void addAudioTrack(Messages.AddAudioMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + var player = getPlayer(arg.getPlayerId()); player.addAudioTrack(arg.getUri(), arg.getIsSelected()); } + // Video tracks + + + @NonNull @Override - public Messages.TrackCountMessage getVideoTracksCount(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.TrackCountMessage message = new Messages.TrackCountMessage(); - message.setCount((long) player.getVideoTracksCount()); - return message; + public Long getVideoTracksCount(@NonNull Long playerId) { + return (long) getPlayer(playerId).getVideoTracksCount(); } + @NonNull @Override - public Messages.VideoTracksMessage getVideoTracks(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.VideoTracksMessage message = new Messages.VideoTracksMessage(); - message.setVideos(player.getVideoTracks()); - return message; + public Map getVideoTracks(@NonNull Long playerId) { + Map tracks = getPlayer(playerId).getVideoTracks(); + + Map convertedTracks = new HashMap<>(); + for (Map.Entry entry : tracks.entrySet()) { + convertedTracks.put(entry.getKey().longValue(), entry.getValue()); + } + + return convertedTracks; } @Override - public void setVideoTrack(Messages.VideoTrackMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setVideoTrack(arg.getVideoTrackNumber().intValue()); + public void setVideoTrack(@NonNull Long playerId, @NonNull Long videoTrackNumber) { + var player = getPlayer(playerId); + player.setVideoTrack(videoTrackNumber.intValue()); } + @NonNull @Override - public Messages.VideoTrackMessage getVideoTrack(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.VideoTrackMessage message = new Messages.VideoTrackMessage(); - message.setVideoTrackNumber((long) player.getVideoTrack()); - return null; + public Long getVideoTrack(@NonNull Long playerId) { + return (long) getPlayer(playerId).getVideoTrack(); } + // Video properties + + @Override - public void setVideoScale(Messages.VideoScaleMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setVideoScale(arg.getScale().floatValue()); + public void setVideoScale(@NonNull Long playerId, @NonNull Double scale) { + var player = getPlayer(playerId); + player.setVideoScale(scale.floatValue()); } + @NonNull @Override - public Messages.VideoScaleMessage getVideoScale(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.VideoScaleMessage message = new Messages.VideoScaleMessage(); - message.setScale((double) player.getVideoScale()); - return message; + public Double getVideoScale(@NonNull Long playerId) { + return (double) getPlayer(playerId).getVideoScale(); } @Override - public void setVideoAspectRatio(Messages.VideoAspectRatioMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.setVideoAspectRatio(arg.getAspectRatio()); + public void setVideoAspectRatio(@NonNull Long playerId, @NonNull String aspectRatio) { + var player = getPlayer(playerId); + player.setVideoAspectRatio(aspectRatio); } + @NonNull @Override - public Messages.VideoAspectRatioMessage getVideoAspectRatio(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.VideoAspectRatioMessage message = new Messages.VideoAspectRatioMessage(); - message.setAspectRatio(player.getVideoAspectRatio()); - return message; + public String getVideoAspectRatio(@NonNull Long playerId) { + return getPlayer(playerId).getVideoAspectRatio(); } + // Cast + + + @NonNull @Override - public Messages.RendererServicesMessage getAvailableRendererServices(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.RendererServicesMessage message = new Messages.RendererServicesMessage(); - message.setServices(player.getAvailableRendererServices()); - return message; + public List getAvailableRendererServices(@NonNull Long playerId) { + return getPlayer(playerId).getAvailableRendererServices(); } @Override - public void startRendererScanning(Messages.RendererScanningMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.startRendererScanning(arg.getRendererService()); + public void startRendererScanning(@NonNull Long playerId, @NonNull String rendererService) { + var player = getPlayer(playerId); + player.startRendererScanning(rendererService); } @Override - public void stopRendererScanning(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); + public void stopRendererScanning(@NonNull Long playerId) { + var player = getPlayer(playerId); player.stopRendererScanning(); } + @NonNull @Override - public Messages.RendererDevicesMessage getRendererDevices(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Messages.RendererDevicesMessage message = new Messages.RendererDevicesMessage(); - message.setRendererDevices(player.getRendererDevices()); - return message; + public Map getRendererDevices(@NonNull Long playerId) { + return getPlayer(playerId).getRendererDevices(); } @Override - public void castToRenderer(Messages.RenderDeviceMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - player.castToRenderer(arg.getRendererDevice()); + public void castToRenderer(@NonNull Long playerId, @NonNull String rendererId) { + var player = getPlayer(playerId); + player.castToRenderer(rendererId); } + // Recording + + + @NonNull @Override - public Messages.BooleanMessage startRecording(Messages.RecordMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Boolean result = player.startRecording(arg.getSaveDirectory()); - Messages.BooleanMessage message = new Messages.BooleanMessage(); - message.setResult(result); - return message; + public Boolean startRecording(@NonNull Long playerId, @NonNull String saveDirectory) { + var player = getPlayer(playerId); + return player.startRecording(saveDirectory); } + @NonNull @Override - public Messages.BooleanMessage stopRecording(Messages.ViewMessage arg) { - FlutterVlcPlayer player = vlcPlayers.get(arg.getViewId()); - Boolean result = player.stopRecording(); - Messages.BooleanMessage message = new Messages.BooleanMessage(); - message.setResult(result); - return message; + public Boolean stopRecording(@NonNull Long playerId) { + var player = getPlayer(playerId); + return player.stopRecording(); } } diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerFactory.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerFactory.java index 4c7b3904..da8b1221 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerFactory.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayerFactory.java @@ -1,9 +1,8 @@ package software.solid.fluttervlcplayer; import android.content.Context; -import android.util.LongSparseArray; -import java.util.Map; +import androidx.annotation.NonNull; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.StandardMessageCodec; @@ -26,7 +25,7 @@ public interface KeyForAssetAndPackageName { private final KeyForAssetFn keyForAsset; private final KeyForAssetAndPackageName keyForAssetAndPackageName; // - private FlutterVlcPlayerBuilder flutterVlcPlayerBuilder; + private final FlutterVlcPlayerBuilder flutterVlcPlayerBuilder; public FlutterVlcPlayerFactory(BinaryMessenger messenger, TextureRegistry textureRegistry, KeyForAssetFn keyForAsset, KeyForAssetAndPackageName keyForAssetAndPackageName) { super(StandardMessageCodec.INSTANCE); @@ -38,6 +37,7 @@ public FlutterVlcPlayerFactory(BinaryMessenger messenger, TextureRegistry textur flutterVlcPlayerBuilder = new FlutterVlcPlayerBuilder(); } + @NonNull @Override public PlatformView create(Context context, int viewId, Object args) { // Map params = (Map) args; diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Messages.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Messages.java index d4794e2f..67cab626 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Messages.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/Messages.java @@ -1,1849 +1,2095 @@ -// Autogenerated from Pigeon (v0.2.1), do not edit directly. +// Autogenerated from Pigeon (v25.2.0), do not edit directly. // See also: https://pub.dev/packages/pigeon package software.solid.fluttervlcplayer; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.RetentionPolicy.CLASS; + +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.lang.annotation.Retention; +import java.lang.annotation.Target; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.HashMap; +import java.util.Objects; /** Generated class from Pigeon. */ -@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"}) +@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression", "serial"}) public class Messages { - /** Generated class from Pigeon that represents data sent in messages. */ - public static class CreateMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String uri; - public String getUri() { return uri; } - public void setUri(String setterArg) { this.uri = setterArg; } - - private Long type; - public Long getType() { return type; } - public void setType(Long setterArg) { this.type = setterArg; } - - private String packageName; - public String getPackageName() { return packageName; } - public void setPackageName(String setterArg) { this.packageName = setterArg; } - - private Boolean autoPlay; - public Boolean getAutoPlay() { return autoPlay; } - public void setAutoPlay(Boolean setterArg) { this.autoPlay = setterArg; } - - private Long hwAcc; - public Long getHwAcc() { return hwAcc; } - public void setHwAcc(Long setterArg) { this.hwAcc = setterArg; } - - private List options; - public List getOptions() { return options; } - public void setOptions(List setterArg) { this.options = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("uri", uri); - toMapResult.put("type", type); - toMapResult.put("packageName", packageName); - toMapResult.put("autoPlay", autoPlay); - toMapResult.put("hwAcc", hwAcc); - toMapResult.put("options", options); - return toMapResult; - } - static CreateMessage fromMap(Map map) { - CreateMessage fromMapResult = new CreateMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object uri = map.get("uri"); - fromMapResult.uri = (String)uri; - Object type = map.get("type"); - fromMapResult.type = (type == null) ? null : ((type instanceof Integer) ? (Integer)type : (Long)type); - Object packageName = map.get("packageName"); - fromMapResult.packageName = (String)packageName; - Object autoPlay = map.get("autoPlay"); - fromMapResult.autoPlay = (Boolean)autoPlay; - Object hwAcc = map.get("hwAcc"); - fromMapResult.hwAcc = (hwAcc == null) ? null : ((hwAcc instanceof Integer) ? (Integer)hwAcc : (Long)hwAcc); - Object options = map.get("options"); - fromMapResult.options = (List)options; - return fromMapResult; + /** Error class for passing custom error details to Flutter via a thrown PlatformException. */ + public static class FlutterError extends RuntimeException { + + /** The error code. */ + public final String code; + + /** The error details. Must be a datatype supported by the api codec. */ + public final Object details; + + public FlutterError(@NonNull String code, @Nullable String message, @Nullable Object details) + { + super(message); + this.code = code; + this.details = details; } } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class ViewMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - return toMapResult; - } - static ViewMessage fromMap(Map map) { - ViewMessage fromMapResult = new ViewMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - return fromMapResult; + @NonNull + protected static ArrayList wrapError(@NonNull Throwable exception) { + ArrayList errorList = new ArrayList<>(3); + if (exception instanceof FlutterError) { + FlutterError error = (FlutterError) exception; + errorList.add(error.code); + errorList.add(error.getMessage()); + errorList.add(error.details); + } else { + errorList.add(exception.toString()); + errorList.add(exception.getClass().getSimpleName()); + errorList.add( + "Cause: " + exception.getCause() + ", Stacktrace: " + Log.getStackTraceString(exception)); } + return errorList; } + @Target(METHOD) + @Retention(CLASS) + @interface CanIgnoreReturnValue {} + /** Generated class from Pigeon that represents data sent in messages. */ - public static class SetMediaMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String uri; - public String getUri() { return uri; } - public void setUri(String setterArg) { this.uri = setterArg; } - - private Long type; - public Long getType() { return type; } - public void setType(Long setterArg) { this.type = setterArg; } - - private String packageName; - public String getPackageName() { return packageName; } - public void setPackageName(String setterArg) { this.packageName = setterArg; } - - private Boolean autoPlay; - public Boolean getAutoPlay() { return autoPlay; } - public void setAutoPlay(Boolean setterArg) { this.autoPlay = setterArg; } - - private Long hwAcc; - public Long getHwAcc() { return hwAcc; } - public void setHwAcc(Long setterArg) { this.hwAcc = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("uri", uri); - toMapResult.put("type", type); - toMapResult.put("packageName", packageName); - toMapResult.put("autoPlay", autoPlay); - toMapResult.put("hwAcc", hwAcc); - return toMapResult; - } - static SetMediaMessage fromMap(Map map) { - SetMediaMessage fromMapResult = new SetMediaMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object uri = map.get("uri"); - fromMapResult.uri = (String)uri; - Object type = map.get("type"); - fromMapResult.type = (type == null) ? null : ((type instanceof Integer) ? (Integer)type : (Long)type); - Object packageName = map.get("packageName"); - fromMapResult.packageName = (String)packageName; - Object autoPlay = map.get("autoPlay"); - fromMapResult.autoPlay = (Boolean)autoPlay; - Object hwAcc = map.get("hwAcc"); - fromMapResult.hwAcc = (hwAcc == null) ? null : ((hwAcc instanceof Integer) ? (Integer)hwAcc : (Long)hwAcc); - return fromMapResult; + public static final class CreateMessage { + private @NonNull Long playerId; + + public @NonNull Long getPlayerId() { + return playerId; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class BooleanMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Boolean result; - public Boolean getResult() { return result; } - public void setResult(Boolean setterArg) { this.result = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("result", result); - return toMapResult; - } - static BooleanMessage fromMap(Map map) { - BooleanMessage fromMapResult = new BooleanMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object result = map.get("result"); - fromMapResult.result = (Boolean)result; - return fromMapResult; + public void setPlayerId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"playerId\" is null."); + } + this.playerId = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class LoopingMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Boolean isLooping; - public Boolean getIsLooping() { return isLooping; } - public void setIsLooping(Boolean setterArg) { this.isLooping = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("isLooping", isLooping); - return toMapResult; - } - static LoopingMessage fromMap(Map map) { - LoopingMessage fromMapResult = new LoopingMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object isLooping = map.get("isLooping"); - fromMapResult.isLooping = (Boolean)isLooping; - return fromMapResult; + private @NonNull String uri; + + public @NonNull String getUri() { + return uri; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class PositionMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long position; - public Long getPosition() { return position; } - public void setPosition(Long setterArg) { this.position = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("position", position); - return toMapResult; - } - static PositionMessage fromMap(Map map) { - PositionMessage fromMapResult = new PositionMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object position = map.get("position"); - fromMapResult.position = (position == null) ? null : ((position instanceof Integer) ? (Integer)position : (Long)position); - return fromMapResult; + public void setUri(@NonNull String setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"uri\" is null."); + } + this.uri = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class DurationMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long duration; - public Long getDuration() { return duration; } - public void setDuration(Long setterArg) { this.duration = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("duration", duration); - return toMapResult; - } - static DurationMessage fromMap(Map map) { - DurationMessage fromMapResult = new DurationMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object duration = map.get("duration"); - fromMapResult.duration = (duration == null) ? null : ((duration instanceof Integer) ? (Integer)duration : (Long)duration); - return fromMapResult; + private @NonNull Long type; + + public @NonNull Long getType() { + return type; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class VolumeMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long volume; - public Long getVolume() { return volume; } - public void setVolume(Long setterArg) { this.volume = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("volume", volume); - return toMapResult; - } - static VolumeMessage fromMap(Map map) { - VolumeMessage fromMapResult = new VolumeMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object volume = map.get("volume"); - fromMapResult.volume = (volume == null) ? null : ((volume instanceof Integer) ? (Integer)volume : (Long)volume); - return fromMapResult; + public void setType(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"type\" is null."); + } + this.type = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class PlaybackSpeedMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Double speed; - public Double getSpeed() { return speed; } - public void setSpeed(Double setterArg) { this.speed = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("speed", speed); - return toMapResult; - } - static PlaybackSpeedMessage fromMap(Map map) { - PlaybackSpeedMessage fromMapResult = new PlaybackSpeedMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object speed = map.get("speed"); - fromMapResult.speed = (Double)speed; - return fromMapResult; + private @Nullable String packageName; + + public @Nullable String getPackageName() { + return packageName; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class SnapshotMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String snapshot; - public String getSnapshot() { return snapshot; } - public void setSnapshot(String setterArg) { this.snapshot = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("snapshot", snapshot); - return toMapResult; - } - static SnapshotMessage fromMap(Map map) { - SnapshotMessage fromMapResult = new SnapshotMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object snapshot = map.get("snapshot"); - fromMapResult.snapshot = (String)snapshot; - return fromMapResult; + public void setPackageName(@Nullable String setterArg) { + this.packageName = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class TrackCountMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long count; - public Long getCount() { return count; } - public void setCount(Long setterArg) { this.count = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("count", count); - return toMapResult; - } - static TrackCountMessage fromMap(Map map) { - TrackCountMessage fromMapResult = new TrackCountMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object count = map.get("count"); - fromMapResult.count = (count == null) ? null : ((count instanceof Integer) ? (Integer)count : (Long)count); - return fromMapResult; + private @NonNull Boolean autoPlay; + + public @NonNull Boolean getAutoPlay() { + return autoPlay; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class SpuTracksMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Map subtitles; - public Map getSubtitles() { return subtitles; } - public void setSubtitles(Map setterArg) { this.subtitles = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("subtitles", subtitles); - return toMapResult; - } - static SpuTracksMessage fromMap(Map map) { - SpuTracksMessage fromMapResult = new SpuTracksMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object subtitles = map.get("subtitles"); - fromMapResult.subtitles = (Map)subtitles; - return fromMapResult; + public void setAutoPlay(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"autoPlay\" is null."); + } + this.autoPlay = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class SpuTrackMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long spuTrackNumber; - public Long getSpuTrackNumber() { return spuTrackNumber; } - public void setSpuTrackNumber(Long setterArg) { this.spuTrackNumber = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("spuTrackNumber", spuTrackNumber); - return toMapResult; - } - static SpuTrackMessage fromMap(Map map) { - SpuTrackMessage fromMapResult = new SpuTrackMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object spuTrackNumber = map.get("spuTrackNumber"); - fromMapResult.spuTrackNumber = (spuTrackNumber == null) ? null : ((spuTrackNumber instanceof Integer) ? (Integer)spuTrackNumber : (Long)spuTrackNumber); - return fromMapResult; + private @Nullable Long hwAcc; + + public @Nullable Long getHwAcc() { + return hwAcc; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class DelayMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long delay; - public Long getDelay() { return delay; } - public void setDelay(Long setterArg) { this.delay = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("delay", delay); - return toMapResult; - } - static DelayMessage fromMap(Map map) { - DelayMessage fromMapResult = new DelayMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object delay = map.get("delay"); - fromMapResult.delay = (delay == null) ? null : ((delay instanceof Integer) ? (Integer)delay : (Long)delay); - return fromMapResult; + public void setHwAcc(@Nullable Long setterArg) { + this.hwAcc = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class AddSubtitleMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String uri; - public String getUri() { return uri; } - public void setUri(String setterArg) { this.uri = setterArg; } - - private Long type; - public Long getType() { return type; } - public void setType(Long setterArg) { this.type = setterArg; } - - private Boolean isSelected; - public Boolean getIsSelected() { return isSelected; } - public void setIsSelected(Boolean setterArg) { this.isSelected = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("uri", uri); - toMapResult.put("type", type); - toMapResult.put("isSelected", isSelected); - return toMapResult; - } - static AddSubtitleMessage fromMap(Map map) { - AddSubtitleMessage fromMapResult = new AddSubtitleMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object uri = map.get("uri"); - fromMapResult.uri = (String)uri; - Object type = map.get("type"); - fromMapResult.type = (type == null) ? null : ((type instanceof Integer) ? (Integer)type : (Long)type); - Object isSelected = map.get("isSelected"); - fromMapResult.isSelected = (Boolean)isSelected; - return fromMapResult; + private @NonNull List options; + + public @NonNull List getOptions() { + return options; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class AudioTracksMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Map audios; - public Map getAudios() { return audios; } - public void setAudios(Map setterArg) { this.audios = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("audios", audios); - return toMapResult; - } - static AudioTracksMessage fromMap(Map map) { - AudioTracksMessage fromMapResult = new AudioTracksMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object audios = map.get("audios"); - fromMapResult.audios = (Map)audios; - return fromMapResult; + public void setOptions(@NonNull List setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"options\" is null."); + } + this.options = setterArg; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class AudioTrackMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long audioTrackNumber; - public Long getAudioTrackNumber() { return audioTrackNumber; } - public void setAudioTrackNumber(Long setterArg) { this.audioTrackNumber = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("audioTrackNumber", audioTrackNumber); - return toMapResult; - } - static AudioTrackMessage fromMap(Map map) { - AudioTrackMessage fromMapResult = new AudioTrackMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object audioTrackNumber = map.get("audioTrackNumber"); - fromMapResult.audioTrackNumber = (audioTrackNumber == null) ? null : ((audioTrackNumber instanceof Integer) ? (Integer)audioTrackNumber : (Long)audioTrackNumber); - return fromMapResult; + /** Constructor is non-public to enforce null safety; use Builder. */ + CreateMessage() {} + + @Override + public boolean equals(Object o) { + if (this == o) { return true; } + if (o == null || getClass() != o.getClass()) { return false; } + CreateMessage that = (CreateMessage) o; + return playerId.equals(that.playerId) && uri.equals(that.uri) && type.equals(that.type) && Objects.equals(packageName, that.packageName) && autoPlay.equals(that.autoPlay) && Objects.equals(hwAcc, that.hwAcc) && options.equals(that.options); } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class AddAudioMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String uri; - public String getUri() { return uri; } - public void setUri(String setterArg) { this.uri = setterArg; } - - private Long type; - public Long getType() { return type; } - public void setType(Long setterArg) { this.type = setterArg; } - - private Boolean isSelected; - public Boolean getIsSelected() { return isSelected; } - public void setIsSelected(Boolean setterArg) { this.isSelected = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("uri", uri); - toMapResult.put("type", type); - toMapResult.put("isSelected", isSelected); - return toMapResult; - } - static AddAudioMessage fromMap(Map map) { - AddAudioMessage fromMapResult = new AddAudioMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object uri = map.get("uri"); - fromMapResult.uri = (String)uri; - Object type = map.get("type"); - fromMapResult.type = (type == null) ? null : ((type instanceof Integer) ? (Integer)type : (Long)type); - Object isSelected = map.get("isSelected"); - fromMapResult.isSelected = (Boolean)isSelected; - return fromMapResult; + @Override + public int hashCode() { + return Objects.hash(playerId, uri, type, packageName, autoPlay, hwAcc, options); } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class VideoTracksMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Map videos; - public Map getVideos() { return videos; } - public void setVideos(Map setterArg) { this.videos = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("videos", videos); - return toMapResult; - } - static VideoTracksMessage fromMap(Map map) { - VideoTracksMessage fromMapResult = new VideoTracksMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object videos = map.get("videos"); - fromMapResult.videos = (Map)videos; - return fromMapResult; + public static final class Builder { + + private @Nullable Long playerId; + + @CanIgnoreReturnValue + public @NonNull Builder setPlayerId(@NonNull Long setterArg) { + this.playerId = setterArg; + return this; + } + + private @Nullable String uri; + + @CanIgnoreReturnValue + public @NonNull Builder setUri(@NonNull String setterArg) { + this.uri = setterArg; + return this; + } + + private @Nullable Long type; + + @CanIgnoreReturnValue + public @NonNull Builder setType(@NonNull Long setterArg) { + this.type = setterArg; + return this; + } + + private @Nullable String packageName; + + @CanIgnoreReturnValue + public @NonNull Builder setPackageName(@Nullable String setterArg) { + this.packageName = setterArg; + return this; + } + + private @Nullable Boolean autoPlay; + + @CanIgnoreReturnValue + public @NonNull Builder setAutoPlay(@NonNull Boolean setterArg) { + this.autoPlay = setterArg; + return this; + } + + private @Nullable Long hwAcc; + + @CanIgnoreReturnValue + public @NonNull Builder setHwAcc(@Nullable Long setterArg) { + this.hwAcc = setterArg; + return this; + } + + private @Nullable List options; + + @CanIgnoreReturnValue + public @NonNull Builder setOptions(@NonNull List setterArg) { + this.options = setterArg; + return this; + } + + public @NonNull CreateMessage build() { + CreateMessage pigeonReturn = new CreateMessage(); + pigeonReturn.setPlayerId(playerId); + pigeonReturn.setUri(uri); + pigeonReturn.setType(type); + pigeonReturn.setPackageName(packageName); + pigeonReturn.setAutoPlay(autoPlay); + pigeonReturn.setHwAcc(hwAcc); + pigeonReturn.setOptions(options); + return pigeonReturn; + } } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class VideoTrackMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Long videoTrackNumber; - public Long getVideoTrackNumber() { return videoTrackNumber; } - public void setVideoTrackNumber(Long setterArg) { this.videoTrackNumber = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("videoTrackNumber", videoTrackNumber); - return toMapResult; - } - static VideoTrackMessage fromMap(Map map) { - VideoTrackMessage fromMapResult = new VideoTrackMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object videoTrackNumber = map.get("videoTrackNumber"); - fromMapResult.videoTrackNumber = (videoTrackNumber == null) ? null : ((videoTrackNumber instanceof Integer) ? (Integer)videoTrackNumber : (Long)videoTrackNumber); - return fromMapResult; + @NonNull + ArrayList toList() { + ArrayList toListResult = new ArrayList<>(7); + toListResult.add(playerId); + toListResult.add(uri); + toListResult.add(type); + toListResult.add(packageName); + toListResult.add(autoPlay); + toListResult.add(hwAcc); + toListResult.add(options); + return toListResult; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class VideoScaleMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Double scale; - public Double getScale() { return scale; } - public void setScale(Double setterArg) { this.scale = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("scale", scale); - return toMapResult; - } - static VideoScaleMessage fromMap(Map map) { - VideoScaleMessage fromMapResult = new VideoScaleMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object scale = map.get("scale"); - fromMapResult.scale = (Double)scale; - return fromMapResult; + static @NonNull CreateMessage fromList(@NonNull ArrayList pigeonVar_list) { + CreateMessage pigeonResult = new CreateMessage(); + Object playerId = pigeonVar_list.get(0); + pigeonResult.setPlayerId((Long) playerId); + Object uri = pigeonVar_list.get(1); + pigeonResult.setUri((String) uri); + Object type = pigeonVar_list.get(2); + pigeonResult.setType((Long) type); + Object packageName = pigeonVar_list.get(3); + pigeonResult.setPackageName((String) packageName); + Object autoPlay = pigeonVar_list.get(4); + pigeonResult.setAutoPlay((Boolean) autoPlay); + Object hwAcc = pigeonVar_list.get(5); + pigeonResult.setHwAcc((Long) hwAcc); + Object options = pigeonVar_list.get(6); + pigeonResult.setOptions((List) options); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ - public static class VideoAspectRatioMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String aspectRatio; - public String getAspectRatio() { return aspectRatio; } - public void setAspectRatio(String setterArg) { this.aspectRatio = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("aspectRatio", aspectRatio); - return toMapResult; - } - static VideoAspectRatioMessage fromMap(Map map) { - VideoAspectRatioMessage fromMapResult = new VideoAspectRatioMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object aspectRatio = map.get("aspectRatio"); - fromMapResult.aspectRatio = (String)aspectRatio; - return fromMapResult; + public static final class SetMediaMessage { + private @NonNull Long playerId; + + public @NonNull Long getPlayerId() { + return playerId; } - } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class RendererServicesMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private List services; - public List getServices() { return services; } - public void setServices(List setterArg) { this.services = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("services", services); - return toMapResult; - } - static RendererServicesMessage fromMap(Map map) { - RendererServicesMessage fromMapResult = new RendererServicesMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object services = map.get("services"); - fromMapResult.services = (List)services; - return fromMapResult; + public void setPlayerId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"playerId\" is null."); + } + this.playerId = setterArg; + } + + private @NonNull String uri; + + public @NonNull String getUri() { + return uri; + } + + public void setUri(@NonNull String setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"uri\" is null."); + } + this.uri = setterArg; + } + + private @NonNull Long type; + + public @NonNull Long getType() { + return type; + } + + public void setType(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"type\" is null."); + } + this.type = setterArg; + } + + private @Nullable String packageName; + + public @Nullable String getPackageName() { + return packageName; + } + + public void setPackageName(@Nullable String setterArg) { + this.packageName = setterArg; + } + + private @NonNull Boolean autoPlay; + + public @NonNull Boolean getAutoPlay() { + return autoPlay; + } + + public void setAutoPlay(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"autoPlay\" is null."); + } + this.autoPlay = setterArg; + } + + private @Nullable Long hwAcc; + + public @Nullable Long getHwAcc() { + return hwAcc; + } + + public void setHwAcc(@Nullable Long setterArg) { + this.hwAcc = setterArg; + } + + /** Constructor is non-public to enforce null safety; use Builder. */ + SetMediaMessage() {} + + @Override + public boolean equals(Object o) { + if (this == o) { return true; } + if (o == null || getClass() != o.getClass()) { return false; } + SetMediaMessage that = (SetMediaMessage) o; + return playerId.equals(that.playerId) && uri.equals(that.uri) && type.equals(that.type) && Objects.equals(packageName, that.packageName) && autoPlay.equals(that.autoPlay) && Objects.equals(hwAcc, that.hwAcc); + } + + @Override + public int hashCode() { + return Objects.hash(playerId, uri, type, packageName, autoPlay, hwAcc); + } + + public static final class Builder { + + private @Nullable Long playerId; + + @CanIgnoreReturnValue + public @NonNull Builder setPlayerId(@NonNull Long setterArg) { + this.playerId = setterArg; + return this; + } + + private @Nullable String uri; + + @CanIgnoreReturnValue + public @NonNull Builder setUri(@NonNull String setterArg) { + this.uri = setterArg; + return this; + } + + private @Nullable Long type; + + @CanIgnoreReturnValue + public @NonNull Builder setType(@NonNull Long setterArg) { + this.type = setterArg; + return this; + } + + private @Nullable String packageName; + + @CanIgnoreReturnValue + public @NonNull Builder setPackageName(@Nullable String setterArg) { + this.packageName = setterArg; + return this; + } + + private @Nullable Boolean autoPlay; + + @CanIgnoreReturnValue + public @NonNull Builder setAutoPlay(@NonNull Boolean setterArg) { + this.autoPlay = setterArg; + return this; + } + + private @Nullable Long hwAcc; + + @CanIgnoreReturnValue + public @NonNull Builder setHwAcc(@Nullable Long setterArg) { + this.hwAcc = setterArg; + return this; + } + + public @NonNull SetMediaMessage build() { + SetMediaMessage pigeonReturn = new SetMediaMessage(); + pigeonReturn.setPlayerId(playerId); + pigeonReturn.setUri(uri); + pigeonReturn.setType(type); + pigeonReturn.setPackageName(packageName); + pigeonReturn.setAutoPlay(autoPlay); + pigeonReturn.setHwAcc(hwAcc); + return pigeonReturn; + } + } + + @NonNull + ArrayList toList() { + ArrayList toListResult = new ArrayList<>(6); + toListResult.add(playerId); + toListResult.add(uri); + toListResult.add(type); + toListResult.add(packageName); + toListResult.add(autoPlay); + toListResult.add(hwAcc); + return toListResult; + } + + static @NonNull SetMediaMessage fromList(@NonNull ArrayList pigeonVar_list) { + SetMediaMessage pigeonResult = new SetMediaMessage(); + Object playerId = pigeonVar_list.get(0); + pigeonResult.setPlayerId((Long) playerId); + Object uri = pigeonVar_list.get(1); + pigeonResult.setUri((String) uri); + Object type = pigeonVar_list.get(2); + pigeonResult.setType((Long) type); + Object packageName = pigeonVar_list.get(3); + pigeonResult.setPackageName((String) packageName); + Object autoPlay = pigeonVar_list.get(4); + pigeonResult.setAutoPlay((Boolean) autoPlay); + Object hwAcc = pigeonVar_list.get(5); + pigeonResult.setHwAcc((Long) hwAcc); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ - public static class RendererScanningMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String rendererService; - public String getRendererService() { return rendererService; } - public void setRendererService(String setterArg) { this.rendererService = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("rendererService", rendererService); - return toMapResult; - } - static RendererScanningMessage fromMap(Map map) { - RendererScanningMessage fromMapResult = new RendererScanningMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object rendererService = map.get("rendererService"); - fromMapResult.rendererService = (String)rendererService; - return fromMapResult; + public static final class SpuTracksMessage { + private @NonNull Long playerId; + + public @NonNull Long getPlayerId() { + return playerId; + } + + public void setPlayerId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"playerId\" is null."); + } + this.playerId = setterArg; + } + + private @NonNull Map subtitles; + + public @NonNull Map getSubtitles() { + return subtitles; + } + + public void setSubtitles(@NonNull Map setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"subtitles\" is null."); + } + this.subtitles = setterArg; + } + + /** Constructor is non-public to enforce null safety; use Builder. */ + SpuTracksMessage() {} + + @Override + public boolean equals(Object o) { + if (this == o) { return true; } + if (o == null || getClass() != o.getClass()) { return false; } + SpuTracksMessage that = (SpuTracksMessage) o; + return playerId.equals(that.playerId) && subtitles.equals(that.subtitles); + } + + @Override + public int hashCode() { + return Objects.hash(playerId, subtitles); + } + + public static final class Builder { + + private @Nullable Long playerId; + + @CanIgnoreReturnValue + public @NonNull Builder setPlayerId(@NonNull Long setterArg) { + this.playerId = setterArg; + return this; + } + + private @Nullable Map subtitles; + + @CanIgnoreReturnValue + public @NonNull Builder setSubtitles(@NonNull Map setterArg) { + this.subtitles = setterArg; + return this; + } + + public @NonNull SpuTracksMessage build() { + SpuTracksMessage pigeonReturn = new SpuTracksMessage(); + pigeonReturn.setPlayerId(playerId); + pigeonReturn.setSubtitles(subtitles); + return pigeonReturn; + } + } + + @NonNull + ArrayList toList() { + ArrayList toListResult = new ArrayList<>(2); + toListResult.add(playerId); + toListResult.add(subtitles); + return toListResult; + } + + static @NonNull SpuTracksMessage fromList(@NonNull ArrayList pigeonVar_list) { + SpuTracksMessage pigeonResult = new SpuTracksMessage(); + Object playerId = pigeonVar_list.get(0); + pigeonResult.setPlayerId((Long) playerId); + Object subtitles = pigeonVar_list.get(1); + pigeonResult.setSubtitles((Map) subtitles); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ - public static class RendererDevicesMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private Map rendererDevices; - public Map getRendererDevices() { return rendererDevices; } - public void setRendererDevices(Map setterArg) { this.rendererDevices = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("rendererDevices", rendererDevices); - return toMapResult; - } - static RendererDevicesMessage fromMap(Map map) { - RendererDevicesMessage fromMapResult = new RendererDevicesMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object rendererDevices = map.get("rendererDevices"); - fromMapResult.rendererDevices = (Map)rendererDevices; - return fromMapResult; + public static final class AddSubtitleMessage { + private @NonNull Long playerId; + + public @NonNull Long getPlayerId() { + return playerId; + } + + public void setPlayerId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"playerId\" is null."); + } + this.playerId = setterArg; + } + + private @NonNull String uri; + + public @NonNull String getUri() { + return uri; + } + + public void setUri(@NonNull String setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"uri\" is null."); + } + this.uri = setterArg; + } + + private @NonNull Long type; + + public @NonNull Long getType() { + return type; + } + + public void setType(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"type\" is null."); + } + this.type = setterArg; + } + + private @NonNull Boolean isSelected; + + public @NonNull Boolean getIsSelected() { + return isSelected; + } + + public void setIsSelected(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"isSelected\" is null."); + } + this.isSelected = setterArg; + } + + /** Constructor is non-public to enforce null safety; use Builder. */ + AddSubtitleMessage() {} + + @Override + public boolean equals(Object o) { + if (this == o) { return true; } + if (o == null || getClass() != o.getClass()) { return false; } + AddSubtitleMessage that = (AddSubtitleMessage) o; + return playerId.equals(that.playerId) && uri.equals(that.uri) && type.equals(that.type) && isSelected.equals(that.isSelected); + } + + @Override + public int hashCode() { + return Objects.hash(playerId, uri, type, isSelected); + } + + public static final class Builder { + + private @Nullable Long playerId; + + @CanIgnoreReturnValue + public @NonNull Builder setPlayerId(@NonNull Long setterArg) { + this.playerId = setterArg; + return this; + } + + private @Nullable String uri; + + @CanIgnoreReturnValue + public @NonNull Builder setUri(@NonNull String setterArg) { + this.uri = setterArg; + return this; + } + + private @Nullable Long type; + + @CanIgnoreReturnValue + public @NonNull Builder setType(@NonNull Long setterArg) { + this.type = setterArg; + return this; + } + + private @Nullable Boolean isSelected; + + @CanIgnoreReturnValue + public @NonNull Builder setIsSelected(@NonNull Boolean setterArg) { + this.isSelected = setterArg; + return this; + } + + public @NonNull AddSubtitleMessage build() { + AddSubtitleMessage pigeonReturn = new AddSubtitleMessage(); + pigeonReturn.setPlayerId(playerId); + pigeonReturn.setUri(uri); + pigeonReturn.setType(type); + pigeonReturn.setIsSelected(isSelected); + return pigeonReturn; + } + } + + @NonNull + ArrayList toList() { + ArrayList toListResult = new ArrayList<>(4); + toListResult.add(playerId); + toListResult.add(uri); + toListResult.add(type); + toListResult.add(isSelected); + return toListResult; + } + + static @NonNull AddSubtitleMessage fromList(@NonNull ArrayList pigeonVar_list) { + AddSubtitleMessage pigeonResult = new AddSubtitleMessage(); + Object playerId = pigeonVar_list.get(0); + pigeonResult.setPlayerId((Long) playerId); + Object uri = pigeonVar_list.get(1); + pigeonResult.setUri((String) uri); + Object type = pigeonVar_list.get(2); + pigeonResult.setType((Long) type); + Object isSelected = pigeonVar_list.get(3); + pigeonResult.setIsSelected((Boolean) isSelected); + return pigeonResult; } } /** Generated class from Pigeon that represents data sent in messages. */ - public static class RenderDeviceMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String rendererDevice; - public String getRendererDevice() { return rendererDevice; } - public void setRendererDevice(String setterArg) { this.rendererDevice = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("rendererDevice", rendererDevice); - return toMapResult; - } - static RenderDeviceMessage fromMap(Map map) { - RenderDeviceMessage fromMapResult = new RenderDeviceMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object rendererDevice = map.get("rendererDevice"); - fromMapResult.rendererDevice = (String)rendererDevice; - return fromMapResult; + public static final class AddAudioMessage { + private @NonNull Long playerId; + + public @NonNull Long getPlayerId() { + return playerId; + } + + public void setPlayerId(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"playerId\" is null."); + } + this.playerId = setterArg; + } + + private @NonNull String uri; + + public @NonNull String getUri() { + return uri; + } + + public void setUri(@NonNull String setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"uri\" is null."); + } + this.uri = setterArg; + } + + private @NonNull Long type; + + public @NonNull Long getType() { + return type; + } + + public void setType(@NonNull Long setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"type\" is null."); + } + this.type = setterArg; + } + + private @NonNull Boolean isSelected; + + public @NonNull Boolean getIsSelected() { + return isSelected; + } + + public void setIsSelected(@NonNull Boolean setterArg) { + if (setterArg == null) { + throw new IllegalStateException("Nonnull field \"isSelected\" is null."); + } + this.isSelected = setterArg; + } + + /** Constructor is non-public to enforce null safety; use Builder. */ + AddAudioMessage() {} + + @Override + public boolean equals(Object o) { + if (this == o) { return true; } + if (o == null || getClass() != o.getClass()) { return false; } + AddAudioMessage that = (AddAudioMessage) o; + return playerId.equals(that.playerId) && uri.equals(that.uri) && type.equals(that.type) && isSelected.equals(that.isSelected); + } + + @Override + public int hashCode() { + return Objects.hash(playerId, uri, type, isSelected); + } + + public static final class Builder { + + private @Nullable Long playerId; + + @CanIgnoreReturnValue + public @NonNull Builder setPlayerId(@NonNull Long setterArg) { + this.playerId = setterArg; + return this; + } + + private @Nullable String uri; + + @CanIgnoreReturnValue + public @NonNull Builder setUri(@NonNull String setterArg) { + this.uri = setterArg; + return this; + } + + private @Nullable Long type; + + @CanIgnoreReturnValue + public @NonNull Builder setType(@NonNull Long setterArg) { + this.type = setterArg; + return this; + } + + private @Nullable Boolean isSelected; + + @CanIgnoreReturnValue + public @NonNull Builder setIsSelected(@NonNull Boolean setterArg) { + this.isSelected = setterArg; + return this; + } + + public @NonNull AddAudioMessage build() { + AddAudioMessage pigeonReturn = new AddAudioMessage(); + pigeonReturn.setPlayerId(playerId); + pigeonReturn.setUri(uri); + pigeonReturn.setType(type); + pigeonReturn.setIsSelected(isSelected); + return pigeonReturn; + } + } + + @NonNull + ArrayList toList() { + ArrayList toListResult = new ArrayList<>(4); + toListResult.add(playerId); + toListResult.add(uri); + toListResult.add(type); + toListResult.add(isSelected); + return toListResult; + } + + static @NonNull AddAudioMessage fromList(@NonNull ArrayList pigeonVar_list) { + AddAudioMessage pigeonResult = new AddAudioMessage(); + Object playerId = pigeonVar_list.get(0); + pigeonResult.setPlayerId((Long) playerId); + Object uri = pigeonVar_list.get(1); + pigeonResult.setUri((String) uri); + Object type = pigeonVar_list.get(2); + pigeonResult.setType((Long) type); + Object isSelected = pigeonVar_list.get(3); + pigeonResult.setIsSelected((Boolean) isSelected); + return pigeonResult; } } - /** Generated class from Pigeon that represents data sent in messages. */ - public static class RecordMessage { - private Long viewId; - public Long getViewId() { return viewId; } - public void setViewId(Long setterArg) { this.viewId = setterArg; } - - private String saveDirectory; - public String getSaveDirectory() { return saveDirectory; } - public void setSaveDirectory(String setterArg) { this.saveDirectory = setterArg; } - - Map toMap() { - Map toMapResult = new HashMap<>(); - toMapResult.put("viewId", viewId); - toMapResult.put("saveDirectory", saveDirectory); - return toMapResult; - } - static RecordMessage fromMap(Map map) { - RecordMessage fromMapResult = new RecordMessage(); - Object viewId = map.get("viewId"); - fromMapResult.viewId = (viewId == null) ? null : ((viewId instanceof Integer) ? (Integer)viewId : (Long)viewId); - Object saveDirectory = map.get("saveDirectory"); - fromMapResult.saveDirectory = (String)saveDirectory; - return fromMapResult; + private static class PigeonCodec extends StandardMessageCodec { + public static final PigeonCodec INSTANCE = new PigeonCodec(); + + private PigeonCodec() {} + + @Override + protected Object readValueOfType(byte type, @NonNull ByteBuffer buffer) { + switch (type) { + case (byte) 129: + return CreateMessage.fromList((ArrayList) readValue(buffer)); + case (byte) 130: + return SetMediaMessage.fromList((ArrayList) readValue(buffer)); + case (byte) 131: + return SpuTracksMessage.fromList((ArrayList) readValue(buffer)); + case (byte) 132: + return AddSubtitleMessage.fromList((ArrayList) readValue(buffer)); + case (byte) 133: + return AddAudioMessage.fromList((ArrayList) readValue(buffer)); + default: + return super.readValueOfType(type, buffer); + } + } + + @Override + protected void writeValue(@NonNull ByteArrayOutputStream stream, Object value) { + if (value instanceof CreateMessage) { + stream.write(129); + writeValue(stream, ((CreateMessage) value).toList()); + } else if (value instanceof SetMediaMessage) { + stream.write(130); + writeValue(stream, ((SetMediaMessage) value).toList()); + } else if (value instanceof SpuTracksMessage) { + stream.write(131); + writeValue(stream, ((SpuTracksMessage) value).toList()); + } else if (value instanceof AddSubtitleMessage) { + stream.write(132); + writeValue(stream, ((AddSubtitleMessage) value).toList()); + } else if (value instanceof AddAudioMessage) { + stream.write(133); + writeValue(stream, ((AddAudioMessage) value).toList()); + } else { + super.writeValue(stream, value); + } } } - /** Generated interface from Pigeon that represents a handler of messages from Flutter.*/ + /** Generated interface from Pigeon that represents a handler of messages from Flutter. */ public interface VlcPlayerApi { + void initialize(); - void create(CreateMessage arg); - void dispose(ViewMessage arg); - void setStreamUrl(SetMediaMessage arg); - void play(ViewMessage arg); - void pause(ViewMessage arg); - void stop(ViewMessage arg); - BooleanMessage isPlaying(ViewMessage arg); - BooleanMessage isSeekable(ViewMessage arg); - void setLooping(LoopingMessage arg); - void seekTo(PositionMessage arg); - PositionMessage position(ViewMessage arg); - DurationMessage duration(ViewMessage arg); - void setVolume(VolumeMessage arg); - VolumeMessage getVolume(ViewMessage arg); - void setPlaybackSpeed(PlaybackSpeedMessage arg); - PlaybackSpeedMessage getPlaybackSpeed(ViewMessage arg); - SnapshotMessage takeSnapshot(ViewMessage arg); - TrackCountMessage getSpuTracksCount(ViewMessage arg); - SpuTracksMessage getSpuTracks(ViewMessage arg); - void setSpuTrack(SpuTrackMessage arg); - SpuTrackMessage getSpuTrack(ViewMessage arg); - void setSpuDelay(DelayMessage arg); - DelayMessage getSpuDelay(ViewMessage arg); - void addSubtitleTrack(AddSubtitleMessage arg); - TrackCountMessage getAudioTracksCount(ViewMessage arg); - AudioTracksMessage getAudioTracks(ViewMessage arg); - void setAudioTrack(AudioTrackMessage arg); - AudioTrackMessage getAudioTrack(ViewMessage arg); - void setAudioDelay(DelayMessage arg); - DelayMessage getAudioDelay(ViewMessage arg); - void addAudioTrack(AddAudioMessage arg); - TrackCountMessage getVideoTracksCount(ViewMessage arg); - VideoTracksMessage getVideoTracks(ViewMessage arg); - void setVideoTrack(VideoTrackMessage arg); - VideoTrackMessage getVideoTrack(ViewMessage arg); - void setVideoScale(VideoScaleMessage arg); - VideoScaleMessage getVideoScale(ViewMessage arg); - void setVideoAspectRatio(VideoAspectRatioMessage arg); - VideoAspectRatioMessage getVideoAspectRatio(ViewMessage arg); - RendererServicesMessage getAvailableRendererServices(ViewMessage arg); - void startRendererScanning(RendererScanningMessage arg); - void stopRendererScanning(ViewMessage arg); - RendererDevicesMessage getRendererDevices(ViewMessage arg); - void castToRenderer(RenderDeviceMessage arg); - BooleanMessage startRecording(RecordMessage arg); - BooleanMessage stopRecording(ViewMessage arg); - - /** Sets up an instance of `VlcPlayerApi` to handle messages through the `binaryMessenger`. */ - static void setup(BinaryMessenger binaryMessenger, VlcPlayerApi api) { + + void create(@NonNull CreateMessage msg); + + void dispose(@NonNull Long playerId); + + void setStreamUrl(@NonNull SetMediaMessage msg); + + void play(@NonNull Long playerId); + + void pause(@NonNull Long playerId); + + void stop(@NonNull Long playerId); + + @NonNull + Boolean isPlaying(@NonNull Long playerId); + + @NonNull + Boolean isSeekable(@NonNull Long playerId); + + void setLooping(@NonNull Long playerId, @NonNull Boolean isLooping); + + void seekTo(@NonNull Long playerId, @NonNull Long position); + + @NonNull + Long position(@NonNull Long playerId); + + @NonNull + Long duration(@NonNull Long playerId); + + void setVolume(@NonNull Long playerId, @NonNull Long volume); + + @NonNull + Long getVolume(@NonNull Long playerId); + + void setPlaybackSpeed(@NonNull Long playerId, @NonNull Double speed); + + @NonNull + Double getPlaybackSpeed(@NonNull Long playerId); + + @Nullable + String takeSnapshot(@NonNull Long playerId); + + @NonNull + Long getSpuTracksCount(@NonNull Long playerId); + + @NonNull + Map getSpuTracks(@NonNull Long playerId); + + void setSpuTrack(@NonNull Long playerId, @NonNull Long spuTrackNumber); + + @NonNull + Long getSpuTrack(@NonNull Long playerId); + + void setSpuDelay(@NonNull Long playerId, @NonNull Long delay); + + @NonNull + Long getSpuDelay(@NonNull Long playerId); + + void addSubtitleTrack(@NonNull AddSubtitleMessage msg); + + @NonNull + Long getAudioTracksCount(@NonNull Long playerId); + + @NonNull + Map getAudioTracks(@NonNull Long playerId); + + void setAudioTrack(@NonNull Long playerId, @NonNull Long audioTrackNumber); + + @NonNull + Long getAudioTrack(@NonNull Long playerId); + + void setAudioDelay(@NonNull Long playerId, @NonNull Long delay); + + @NonNull + Long getAudioDelay(@NonNull Long playerId); + + void addAudioTrack(@NonNull AddAudioMessage msg); + + @NonNull + Long getVideoTracksCount(@NonNull Long playerId); + + @NonNull + Map getVideoTracks(@NonNull Long playerId); + + void setVideoTrack(@NonNull Long playerId, @NonNull Long videoTrackNumber); + + @NonNull + Long getVideoTrack(@NonNull Long playerId); + + void setVideoScale(@NonNull Long playerId, @NonNull Double scale); + + @NonNull + Double getVideoScale(@NonNull Long playerId); + + void setVideoAspectRatio(@NonNull Long playerId, @NonNull String aspectRatio); + + @NonNull + String getVideoAspectRatio(@NonNull Long playerId); + + @NonNull + List getAvailableRendererServices(@NonNull Long playerId); + + void startRendererScanning(@NonNull Long playerId, @NonNull String rendererService); + + void stopRendererScanning(@NonNull Long playerId); + + @NonNull + Map getRendererDevices(@NonNull Long playerId); + + void castToRenderer(@NonNull Long playerId, @NonNull String rendererId); + + @NonNull + Boolean startRecording(@NonNull Long playerId, @NonNull String saveDirectory); + + @NonNull + Boolean stopRecording(@NonNull Long playerId); + + /** The codec used by VlcPlayerApi. */ + static @NonNull MessageCodec getCodec() { + return PigeonCodec.INSTANCE; + } + /**Sets up an instance of `VlcPlayerApi` to handle messages through the `binaryMessenger`. */ + static void setUp(@NonNull BinaryMessenger binaryMessenger, @Nullable VlcPlayerApi api) { + setUp(binaryMessenger, "", api); + } + static void setUp(@NonNull BinaryMessenger binaryMessenger, @NonNull String messageChannelSuffix, @Nullable VlcPlayerApi api) { + messageChannelSuffix = messageChannelSuffix.isEmpty() ? "" : "." + messageChannelSuffix; { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.initialize", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.initialize" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - api.initialize(); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + try { + api.initialize(); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.create", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.create" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - CreateMessage input = CreateMessage.fromMap((Map)message); - api.create(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + CreateMessage msgArg = (CreateMessage) args.get(0); + try { + api.create(msgArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.dispose", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.dispose" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - api.dispose(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + api.dispose(playerIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setStreamUrl", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setStreamUrl" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - SetMediaMessage input = SetMediaMessage.fromMap((Map)message); - api.setStreamUrl(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + SetMediaMessage msgArg = (SetMediaMessage) args.get(0); + try { + api.setStreamUrl(msgArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.play", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.play" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - api.play(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + api.play(playerIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.pause", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.pause" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - api.pause(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + api.pause(playerIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.stop", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stop" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - api.stop(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + api.stop(playerIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.isPlaying", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isPlaying" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - BooleanMessage output = api.isPlaying(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Boolean output = api.isPlaying(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.isSeekable", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isSeekable" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - BooleanMessage output = api.isSeekable(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Boolean output = api.isSeekable(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setLooping", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setLooping" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - LoopingMessage input = LoopingMessage.fromMap((Map)message); - api.setLooping(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Boolean isLoopingArg = (Boolean) args.get(1); + try { + api.setLooping(playerIdArg, isLoopingArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.seekTo", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.seekTo" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - PositionMessage input = PositionMessage.fromMap((Map)message); - api.seekTo(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long positionArg = (Long) args.get(1); + try { + api.seekTo(playerIdArg, positionArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.position", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.position" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - PositionMessage output = api.position(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.position(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.duration", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.duration" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - DurationMessage output = api.duration(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.duration(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setVolume", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVolume" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - VolumeMessage input = VolumeMessage.fromMap((Map)message); - api.setVolume(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long volumeArg = (Long) args.get(1); + try { + api.setVolume(playerIdArg, volumeArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVolume", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVolume" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - VolumeMessage output = api.getVolume(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getVolume(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setPlaybackSpeed", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setPlaybackSpeed" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - PlaybackSpeedMessage input = PlaybackSpeedMessage.fromMap((Map)message); - api.setPlaybackSpeed(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Double speedArg = (Double) args.get(1); + try { + api.setPlaybackSpeed(playerIdArg, speedArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getPlaybackSpeed", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getPlaybackSpeed" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - PlaybackSpeedMessage output = api.getPlaybackSpeed(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Double output = api.getPlaybackSpeed(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.takeSnapshot", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.takeSnapshot" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - SnapshotMessage output = api.takeSnapshot(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + String output = api.takeSnapshot(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getSpuTracksCount", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracksCount" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - TrackCountMessage output = api.getSpuTracksCount(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getSpuTracksCount(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getSpuTracks", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracks" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - SpuTracksMessage output = api.getSpuTracks(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Map output = api.getSpuTracks(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setSpuTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - SpuTrackMessage input = SpuTrackMessage.fromMap((Map)message); - api.setSpuTrack(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long spuTrackNumberArg = (Long) args.get(1); + try { + api.setSpuTrack(playerIdArg, spuTrackNumberArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getSpuTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - SpuTrackMessage output = api.getSpuTrack(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getSpuTrack(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setSpuDelay", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuDelay" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - DelayMessage input = DelayMessage.fromMap((Map)message); - api.setSpuDelay(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long delayArg = (Long) args.get(1); + try { + api.setSpuDelay(playerIdArg, delayArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getSpuDelay", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuDelay" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - DelayMessage output = api.getSpuDelay(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getSpuDelay(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.addSubtitleTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addSubtitleTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - AddSubtitleMessage input = AddSubtitleMessage.fromMap((Map)message); - api.addSubtitleTrack(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + AddSubtitleMessage msgArg = (AddSubtitleMessage) args.get(0); + try { + api.addSubtitleTrack(msgArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getAudioTracksCount", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracksCount" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - TrackCountMessage output = api.getAudioTracksCount(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getAudioTracksCount(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getAudioTracks", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracks" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - AudioTracksMessage output = api.getAudioTracks(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Map output = api.getAudioTracks(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setAudioTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - AudioTrackMessage input = AudioTrackMessage.fromMap((Map)message); - api.setAudioTrack(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long audioTrackNumberArg = (Long) args.get(1); + try { + api.setAudioTrack(playerIdArg, audioTrackNumberArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getAudioTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - AudioTrackMessage output = api.getAudioTrack(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getAudioTrack(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setAudioDelay", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioDelay" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - DelayMessage input = DelayMessage.fromMap((Map)message); - api.setAudioDelay(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long delayArg = (Long) args.get(1); + try { + api.setAudioDelay(playerIdArg, delayArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getAudioDelay", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioDelay" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - DelayMessage output = api.getAudioDelay(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getAudioDelay(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.addAudioTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addAudioTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - AddAudioMessage input = AddAudioMessage.fromMap((Map)message); - api.addAudioTrack(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + AddAudioMessage msgArg = (AddAudioMessage) args.get(0); + try { + api.addAudioTrack(msgArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVideoTracksCount", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracksCount" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - TrackCountMessage output = api.getVideoTracksCount(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getVideoTracksCount(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVideoTracks", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracks" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - VideoTracksMessage output = api.getVideoTracks(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Map output = api.getVideoTracks(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setVideoTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - VideoTrackMessage input = VideoTrackMessage.fromMap((Map)message); - api.setVideoTrack(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Long videoTrackNumberArg = (Long) args.get(1); + try { + api.setVideoTrack(playerIdArg, videoTrackNumberArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVideoTrack", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTrack" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - VideoTrackMessage output = api.getVideoTrack(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Long output = api.getVideoTrack(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setVideoScale", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoScale" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - VideoScaleMessage input = VideoScaleMessage.fromMap((Map)message); - api.setVideoScale(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + Double scaleArg = (Double) args.get(1); + try { + api.setVideoScale(playerIdArg, scaleArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVideoScale", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoScale" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - VideoScaleMessage output = api.getVideoScale(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Double output = api.getVideoScale(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.setVideoAspectRatio", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoAspectRatio" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - VideoAspectRatioMessage input = VideoAspectRatioMessage.fromMap((Map)message); - api.setVideoAspectRatio(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + String aspectRatioArg = (String) args.get(1); + try { + api.setVideoAspectRatio(playerIdArg, aspectRatioArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getVideoAspectRatio", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoAspectRatio" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - VideoAspectRatioMessage output = api.getVideoAspectRatio(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + String output = api.getVideoAspectRatio(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getAvailableRendererServices", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAvailableRendererServices" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - RendererServicesMessage output = api.getAvailableRendererServices(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + List output = api.getAvailableRendererServices(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.startRendererScanning", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRendererScanning" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - RendererScanningMessage input = RendererScanningMessage.fromMap((Map)message); - api.startRendererScanning(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + String rendererServiceArg = (String) args.get(1); + try { + api.startRendererScanning(playerIdArg, rendererServiceArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.stopRendererScanning", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRendererScanning" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - api.stopRendererScanning(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + api.stopRendererScanning(playerIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.getRendererDevices", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getRendererDevices" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - RendererDevicesMessage output = api.getRendererDevices(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Map output = api.getRendererDevices(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.castToRenderer", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.castToRenderer" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - RenderDeviceMessage input = RenderDeviceMessage.fromMap((Map)message); - api.castToRenderer(input); - wrapped.put("result", null); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + String rendererIdArg = (String) args.get(1); + try { + api.castToRenderer(playerIdArg, rendererIdArg); + wrapped.add(0, null); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.startRecording", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRecording" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - RecordMessage input = RecordMessage.fromMap((Map)message); - BooleanMessage output = api.startRecording(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + String saveDirectoryArg = (String) args.get(1); + try { + Boolean output = api.startRecording(playerIdArg, saveDirectoryArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } { BasicMessageChannel channel = - new BasicMessageChannel<>(binaryMessenger, "dev.flutter.pigeon.VlcPlayerApi.stopRecording", new StandardMessageCodec()); + new BasicMessageChannel<>( + binaryMessenger, "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRecording" + messageChannelSuffix, getCodec()); if (api != null) { - channel.setMessageHandler((message, reply) -> { - Map wrapped = new HashMap<>(); - try { - @SuppressWarnings("ConstantConditions") - ViewMessage input = ViewMessage.fromMap((Map)message); - BooleanMessage output = api.stopRecording(input); - wrapped.put("result", output.toMap()); - } - catch (Error | RuntimeException exception) { - wrapped.put("error", wrapError(exception)); - } - reply.reply(wrapped); - }); + channel.setMessageHandler( + (message, reply) -> { + ArrayList wrapped = new ArrayList<>(); + ArrayList args = (ArrayList) message; + Long playerIdArg = (Long) args.get(0); + try { + Boolean output = api.stopRecording(playerIdArg); + wrapped.add(0, output); + } + catch (Throwable exception) { + wrapped = wrapError(exception); + } + reply.reply(wrapped); + }); } else { channel.setMessageHandler(null); } } } } - private static Map wrapError(Throwable exception) { - Map errorMap = new HashMap<>(); - errorMap.put("message", exception.toString()); - errorMap.put("code", exception.getClass().getSimpleName()); - errorMap.put("details", null); - return errorMap; - } } diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/QueuingEventSink.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/QueuingEventSink.java index 20ad3cb3..2e2e078f 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/QueuingEventSink.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/QueuingEventSink.java @@ -15,7 +15,7 @@ */ final class QueuingEventSink implements EventChannel.EventSink { private EventChannel.EventSink delegate; - private ArrayList eventQueue = new ArrayList<>(); + private final ArrayList eventQueue = new ArrayList<>(); private boolean done = false; public void setDelegate(EventChannel.EventSink delegate) { @@ -66,7 +66,8 @@ private void maybeFlush() { eventQueue.clear(); } - private static class EndOfStreamEvent {} + private static class EndOfStreamEvent { + } private static class ErrorEvent { String code; diff --git a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/VLCTextureView.java b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/VLCTextureView.java index 520aa011..8a1fd50b 100644 --- a/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/VLCTextureView.java +++ b/flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/VLCTextureView.java @@ -1,17 +1,19 @@ package software.solid.fluttervlcplayer; -import org.videolan.libvlc.MediaPlayer; -import org.videolan.libvlc.interfaces.IVLCVout; - import android.content.Context; import android.graphics.SurfaceTexture; -import android.view.TextureView; -import android.view.View; import android.os.Handler; import android.os.Looper; import android.util.AttributeSet; +import android.view.TextureView; +import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; + +import org.videolan.libvlc.MediaPlayer; +import org.videolan.libvlc.interfaces.IVLCVout; + import io.flutter.view.TextureRegistry; public class VLCTextureView extends TextureView implements TextureView.SurfaceTextureListener, View.OnLayoutChangeListener, IVLCVout.OnNewVideoLayoutListener { @@ -98,7 +100,7 @@ private void updateSurfaceTexture() { } @Override - public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { + public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) { if (mSurfaceTexture == null || mSurfaceTexture.isReleased()) { mSurfaceTexture = surface; @@ -127,12 +129,12 @@ public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int hei } @Override - public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) { + public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) { setSize(width, height); } @Override - public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { + public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) { if (mMediaPlayer != null) { wasPlaying = mMediaPlayer.isPlaying(); } @@ -150,14 +152,14 @@ public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) { } @Override - public void onSurfaceTextureUpdated(SurfaceTexture surface) { + public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) { } @Override public void onNewVideoLayout(IVLCVout vlcVout, int width, int height, int visibleWidth, int visibleHeight, int sarNum, int sarDen) { if (width * height == 0) return; - + setSize(width, height); } @@ -176,24 +178,21 @@ public void updateLayoutSize(View view) { } private void setSize(int width, int height) { - int mVideoWidth = 0; - int mVideoHeight = 0; - mVideoWidth = width; - mVideoHeight = height; - if (mVideoWidth * mVideoHeight <= 1) return; + if (width * height <= 1) return; // Screen size int w = this.getWidth(); int h = this.getHeight(); // Size + // TODO: fix this always false condition, it seems to reverse the width and height if (w > h && w < h) { int i = w; w = h; h = i; } - float videoAR = (float) mVideoWidth / (float) mVideoHeight; + float videoAR = (float) width / (float) height; float screenAR = (float) w / (float) h; if (screenAR < videoAR) { diff --git a/flutter_vlc_player/example/lib/vlc_player_with_controls.dart b/flutter_vlc_player/example/lib/vlc_player_with_controls.dart index a34ffcd5..7e773a96 100644 --- a/flutter_vlc_player/example/lib/vlc_player_with_controls.dart +++ b/flutter_vlc_player/example/lib/vlc_player_with_controls.dart @@ -591,6 +591,15 @@ class VlcPlayerWithControlsState extends State { Future _createCameraImage() async { final snapshot = await _controller.takeSnapshot(); + if (snapshot == null) { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text('Snapshot failed!')), + ); + } + + return; + } _overlayEntry?.remove(); _overlayEntry = _createSnapshotThumbnail(snapshot); diff --git a/flutter_vlc_player/ios/Classes/Messages.swift b/flutter_vlc_player/ios/Classes/Messages.swift new file mode 100644 index 00000000..38bacdc4 --- /dev/null +++ b/flutter_vlc_player/ios/Classes/Messages.swift @@ -0,0 +1,1070 @@ +// Autogenerated from Pigeon (v25.2.0), do not edit directly. +// See also: https://pub.dev/packages/pigeon + +import Foundation + +#if os(iOS) + import Flutter +#elseif os(macOS) + import FlutterMacOS +#else + #error("Unsupported platform.") +#endif + +/// Error class for passing custom error details to Dart side. +final class PigeonError: Error { + let code: String + let message: String? + let details: Sendable? + + init(code: String, message: String?, details: Sendable?) { + self.code = code + self.message = message + self.details = details + } + + var localizedDescription: String { + return + "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" + } +} + +private func wrapResult(_ result: Any?) -> [Any?] { + return [result] +} + +private func wrapError(_ error: Any) -> [Any?] { + if let pigeonError = error as? PigeonError { + return [ + pigeonError.code, + pigeonError.message, + pigeonError.details, + ] + } + if let flutterError = error as? FlutterError { + return [ + flutterError.code, + flutterError.message, + flutterError.details, + ] + } + return [ + "\(error)", + "\(type(of: error))", + "Stacktrace: \(Thread.callStackSymbols)", + ] +} + +private func isNullish(_ value: Any?) -> Bool { + return value is NSNull || value == nil +} + +private func nilOrValue(_ value: Any?) -> T? { + if value is NSNull { return nil } + return value as! T? +} + +/// Generated class from Pigeon that represents data sent in messages. +struct CreateMessage { + var playerId: Int64 + var uri: String + var type: Int64 + var packageName: String? = nil + var autoPlay: Bool + var hwAcc: Int64? = nil + var options: [String] + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> CreateMessage? { + let playerId = pigeonVar_list[0] as! Int64 + let uri = pigeonVar_list[1] as! String + let type = pigeonVar_list[2] as! Int64 + let packageName: String? = nilOrValue(pigeonVar_list[3]) + let autoPlay = pigeonVar_list[4] as! Bool + let hwAcc: Int64? = nilOrValue(pigeonVar_list[5]) + let options = pigeonVar_list[6] as! [String] + + return CreateMessage( + playerId: playerId, + uri: uri, + type: type, + packageName: packageName, + autoPlay: autoPlay, + hwAcc: hwAcc, + options: options + ) + } + func toList() -> [Any?] { + return [ + playerId, + uri, + type, + packageName, + autoPlay, + hwAcc, + options, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct SetMediaMessage { + var playerId: Int64 + var uri: String + var type: Int64 + var packageName: String? = nil + var autoPlay: Bool + var hwAcc: Int64? = nil + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> SetMediaMessage? { + let playerId = pigeonVar_list[0] as! Int64 + let uri = pigeonVar_list[1] as! String + let type = pigeonVar_list[2] as! Int64 + let packageName: String? = nilOrValue(pigeonVar_list[3]) + let autoPlay = pigeonVar_list[4] as! Bool + let hwAcc: Int64? = nilOrValue(pigeonVar_list[5]) + + return SetMediaMessage( + playerId: playerId, + uri: uri, + type: type, + packageName: packageName, + autoPlay: autoPlay, + hwAcc: hwAcc + ) + } + func toList() -> [Any?] { + return [ + playerId, + uri, + type, + packageName, + autoPlay, + hwAcc, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct SpuTracksMessage { + var playerId: Int64 + var subtitles: [AnyHashable: Any] + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> SpuTracksMessage? { + let playerId = pigeonVar_list[0] as! Int64 + let subtitles = pigeonVar_list[1] as! [AnyHashable: Any] + + return SpuTracksMessage( + playerId: playerId, + subtitles: subtitles + ) + } + func toList() -> [Any?] { + return [ + playerId, + subtitles, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct AddSubtitleMessage { + var playerId: Int64 + var uri: String + var type: Int64 + var isSelected: Bool + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> AddSubtitleMessage? { + let playerId = pigeonVar_list[0] as! Int64 + let uri = pigeonVar_list[1] as! String + let type = pigeonVar_list[2] as! Int64 + let isSelected = pigeonVar_list[3] as! Bool + + return AddSubtitleMessage( + playerId: playerId, + uri: uri, + type: type, + isSelected: isSelected + ) + } + func toList() -> [Any?] { + return [ + playerId, + uri, + type, + isSelected, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct AddAudioMessage { + var playerId: Int64 + var uri: String + var type: Int64 + var isSelected: Bool + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> AddAudioMessage? { + let playerId = pigeonVar_list[0] as! Int64 + let uri = pigeonVar_list[1] as! String + let type = pigeonVar_list[2] as! Int64 + let isSelected = pigeonVar_list[3] as! Bool + + return AddAudioMessage( + playerId: playerId, + uri: uri, + type: type, + isSelected: isSelected + ) + } + func toList() -> [Any?] { + return [ + playerId, + uri, + type, + isSelected, + ] + } +} + +private class MessagesPigeonCodecReader: FlutterStandardReader { + override func readValue(ofType type: UInt8) -> Any? { + switch type { + case 129: + return CreateMessage.fromList(self.readValue() as! [Any?]) + case 130: + return SetMediaMessage.fromList(self.readValue() as! [Any?]) + case 131: + return SpuTracksMessage.fromList(self.readValue() as! [Any?]) + case 132: + return AddSubtitleMessage.fromList(self.readValue() as! [Any?]) + case 133: + return AddAudioMessage.fromList(self.readValue() as! [Any?]) + default: + return super.readValue(ofType: type) + } + } +} + +private class MessagesPigeonCodecWriter: FlutterStandardWriter { + override func writeValue(_ value: Any) { + if let value = value as? CreateMessage { + super.writeByte(129) + super.writeValue(value.toList()) + } else if let value = value as? SetMediaMessage { + super.writeByte(130) + super.writeValue(value.toList()) + } else if let value = value as? SpuTracksMessage { + super.writeByte(131) + super.writeValue(value.toList()) + } else if let value = value as? AddSubtitleMessage { + super.writeByte(132) + super.writeValue(value.toList()) + } else if let value = value as? AddAudioMessage { + super.writeByte(133) + super.writeValue(value.toList()) + } else { + super.writeValue(value) + } + } +} + +private class MessagesPigeonCodecReaderWriter: FlutterStandardReaderWriter { + override func reader(with data: Data) -> FlutterStandardReader { + return MessagesPigeonCodecReader(data: data) + } + + override func writer(with data: NSMutableData) -> FlutterStandardWriter { + return MessagesPigeonCodecWriter(data: data) + } +} + +class MessagesPigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { + static let shared = MessagesPigeonCodec(readerWriter: MessagesPigeonCodecReaderWriter()) +} + +/// Generated protocol from Pigeon that represents a handler of messages from Flutter. +protocol VlcPlayerApi { + func initialize() throws + func create(msg: CreateMessage) throws + func dispose(playerId: Int64) throws + func setStreamUrl(msg: SetMediaMessage) throws + func play(playerId: Int64) throws + func pause(playerId: Int64) throws + func stop(playerId: Int64) throws + func isPlaying(playerId: Int64) throws -> Bool + func isSeekable(playerId: Int64) throws -> Bool + func setLooping(playerId: Int64, isLooping: Bool) throws + func seekTo(playerId: Int64, position: Int64) throws + func position(playerId: Int64) throws -> Int64 + func duration(playerId: Int64) throws -> Int64 + func setVolume(playerId: Int64, volume: Int64) throws + func getVolume(playerId: Int64) throws -> Int64 + func setPlaybackSpeed(playerId: Int64, speed: Double) throws + func getPlaybackSpeed(playerId: Int64) throws -> Double + func takeSnapshot(playerId: Int64) throws -> String? + func getSpuTracksCount(playerId: Int64) throws -> Int64 + func getSpuTracks(playerId: Int64) throws -> [Int64: String] + func setSpuTrack(playerId: Int64, spuTrackNumber: Int64) throws + func getSpuTrack(playerId: Int64) throws -> Int64 + func setSpuDelay(playerId: Int64, delay: Int64) throws + func getSpuDelay(playerId: Int64) throws -> Int64 + func addSubtitleTrack(msg: AddSubtitleMessage) throws + func getAudioTracksCount(playerId: Int64) throws -> Int64 + func getAudioTracks(playerId: Int64) throws -> [Int64: String] + func setAudioTrack(playerId: Int64, audioTrackNumber: Int64) throws + func getAudioTrack(playerId: Int64) throws -> Int64 + func setAudioDelay(playerId: Int64, delay: Int64) throws + func getAudioDelay(playerId: Int64) throws -> Int64 + func addAudioTrack(msg: AddAudioMessage) throws + func getVideoTracksCount(playerId: Int64) throws -> Int64 + func getVideoTracks(playerId: Int64) throws -> [Int64: String] + func setVideoTrack(playerId: Int64, videoTrackNumber: Int64) throws + func getVideoTrack(playerId: Int64) throws -> Int64 + func setVideoScale(playerId: Int64, scale: Double) throws + func getVideoScale(playerId: Int64) throws -> Double + func setVideoAspectRatio(playerId: Int64, aspectRatio: String) throws + func getVideoAspectRatio(playerId: Int64) throws -> String + func getAvailableRendererServices(playerId: Int64) throws -> [String] + func startRendererScanning(playerId: Int64, rendererService: String) throws + func stopRendererScanning(playerId: Int64) throws + func getRendererDevices(playerId: Int64) throws -> [String: String] + func castToRenderer(playerId: Int64, rendererId: String) throws + func startRecording(playerId: Int64, saveDirectory: String) throws -> Bool + func stopRecording(playerId: Int64) throws -> Bool +} + +/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. +class VlcPlayerApiSetup { + static var codec: FlutterStandardMessageCodec { MessagesPigeonCodec.shared } + /// Sets up an instance of `VlcPlayerApi` to handle messages through the `binaryMessenger`. + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: VlcPlayerApi?, messageChannelSuffix: String = "") { + let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" + let initializeChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.initialize\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + initializeChannel.setMessageHandler { _, reply in + do { + try api.initialize() + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + initializeChannel.setMessageHandler(nil) + } + let createChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.create\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + createChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let msgArg = args[0] as! CreateMessage + do { + try api.create(msg: msgArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + createChannel.setMessageHandler(nil) + } + let disposeChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.dispose\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + disposeChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + try api.dispose(playerId: playerIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + disposeChannel.setMessageHandler(nil) + } + let setStreamUrlChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setStreamUrl\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setStreamUrlChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let msgArg = args[0] as! SetMediaMessage + do { + try api.setStreamUrl(msg: msgArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setStreamUrlChannel.setMessageHandler(nil) + } + let playChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.play\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + playChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + try api.play(playerId: playerIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + playChannel.setMessageHandler(nil) + } + let pauseChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.pause\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + pauseChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + try api.pause(playerId: playerIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + pauseChannel.setMessageHandler(nil) + } + let stopChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stop\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + stopChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + try api.stop(playerId: playerIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + stopChannel.setMessageHandler(nil) + } + let isPlayingChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isPlaying\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + isPlayingChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.isPlaying(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + isPlayingChannel.setMessageHandler(nil) + } + let isSeekableChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isSeekable\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + isSeekableChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.isSeekable(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + isSeekableChannel.setMessageHandler(nil) + } + let setLoopingChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setLooping\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setLoopingChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let isLoopingArg = args[1] as! Bool + do { + try api.setLooping(playerId: playerIdArg, isLooping: isLoopingArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setLoopingChannel.setMessageHandler(nil) + } + let seekToChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.seekTo\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + seekToChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let positionArg = args[1] as! Int64 + do { + try api.seekTo(playerId: playerIdArg, position: positionArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + seekToChannel.setMessageHandler(nil) + } + let positionChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.position\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + positionChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.position(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + positionChannel.setMessageHandler(nil) + } + let durationChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.duration\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + durationChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.duration(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + durationChannel.setMessageHandler(nil) + } + let setVolumeChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVolume\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setVolumeChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let volumeArg = args[1] as! Int64 + do { + try api.setVolume(playerId: playerIdArg, volume: volumeArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setVolumeChannel.setMessageHandler(nil) + } + let getVolumeChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVolume\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVolumeChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVolume(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVolumeChannel.setMessageHandler(nil) + } + let setPlaybackSpeedChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setPlaybackSpeed\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setPlaybackSpeedChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let speedArg = args[1] as! Double + do { + try api.setPlaybackSpeed(playerId: playerIdArg, speed: speedArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setPlaybackSpeedChannel.setMessageHandler(nil) + } + let getPlaybackSpeedChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getPlaybackSpeed\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getPlaybackSpeedChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getPlaybackSpeed(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getPlaybackSpeedChannel.setMessageHandler(nil) + } + let takeSnapshotChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.takeSnapshot\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + takeSnapshotChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.takeSnapshot(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + takeSnapshotChannel.setMessageHandler(nil) + } + let getSpuTracksCountChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracksCount\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getSpuTracksCountChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getSpuTracksCount(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getSpuTracksCountChannel.setMessageHandler(nil) + } + let getSpuTracksChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracks\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getSpuTracksChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getSpuTracks(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getSpuTracksChannel.setMessageHandler(nil) + } + let setSpuTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setSpuTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let spuTrackNumberArg = args[1] as! Int64 + do { + try api.setSpuTrack(playerId: playerIdArg, spuTrackNumber: spuTrackNumberArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setSpuTrackChannel.setMessageHandler(nil) + } + let getSpuTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getSpuTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getSpuTrack(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getSpuTrackChannel.setMessageHandler(nil) + } + let setSpuDelayChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuDelay\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setSpuDelayChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let delayArg = args[1] as! Int64 + do { + try api.setSpuDelay(playerId: playerIdArg, delay: delayArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setSpuDelayChannel.setMessageHandler(nil) + } + let getSpuDelayChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuDelay\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getSpuDelayChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getSpuDelay(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getSpuDelayChannel.setMessageHandler(nil) + } + let addSubtitleTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addSubtitleTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + addSubtitleTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let msgArg = args[0] as! AddSubtitleMessage + do { + try api.addSubtitleTrack(msg: msgArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + addSubtitleTrackChannel.setMessageHandler(nil) + } + let getAudioTracksCountChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracksCount\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAudioTracksCountChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getAudioTracksCount(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAudioTracksCountChannel.setMessageHandler(nil) + } + let getAudioTracksChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracks\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAudioTracksChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getAudioTracks(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAudioTracksChannel.setMessageHandler(nil) + } + let setAudioTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setAudioTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let audioTrackNumberArg = args[1] as! Int64 + do { + try api.setAudioTrack(playerId: playerIdArg, audioTrackNumber: audioTrackNumberArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setAudioTrackChannel.setMessageHandler(nil) + } + let getAudioTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAudioTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getAudioTrack(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAudioTrackChannel.setMessageHandler(nil) + } + let setAudioDelayChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioDelay\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setAudioDelayChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let delayArg = args[1] as! Int64 + do { + try api.setAudioDelay(playerId: playerIdArg, delay: delayArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setAudioDelayChannel.setMessageHandler(nil) + } + let getAudioDelayChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioDelay\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAudioDelayChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getAudioDelay(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAudioDelayChannel.setMessageHandler(nil) + } + let addAudioTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addAudioTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + addAudioTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let msgArg = args[0] as! AddAudioMessage + do { + try api.addAudioTrack(msg: msgArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + addAudioTrackChannel.setMessageHandler(nil) + } + let getVideoTracksCountChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracksCount\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVideoTracksCountChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVideoTracksCount(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVideoTracksCountChannel.setMessageHandler(nil) + } + let getVideoTracksChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracks\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVideoTracksChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVideoTracks(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVideoTracksChannel.setMessageHandler(nil) + } + let setVideoTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setVideoTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let videoTrackNumberArg = args[1] as! Int64 + do { + try api.setVideoTrack(playerId: playerIdArg, videoTrackNumber: videoTrackNumberArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setVideoTrackChannel.setMessageHandler(nil) + } + let getVideoTrackChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTrack\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVideoTrackChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVideoTrack(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVideoTrackChannel.setMessageHandler(nil) + } + let setVideoScaleChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoScale\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setVideoScaleChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let scaleArg = args[1] as! Double + do { + try api.setVideoScale(playerId: playerIdArg, scale: scaleArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setVideoScaleChannel.setMessageHandler(nil) + } + let getVideoScaleChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoScale\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVideoScaleChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVideoScale(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVideoScaleChannel.setMessageHandler(nil) + } + let setVideoAspectRatioChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoAspectRatio\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setVideoAspectRatioChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let aspectRatioArg = args[1] as! String + do { + try api.setVideoAspectRatio(playerId: playerIdArg, aspectRatio: aspectRatioArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + setVideoAspectRatioChannel.setMessageHandler(nil) + } + let getVideoAspectRatioChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoAspectRatio\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getVideoAspectRatioChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getVideoAspectRatio(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getVideoAspectRatioChannel.setMessageHandler(nil) + } + let getAvailableRendererServicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAvailableRendererServices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getAvailableRendererServicesChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getAvailableRendererServices(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getAvailableRendererServicesChannel.setMessageHandler(nil) + } + let startRendererScanningChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRendererScanning\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + startRendererScanningChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let rendererServiceArg = args[1] as! String + do { + try api.startRendererScanning(playerId: playerIdArg, rendererService: rendererServiceArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + startRendererScanningChannel.setMessageHandler(nil) + } + let stopRendererScanningChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRendererScanning\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + stopRendererScanningChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + try api.stopRendererScanning(playerId: playerIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + stopRendererScanningChannel.setMessageHandler(nil) + } + let getRendererDevicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getRendererDevices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getRendererDevicesChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.getRendererDevices(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getRendererDevicesChannel.setMessageHandler(nil) + } + let castToRendererChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.castToRenderer\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + castToRendererChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let rendererIdArg = args[1] as! String + do { + try api.castToRenderer(playerId: playerIdArg, rendererId: rendererIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + castToRendererChannel.setMessageHandler(nil) + } + let startRecordingChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRecording\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + startRecordingChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + let saveDirectoryArg = args[1] as! String + do { + let result = try api.startRecording(playerId: playerIdArg, saveDirectory: saveDirectoryArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + startRecordingChannel.setMessageHandler(nil) + } + let stopRecordingChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRecording\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + stopRecordingChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let playerIdArg = args[0] as! Int64 + do { + let result = try api.stopRecording(playerId: playerIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + stopRecordingChannel.setMessageHandler(nil) + } + } +} diff --git a/flutter_vlc_player/ios/Classes/VlcViewBuilder.swift b/flutter_vlc_player/ios/Classes/VlcViewBuilder.swift index cba07629..16fddf10 100644 --- a/flutter_vlc_player/ios/Classes/VlcViewBuilder.swift +++ b/flutter_vlc_player/ios/Classes/VlcViewBuilder.swift @@ -1,456 +1,378 @@ -import Foundation import Flutter +import Foundation -public class VLCViewBuilder: NSObject, VlcPlayerApi{ - var players = [Int:VLCViewController]() +public class VLCViewBuilder: NSObject, VlcPlayerApi { + var players = [Int: VLCViewController]() private var registrar: FlutterPluginRegistrar private var messenger: FlutterBinaryMessenger private var options: [String] init(registrar: FlutterPluginRegistrar) { self.registrar = registrar - self.messenger = registrar.messenger() + messenger = registrar.messenger() options = [] super.init() // - VlcPlayerApiSetup(messenger, self) + VlcPlayerApiSetup.setUp(binaryMessenger: messenger, api: self) } - public func build(frame: CGRect, viewId: Int64) -> VLCViewController{ + public func build(frame: CGRect, viewId: Int64) -> VLCViewController { // var vlcViewController: VLCViewController vlcViewController = VLCViewController(frame: frame, viewId: viewId, messenger: messenger) - players[Int(viewId)] = vlcViewController - return vlcViewController; - } - - public func initialize(_ error: AutoreleasingUnsafeMutablePointer) { - return + players[viewId.int] = vlcViewController + return vlcViewController } - func getPlayer(viewId: NSNumber?) -> VLCViewController? { - guard viewId != nil else { - return nil + func getPlayer(id: Int64) throws -> VLCViewController { + guard let player = players[id.int] else { + throw PigeonError(code: "player_not_found", message: "Player with id \(id) not found", details: nil) + } - } - return players[Int(truncating: viewId! as NSNumber)] + return player } - public func create(_ input: CreateMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + public func initialize() throws {} + + func create(msg: CreateMessage) throws { + let player = try getPlayer(id: msg.playerId) - var isAssetUrl: Bool = false - var mediaUrl: String = "" + var isAssetUrl = false + var mediaUrl = "" - if(DataSourceType(rawValue: Int(truncating: input.type!)) == DataSourceType.ASSET){ + if DataSourceType(rawValue: msg.type.int) == DataSourceType.ASSET { var assetPath: String - if input.packageName != nil { - assetPath = registrar.lookupKey(forAsset: input.uri ?? "" , fromPackage: input.packageName ?? "") + if let packageName = msg.packageName { + assetPath = registrar.lookupKey(forAsset: msg.uri, fromPackage: packageName) } else { - assetPath = registrar.lookupKey(forAsset: input.uri ?? "") + assetPath = registrar.lookupKey(forAsset: msg.uri) } mediaUrl = assetPath isAssetUrl = true - }else{ - mediaUrl = input.uri ?? "" + } else { + mediaUrl = msg.uri isAssetUrl = false } - options = input.options as? [String] ?? [] + options = msg.options - player?.setMediaPlayerUrl( + player.setMediaPlayerUrl( uri: mediaUrl, isAssetUrl: isAssetUrl, - autoPlay: input.autoPlay?.boolValue ?? true, - hwAcc: input.hwAcc?.intValue ?? HWAccellerationType.HW_ACCELERATION_AUTOMATIC.rawValue, + autoPlay: msg.autoPlay, + hwAcc: msg.hwAcc?.int ?? HWAccellerationType.HW_ACCELERATION_AUTOMATIC.rawValue, options: options ) } - public func dispose(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) { + func dispose(playerId: Int64) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - player?.dispose() - players.removeValue(forKey: input.viewId as! Int) + player.dispose() + players.removeValue(forKey: playerId.int) } - public func setStreamUrl(_ input: SetMediaMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func setStreamUrl(msg: SetMediaMessage) throws { + let player = try getPlayer(id: msg.playerId) - var isAssetUrl: Bool = false - var mediaUrl: String = "" + var isAssetUrl = false + var mediaUrl = "" - if(DataSourceType(rawValue: Int(truncating: input.type!)) == DataSourceType.ASSET){ + if DataSourceType(rawValue: msg.type.int) == DataSourceType.ASSET { var assetPath: String - if input.packageName != nil { - assetPath = registrar.lookupKey(forAsset: input.uri ?? "" , fromPackage: input.packageName ?? "") + if let packageName = msg.packageName { + assetPath = registrar.lookupKey(forAsset: msg.uri, fromPackage: packageName) } else { - assetPath = registrar.lookupKey(forAsset: input.uri ?? "") + assetPath = registrar.lookupKey(forAsset: msg.uri) } mediaUrl = assetPath isAssetUrl = true - }else{ - mediaUrl = input.uri ?? "" + } else { + mediaUrl = msg.uri isAssetUrl = false } - player?.setMediaPlayerUrl( + + player.setMediaPlayerUrl( uri: mediaUrl, isAssetUrl: isAssetUrl, - autoPlay: input.autoPlay?.boolValue ?? true, - hwAcc: input.hwAcc?.intValue ?? HWAccellerationType.HW_ACCELERATION_AUTOMATIC.rawValue, + autoPlay: msg.autoPlay, + hwAcc: msg.hwAcc?.int ?? HWAccellerationType.HW_ACCELERATION_AUTOMATIC.rawValue, options: options ) } - public func play(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func play(playerId: Int64) throws { + let player = try getPlayer(id: playerId) - player?.play() + player.play() } - public func pause(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) { + func pause(playerId: Int64) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - player?.pause() + player.pause() } - public func stop(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func stop(playerId: Int64) throws { + let player = try getPlayer(id: playerId) - player?.stop() + player.stop() } - public func isPlaying(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> BooleanMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: BooleanMessage = BooleanMessage() - message.result = player?.isPlaying() - return message + func isPlaying(playerId: Int64) throws -> Bool { + return try getPlayer(id: playerId).isPlaying } - public func isSeekable(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> BooleanMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: BooleanMessage = BooleanMessage() - message.result = player?.isSeekable() - return message + func isSeekable(playerId: Int64) throws -> Bool { + return try getPlayer(id: playerId).isSeekable } - public func setLooping(_ input: LoopingMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func setLooping(playerId: Int64, isLooping: Bool) throws { + let player = try getPlayer(id: playerId) - player?.setLooping(isLooping: input.isLooping) + player.setLooping(isLooping: isLooping) } - public func seek(to input: PositionMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func seekTo(playerId: Int64, position: Int64) throws { + let player = try getPlayer(id: playerId) - player?.seek(position: input.position) + player.seek(position: position) } - public func position(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> PositionMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: PositionMessage = PositionMessage() - message.position = player?.position() - return message + func position(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).position.int64 } - public func duration(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> DurationMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: DurationMessage = DurationMessage() - message.duration = player?.duration() - return message + func duration(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).duration.int64 } - public func setVolume(_ input: VolumeMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.setVolume(volume: input.volume) + func setVolume(playerId: Int64, volume: Int64) throws { + let player = try getPlayer(id: playerId) + player.setVolume(volume: volume) } - public func getVolume(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> VolumeMessage? { - - let player = getPlayer(viewId: input.viewId) + func getVolume(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).volume.int64 + } + + func setPlaybackSpeed(playerId: Int64, speed: Double) throws { + let player = try getPlayer(id: playerId) - let message: VolumeMessage = VolumeMessage() - message.volume = player?.getVolume() - return message + player.setPlaybackSpeed(speed: speed.float) } - public func setPlaybackSpeed(_ input: PlaybackSpeedMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.setPlaybackSpeed(speed: input.speed) + func getPlaybackSpeed(playerId: Int64) throws -> Double { + return try getPlayer(id: playerId).playbackSpeed.double } - public func getPlaybackSpeed(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> PlaybackSpeedMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: PlaybackSpeedMessage = PlaybackSpeedMessage() - message.speed = player?.getPlaybackSpeed() - return message + func takeSnapshot(playerId: Int64) throws -> String? { + return try getPlayer(id: playerId).takeSnapshot() } - public func takeSnapshot(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> SnapshotMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: SnapshotMessage = SnapshotMessage() - message.snapshot = player?.takeSnapshot() - return message + // MARK: - Subtitle Tracks + + func getSpuTracksCount(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).spuTracksCount.int64 } - public func getSpuTracksCount(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> TrackCountMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: TrackCountMessage = TrackCountMessage() - message.count = player?.getSpuTracksCount() - return message + func getSpuTracks(playerId: Int64) throws -> [Int64: String] { + return try getPlayer(id: playerId).spuTracks.int64Dictionary } - public func getSpuTracks(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> SpuTracksMessage? { - - let player = getPlayer(viewId: input.viewId) + func setSpuTrack(playerId: Int64, spuTrackNumber: Int64) throws { + let player = try getPlayer(id: playerId) - let message: SpuTracksMessage = SpuTracksMessage() - message.subtitles = player?.getSpuTracks() - return message + player.setSpuTrack(spuTrackNumber: spuTrackNumber.int32) } - public func setSpuTrack(_ input: SpuTrackMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func getSpuTrack(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).spuTrack.int64 + } + + func setSpuDelay(playerId: Int64, delay: Int64) throws { + let player = try getPlayer(id: playerId) - player?.setSpuTrack(spuTrackNumber: input.spuTrackNumber) + player.setSpuDelay(delay: delay.int) } - public func getSpuTrack(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> SpuTrackMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: SpuTrackMessage = SpuTrackMessage() - message.spuTrackNumber = player?.getSpuTrack() - return message + func getSpuDelay(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).spuDelay.int64 } - public func setSpuDelay(_ input: DelayMessage, error: AutoreleasingUnsafeMutablePointer) { + func addSubtitleTrack(msg: AddSubtitleMessage) throws { + let player = try getPlayer(id: msg.playerId) - let player = getPlayer(viewId: input.viewId) - - player?.setSpuDelay(delay: input.delay) + player.addSubtitleTrack(uri: msg.uri, isSelected: msg.isSelected) } - public func getSpuDelay(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> DelayMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: DelayMessage = DelayMessage() - message.delay = player?.getSpuDelay() - return message + // MARK: - Audio Tracks + + func getAudioTracksCount(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).audioTracksCount.int64 } - public func addSubtitleTrack(_ input: AddSubtitleMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.addSubtitleTrack(uri: input.uri, isSelected: input.isSelected) + func getAudioTracks(playerId: Int64) throws -> [Int64: String] { + return try getPlayer(id: playerId).audioTracks.int64Dictionary } - public func getAudioTracksCount(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> TrackCountMessage? { - - let player = getPlayer(viewId: input.viewId) + func setAudioTrack(playerId: Int64, audioTrackNumber: Int64) throws { + let player = try getPlayer(id: playerId) - let message: TrackCountMessage = TrackCountMessage() - message.count = player?.getAudioTracksCount() - return message + player.setAudioTrack(audioTrackNumber: audioTrackNumber.int32) } - public func getAudioTracks(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> AudioTracksMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: AudioTracksMessage = AudioTracksMessage() - message.audios = player?.getAudioTracks() - return message + func getAudioTrack(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).audioTrack.int64 } - public func setAudioTrack(_ input: AudioTrackMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.setAudioTrack(audioTrackNumber: input.audioTrackNumber) + func getAudioDelay(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).audioDelay.int64 } - public func getAudioTrack(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> AudioTrackMessage? { + func setAudioDelay(playerId: Int64, delay: Int64) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - let message: AudioTrackMessage = AudioTrackMessage() - message.audioTrackNumber = player?.getAudioTrack() - return message + player.setAudioDelay(delay: delay.int) } - public func setAudioDelay(_ input: DelayMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func addAudioTrack(msg: AddAudioMessage) throws { + let player = try getPlayer(id: msg.playerId) - player?.setAudioDelay(delay: input.delay) + player.addAudioTrack(uri: msg.uri, isSelected: msg.isSelected) } - public func getAudioDelay(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> DelayMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: DelayMessage = DelayMessage() - message.delay = player?.getAudioDelay() - return message + // MARK: - Video Tracks + + func getVideoTracksCount(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).videoTracksCount.int64 } - public func addAudioTrack(_ input: AddAudioMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.addAudioTrack(uri: input.uri, isSelected: input.isSelected) + func getVideoTracks(playerId: Int64) throws -> [Int64: String] { + return try getPlayer(id: playerId).videoTracks.int64Dictionary } - public func getVideoTracksCount(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> TrackCountMessage? { + func setVideoTrack(playerId: Int64, videoTrackNumber: Int64) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - let message: TrackCountMessage = TrackCountMessage() - message.count = player?.getVideoTracksCount() - return message + player.setVideoTrack(videoTrackNumber: videoTrackNumber.int32) } - public func getVideoTracks(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> VideoTracksMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: VideoTracksMessage = VideoTracksMessage() - message.videos = player?.getVideoTracks() - return message + func getVideoTrack(playerId: Int64) throws -> Int64 { + return try getPlayer(id: playerId).videoTrack.int64 } - public func setVideoTrack(_ input: VideoTrackMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + // MARK: - Video properties + + func setVideoScale(playerId: Int64, scale: Double) throws { + let player = try getPlayer(id: playerId) - player?.setVideoTrack(videoTrackNumber: input.videoTrackNumber) + player.setVideoScale(scale: scale.float) } - public func getVideoTrack(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> VideoTrackMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: VideoTrackMessage = VideoTrackMessage() - message.videoTrackNumber = player?.getVideoTrack() - return message + func getVideoScale(playerId: Int64) throws -> Double { + return try getPlayer(id: playerId).videoScale.double } - public func setVideoScale(_ input: VideoScaleMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.setVideoScale(scale: input.scale) + func setVideoAspectRatio(playerId: Int64, aspectRatio: String) throws { + let player = try getPlayer(id: playerId) + + player.setVideoAspectRatio(aspectRatio: aspectRatio) } - public func getVideoScale(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> VideoScaleMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: VideoScaleMessage = VideoScaleMessage() - message.scale = player?.getVideoScale() - return message + func getVideoAspectRatio(playerId: Int64) throws -> String { + return try getPlayer(id: playerId).videoAspectRatio } - public func setVideoAspectRatio(_ input: VideoAspectRatioMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.setVideoAspectRatio(aspectRatio: input.aspectRatio) + func getAvailableRendererServices(playerId: Int64) throws -> [String] { + return try getPlayer(id: playerId).availableRendererServices } - public func getVideoAspectRatio(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> VideoAspectRatioMessage? { + // MARK: - Cast + + func startRendererScanning(playerId: Int64, rendererService: String) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - let message: VideoAspectRatioMessage = VideoAspectRatioMessage() - message.aspectRatio = player?.getVideoAspectRatio() - return message + player.startRendererScanning() } - public func getAvailableRendererServices(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> RendererServicesMessage? { + func stopRendererScanning(playerId: Int64) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - let message: RendererServicesMessage = RendererServicesMessage() - message.services = player?.getAvailableRendererServices() - return message + player.stopRendererScanning() } - public func startRendererScanning(_ input: RendererScanningMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) - - player?.startRendererScanning() + func getRendererDevices(playerId: Int64) throws -> [String: String] { + return try getPlayer(id: playerId).rendererDevices } - public func stopRendererScanning(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) { + func castToRenderer(playerId: Int64, rendererId: String) throws { + let player = try getPlayer(id: playerId) - let player = getPlayer(viewId: input.viewId) - - player?.stopRendererScanning() + player.cast(rendererDevice: rendererId) } - public func getRendererDevices(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> RendererDevicesMessage? { - - let player = getPlayer(viewId: input.viewId) + // MARK: - Recording + + func startRecording(playerId: Int64, saveDirectory: String) throws -> Bool { + let player = try getPlayer(id: playerId) - let message: RendererDevicesMessage = RendererDevicesMessage() - message.rendererDevices = player?.getRendererDevices() - return message + return player.startRecording(saveDirectory: saveDirectory) } - public func cast(toRenderer input: RenderDeviceMessage, error: AutoreleasingUnsafeMutablePointer) { - - let player = getPlayer(viewId: input.viewId) + func stopRecording(playerId: Int64) throws -> Bool { + let player = try getPlayer(id: playerId) - player?.cast(rendererDevice: input.rendererDevice) + return player.stopRecording() + } +} + +extension Int { + var int64: Int64 { + Int64(self) } - public func startRecording(_ input: RecordMessage, error: AutoreleasingUnsafeMutablePointer) -> BooleanMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: BooleanMessage = BooleanMessage() - message.result = player?.startRecording(saveDirectory: input.saveDirectory!) - return message + var int32: Int32 { + Int32(self) + } +} + +extension Int64 { + var int: Int { + Int(self) } - public func stopRecording(_ input: ViewMessage, error: AutoreleasingUnsafeMutablePointer) -> BooleanMessage? { - - let player = getPlayer(viewId: input.viewId) - - let message: BooleanMessage = BooleanMessage() - message.result = player?.stopRecording() - return message + var int32: Int32 { + Int32(truncatingIfNeeded: self) + } +} + +extension Int32 { + var int: Int { + Int(self) + } + + var int64: Int64 { + Int64(truncatingIfNeeded: self) + } +} + +extension Double { + var float: Float { + Float(self) + } +} + +extension Float { + var double: Double { + Double(self) + } +} + +extension Dictionary where Key == Int { + var int64Dictionary: [Int64: Value] { + [Int64: Value](uniqueKeysWithValues: + map { (Int64($0.key), $0.value) } + ) } } diff --git a/flutter_vlc_player/ios/Classes/VlcViewController.swift b/flutter_vlc_player/ios/Classes/VlcViewController.swift index c7fde719..defd4b47 100644 --- a/flutter_vlc_player/ios/Classes/VlcViewController.swift +++ b/flutter_vlc_player/ios/Classes/VlcViewController.swift @@ -1,25 +1,22 @@ -import Foundation import Flutter +import Foundation import MobileVLCKit import UIKit - public class VLCViewController: NSObject, FlutterPlatformView { - var hostedView: UIView var vlcMediaPlayer: VLCMediaPlayer var mediaEventChannel: FlutterEventChannel let mediaEventChannelHandler: VLCPlayerEventStreamHandler var rendererEventChannel: FlutterEventChannel let rendererEventChannelHandler: VLCRendererEventStreamHandler - var rendererdiscoverers: [VLCRendererDiscoverer] = [VLCRendererDiscoverer]() + var rendererdiscoverers: [VLCRendererDiscoverer] = .init() public func view() -> UIView { - return hostedView + return self.hostedView } - init(frame: CGRect, viewId: Int64, messenger:FlutterBinaryMessenger) { - + init(frame: CGRect, viewId: Int64, messenger: FlutterBinaryMessenger) { let mediaEventChannel = FlutterEventChannel( name: "flutter_video_plugin/getVideoEvents_\(viewId)", binaryMessenger: messenger @@ -38,8 +35,8 @@ public class VLCViewController: NSObject, FlutterPlatformView { self.rendererEventChannel = rendererEventChannel self.rendererEventChannelHandler = VLCRendererEventStreamHandler() // - self.mediaEventChannel.setStreamHandler(mediaEventChannelHandler) - self.rendererEventChannel.setStreamHandler(rendererEventChannelHandler) + self.mediaEventChannel.setStreamHandler(self.mediaEventChannelHandler) + self.rendererEventChannel.setStreamHandler(self.rendererEventChannelHandler) self.vlcMediaPlayer.drawable = self.hostedView self.vlcMediaPlayer.delegate = self.mediaEventChannelHandler } @@ -49,69 +46,54 @@ public class VLCViewController: NSObject, FlutterPlatformView { } public func pause() { - self.vlcMediaPlayer.pause() } public func stop() { - self.vlcMediaPlayer.stop() } - public func isPlaying() -> NSNumber?{ - - return self.vlcMediaPlayer.isPlaying as NSNumber + public var isPlaying: Bool { + self.vlcMediaPlayer.isPlaying } - public func isSeekable() -> NSNumber? { - - return self.vlcMediaPlayer.isSeekable as NSNumber + public var isSeekable: Bool { + self.vlcMediaPlayer.isSeekable } - public func setLooping(isLooping: NSNumber?) { - - let enableLooping = isLooping?.boolValue ?? false; - self.vlcMediaPlayer.media?.addOption(enableLooping ? "--loop" : "--no-loop") + public func setLooping(isLooping: Bool) { + self.vlcMediaPlayer.media?.addOption(isLooping ? "--loop" : "--no-loop") } - public func seek(position: NSNumber?) { - - self.vlcMediaPlayer.time = VLCTime(number: position ?? 0) + public func seek(position: Int64) { + self.vlcMediaPlayer.time = VLCTime(number: position as NSNumber) } - public func position() -> NSNumber? { - - return self.vlcMediaPlayer.time.value + public var position: Int32 { + self.vlcMediaPlayer.time.intValue } - public func duration() -> NSNumber? { - - return self.vlcMediaPlayer.media?.length.value ?? 0 - + public var duration: Int32 { + self.vlcMediaPlayer.media?.length.intValue ?? 0 } - public func setVolume(volume: NSNumber?) { - - self.vlcMediaPlayer.audio?.volume = volume?.int32Value ?? 100 + public func setVolume(volume: Int64) { + self.vlcMediaPlayer.audio?.volume = volume.int32 } - public func getVolume() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.audio?.volume ?? 100) + public var volume: Int32 { + self.vlcMediaPlayer.audio?.volume ?? 100 } - public func setPlaybackSpeed(speed: NSNumber?) { - - self.vlcMediaPlayer.rate = speed?.floatValue ?? 1 + public func setPlaybackSpeed(speed: Float) { + self.vlcMediaPlayer.rate = speed } - public func getPlaybackSpeed() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.rate) + public var playbackSpeed: Float { + self.vlcMediaPlayer.rate } public func takeSnapshot() -> String? { - let drawable: UIView = self.vlcMediaPlayer.drawable as! UIView let size = drawable.frame.size UIGraphicsBeginImageContextWithOptions(size, _: false, _: 0.0) @@ -124,228 +106,204 @@ public class VLCViewController: NSObject, FlutterPlatformView { return byteArray?.base64EncodedString() } - public func getSpuTracksCount() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.numberOfSubtitlesTracks) + public var spuTracksCount: Int32 { + return self.vlcMediaPlayer.numberOfSubtitlesTracks } - public func getSpuTracks() -> [Int:String]? { - - return self.vlcMediaPlayer.subtitles() + public var spuTracks: [Int: String] { + self.vlcMediaPlayer.subtitles() } - public func setSpuTrack(spuTrackNumber: NSNumber?) { - - self.vlcMediaPlayer.currentVideoSubTitleIndex = spuTrackNumber?.int32Value ?? 0 + public func setSpuTrack(spuTrackNumber: Int32) { + self.vlcMediaPlayer.currentVideoSubTitleIndex = spuTrackNumber } - public func getSpuTrack() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.currentVideoSubTitleIndex) + public var spuTrack: Int32 { + self.vlcMediaPlayer.currentVideoSubTitleIndex } - public func setSpuDelay(delay: NSNumber?) { - - self.vlcMediaPlayer.currentVideoSubTitleDelay = delay?.intValue ?? 0 + public func setSpuDelay(delay: Int) { + self.vlcMediaPlayer.currentVideoSubTitleDelay = delay } - public func getSpuDelay() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.currentVideoSubTitleDelay) + public var spuDelay: Int { + self.vlcMediaPlayer.currentVideoSubTitleDelay } - public func addSubtitleTrack(uri: String?, isSelected: NSNumber?) { - - // todo: check for file type - guard let urlString = uri, - let url = URL(string: urlString) + public func addSubtitleTrack(uri: String, isSelected: Bool) { + // TODO: check for file type + guard + let url = URL(string: uri) else { return } + self.vlcMediaPlayer.addPlaybackSlave( url, type: VLCMediaPlaybackSlaveType.subtitle, - enforce: isSelected?.boolValue ?? true + enforce: isSelected ) } - public func getAudioTracksCount() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.numberOfAudioTracks) + public var audioTracksCount: Int32 { + self.vlcMediaPlayer.numberOfAudioTracks } - public func getAudioTracks() -> [Int:String]? { - - return self.vlcMediaPlayer.audioTracks() + public var audioTracks: [Int: String] { + self.vlcMediaPlayer.audioTracks() } - public func setAudioTrack(audioTrackNumber: NSNumber?) { - - self.vlcMediaPlayer.currentAudioTrackIndex = audioTrackNumber?.int32Value ?? 0 + public func setAudioTrack(audioTrackNumber: Int32) { + self.vlcMediaPlayer.currentAudioTrackIndex = audioTrackNumber } - public func getAudioTrack() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.currentAudioTrackIndex) + public var audioTrack: Int32 { + self.vlcMediaPlayer.currentAudioTrackIndex } - public func setAudioDelay(delay: NSNumber?) { - - self.vlcMediaPlayer.currentAudioPlaybackDelay = delay?.intValue ?? 0 + public func setAudioDelay(delay: Int) { + self.vlcMediaPlayer.currentAudioPlaybackDelay = delay } - public func getAudioDelay() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.currentAudioPlaybackDelay) + public var audioDelay: Int { + self.vlcMediaPlayer.currentAudioPlaybackDelay } - public func addAudioTrack(uri: String?, isSelected: NSNumber?) { - - // todo: check for file type - guard let urlString = uri, - let url = URL(string: urlString) + public func addAudioTrack(uri: String, isSelected: Bool) { + // TODO: check for file type + guard let url = URL(string: uri) else { return } self.vlcMediaPlayer.addPlaybackSlave( url, type: VLCMediaPlaybackSlaveType.audio, - enforce: isSelected?.boolValue ?? true + enforce: isSelected ) } - public func getVideoTracksCount() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.numberOfVideoTracks) + public var videoTracksCount: Int32 { + self.vlcMediaPlayer.numberOfVideoTracks } - public func getVideoTracks() -> [Int:String]? { - - return self.vlcMediaPlayer.videoTracks() + public var videoTracks: [Int: String] { + self.vlcMediaPlayer.videoTracks() } - public func setVideoTrack(videoTrackNumber: NSNumber?) { - - self.vlcMediaPlayer.currentVideoTrackIndex = videoTrackNumber?.int32Value ?? 0 + public func setVideoTrack(videoTrackNumber: Int32) { + self.vlcMediaPlayer.currentVideoTrackIndex = videoTrackNumber } - public func getVideoTrack() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.currentVideoTrackIndex) + public var videoTrack: Int32 { + self.vlcMediaPlayer.currentVideoTrackIndex } - public func setVideoScale(scale: NSNumber?) { - - self.vlcMediaPlayer.scaleFactor = scale?.floatValue ?? 1 + public func setVideoScale(scale: Float) { + self.vlcMediaPlayer.scaleFactor = scale } - public func getVideoScale() -> NSNumber? { - - return NSNumber(value: self.vlcMediaPlayer.scaleFactor) + public var videoScale: Float { + self.vlcMediaPlayer.scaleFactor } - public func setVideoAspectRatio(aspectRatio: String?) { - + public func setVideoAspectRatio(aspectRatio: String) { let aspectRatio = UnsafeMutablePointer( - mutating: (aspectRatio as NSString?)?.utf8String! + mutating: (aspectRatio as NSString).utf8String ) self.vlcMediaPlayer.videoAspectRatio = aspectRatio } - public func getVideoAspectRatio() -> String? { - - guard let aspectRatio = self.vlcMediaPlayer.videoAspectRatio else { return "1"}; + public var videoAspectRatio: String { + guard let aspectRatio = self.vlcMediaPlayer.videoAspectRatio else { + return "1" + } return String(cString: aspectRatio) } - public func getAvailableRendererServices() -> [String]? { - - return self.vlcMediaPlayer.rendererServices() + public var availableRendererServices: [String] { + self.vlcMediaPlayer.rendererServices() } public func startRendererScanning() { - - rendererdiscoverers.removeAll() - rendererEventChannelHandler.renderItems.removeAll() + self.rendererdiscoverers.removeAll() + self.rendererEventChannelHandler.renderItems.removeAll() // chromecast service name: "Bonjour_renderer" let rendererServices = self.vlcMediaPlayer.rendererServices() - for rendererService in rendererServices{ + for rendererService in rendererServices { guard let rendererDiscoverer - = VLCRendererDiscoverer(name: rendererService) else { + = VLCRendererDiscoverer(name: rendererService) + else { continue } rendererDiscoverer.delegate = self.rendererEventChannelHandler rendererDiscoverer.start() - rendererdiscoverers.append(rendererDiscoverer) + self.rendererdiscoverers.append(rendererDiscoverer) } } public func stopRendererScanning() { - - for rendererDiscoverer in rendererdiscoverers { + for rendererDiscoverer in self.rendererdiscoverers { rendererDiscoverer.stop() rendererDiscoverer.delegate = nil } - rendererdiscoverers.removeAll() - rendererEventChannelHandler.renderItems.removeAll() - if(self.vlcMediaPlayer.isPlaying){ + self.rendererdiscoverers.removeAll() + self.rendererEventChannelHandler.renderItems.removeAll() + if self.vlcMediaPlayer.isPlaying { self.vlcMediaPlayer.pause() } self.vlcMediaPlayer.setRendererItem(nil) } - public func getRendererDevices() -> [String: String]? { - + public var rendererDevices: [String: String] { var rendererDevices: [String: String] = [:] - let rendererItems = rendererEventChannelHandler.renderItems + let rendererItems = self.rendererEventChannelHandler.renderItems for (_, item) in rendererItems.enumerated() { rendererDevices[item.name] = item.name } return rendererDevices } - public func cast(rendererDevice: String?) { - - if (self.vlcMediaPlayer.isPlaying){ + public func cast(rendererDevice: String) { + if self.vlcMediaPlayer.isPlaying { self.vlcMediaPlayer.pause() } let rendererItems = self.rendererEventChannelHandler.renderItems - let rendererItem = rendererItems.first{ - $0.name.contains(rendererDevice ?? "") + let rendererItem = rendererItems.first { + $0.name.contains(rendererDevice) } self.vlcMediaPlayer.setRendererItem(rendererItem) self.vlcMediaPlayer.play() } - public func startRecording(saveDirectory: String) -> NSNumber{ - return (!self.vlcMediaPlayer.startRecording(atPath: saveDirectory)) as NSNumber + public func startRecording(saveDirectory: String) -> Bool { + return !self.vlcMediaPlayer.startRecording(atPath: saveDirectory) } - public func stopRecording() -> NSNumber{ - return (!self.vlcMediaPlayer.stopRecording()) as NSNumber + public func stopRecording() -> Bool { + return !self.vlcMediaPlayer.stopRecording() } - public func dispose(){ - self.mediaEventChannel.setStreamHandler(nil); - self.rendererEventChannel.setStreamHandler(nil); + public func dispose() { + self.mediaEventChannel.setStreamHandler(nil) + self.rendererEventChannel.setStreamHandler(nil) self.rendererdiscoverers.removeAll() self.rendererEventChannelHandler.renderItems.removeAll() self.vlcMediaPlayer.stop() } - func setMediaPlayerUrl(uri: String, isAssetUrl: Bool, autoPlay: Bool, hwAcc: Int, options: [String]){ + func setMediaPlayerUrl(uri: String, isAssetUrl: Bool, autoPlay: Bool, hwAcc: Int, options: [String]) { self.vlcMediaPlayer.stop() var media: VLCMedia - if(isAssetUrl){ + if isAssetUrl { guard let path = Bundle.main.path(forResource: uri, ofType: nil) else { return } media = VLCMedia(path: path) } - else{ + else { guard let url = URL(string: uri) else { return @@ -353,27 +311,23 @@ public class VLCViewController: NSObject, FlutterPlatformView { media = VLCMedia(url: url) } - if(!options.isEmpty){ + if !options.isEmpty { for option in options { media.addOption(option) } } - switch HWAccellerationType.init(rawValue: hwAcc) - { + switch HWAccellerationType(rawValue: hwAcc) { case .HW_ACCELERATION_DISABLED: media.addOption("--codec=avcodec") - break case .HW_ACCELERATION_DECODING: media.addOption("--codec=all") media.addOption(":no-mediacodec-dr") media.addOption(":no-omxil-dr") - break case .HW_ACCELERATION_FULL: media.addOption("--codec=all") - break case .HW_ACCELERATION_AUTOMATIC: break @@ -385,70 +339,61 @@ public class VLCViewController: NSObject, FlutterPlatformView { self.vlcMediaPlayer.media = media // self.vlcMediaPlayer.media.parse(withOptions: VLCMediaParsingOptions(VLCMediaParseLocal | VLCMediaFetchLocal | VLCMediaParseNetwork | VLCMediaFetchNetwork)) self.vlcMediaPlayer.play() - if(!autoPlay){ + if !autoPlay { self.vlcMediaPlayer.stop() } } } class VLCRendererEventStreamHandler: NSObject, FlutterStreamHandler, VLCRendererDiscovererDelegate { - private var rendererEventSink: FlutterEventSink? - var renderItems:[VLCRendererItem] = [VLCRendererItem]() - + var renderItems: [VLCRendererItem] = .init() func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? { - - rendererEventSink = events + self.rendererEventSink = events return nil } func onCancel(withArguments arguments: Any?) -> FlutterError? { - - rendererEventSink = nil + self.rendererEventSink = nil return nil } func rendererDiscovererItemAdded(_ rendererDiscoverer: VLCRendererDiscoverer, item: VLCRendererItem) { - self.renderItems.append(item) guard let rendererEventSink = self.rendererEventSink else { return } rendererEventSink([ "event": "attached", "id": item.name, - "name" : item.name, + "name": item.name, ]) } func rendererDiscovererItemDeleted(_ rendererDiscoverer: VLCRendererDiscoverer, item: VLCRendererItem) { - if let index = renderItems.firstIndex(of: item) { - renderItems.remove(at: index) + self.renderItems.remove(at: index) } guard let rendererEventSink = self.rendererEventSink else { return } rendererEventSink([ "event": "detached", "id": item.name, - "name" : item.name, + "name": item.name, ]) } } -class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlayerDelegate, VLCMediaDelegate { - +class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlayerDelegate, VLCMediaDelegate { private var mediaEventSink: FlutterEventSink? func onListen(withArguments _: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? { - - mediaEventSink = events + self.mediaEventSink = events return nil } func onCancel(withArguments _: Any?) -> FlutterError? { - - mediaEventSink = nil + self.mediaEventSink = nil return nil } @@ -463,37 +408,33 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye let activeAudioTrack = player?.currentAudioTrackIndex ?? 0 let spuTracksCount = player?.numberOfSubtitlesTracks ?? 0 let activeSpuTrack = player?.currentVideoSubTitleIndex ?? 0 - let duration = media?.length.value ?? 0 + let duration = media?.length.value ?? 0 let speed = player?.rate ?? 1 let position = player?.time.value?.intValue ?? 0 let buffering = 100.0 let isPlaying = player?.isPlaying ?? false - switch player?.state - { + switch player?.state { case .opening: mediaEventSink([ - "event":"opening", + "event": "opening", ]) - break case .paused: mediaEventSink([ - "event":"paused", + "event": "paused", ]) - break case .stopped: mediaEventSink([ "event": "stopped", ]) - break case .playing: mediaEventSink([ "event": "playing", "height": height, - "width": width, + "width": width, "speed": speed, "duration": duration, "audioTracksCount": audioTracksCount, @@ -501,20 +442,18 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye "spuTracksCount": spuTracksCount, "activeSpuTrack": activeSpuTrack, ]) - break case .ended: mediaEventSink([ "event": "ended", - "position": position + "position": position, ]) - break case .buffering: mediaEventSink([ "event": "timeChanged", "height": height, - "width": width, + "width": width, "speed": speed, "duration": duration, "position": position, @@ -525,19 +464,17 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye "activeSpuTrack": activeSpuTrack, "isPlaying": isPlaying, ]) - break case .error: - /*mediaEventSink( + /* mediaEventSink( FlutterError( code: "500", message: "Player State got an error", details: nil) - )*/ + ) */ mediaEventSink([ "event": "error", ]) - break case .esAdded: break @@ -563,7 +500,7 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye mediaEventSink([ "event": "recording", "isRecording": false, - "recordPath": path , + "recordPath": path, ]) } @@ -587,7 +524,7 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye mediaEventSink([ "event": "timeChanged", "height": height, - "width": width, + "width": width, "speed": speed, "duration": duration, "position": position, @@ -602,24 +539,20 @@ class VLCPlayerEventStreamHandler: NSObject, FlutterStreamHandler, VLCMediaPlaye } } -enum DataSourceType: Int -{ +enum DataSourceType: Int { case ASSET = 0 case NETWORK = 1 case FILE = 2 } -enum HWAccellerationType: Int -{ +enum HWAccellerationType: Int { case HW_ACCELERATION_AUTOMATIC = 0 case HW_ACCELERATION_DISABLED = 1 case HW_ACCELERATION_DECODING = 2 case HW_ACCELERATION_FULL = 3 } - extension VLCMediaPlayer { - func subtitles() -> [Int: String] { guard let indexs = videoSubTitlesIndexes as? [Int], let names = videoSubTitlesNames as? [String], @@ -664,8 +597,7 @@ extension VLCMediaPlayer { return audios } - func videoTracks() -> [Int: String]{ - + func videoTracks() -> [Int: String] { guard let indexs = videoTrackIndexes as? [Int], let names = videoTrackNames as? [String], indexs.count == names.count @@ -687,16 +619,13 @@ extension VLCMediaPlayer { return videos } - func rendererServices() -> [String]{ - + func rendererServices() -> [String] { let renderers = VLCRendererDiscoverer.list() - var services : [String] = [] + var services: [String] = [] - renderers?.forEach({ (VLCRendererDiscovererDescription) in + renderers?.forEach { VLCRendererDiscovererDescription in services.append(VLCRendererDiscovererDescription.name) - }) + } return services } - } - diff --git a/flutter_vlc_player/ios/Classes/flutter_vlc_player.h b/flutter_vlc_player/ios/Classes/flutter_vlc_player.h deleted file mode 100644 index bba7e114..00000000 --- a/flutter_vlc_player/ios/Classes/flutter_vlc_player.h +++ /dev/null @@ -1 +0,0 @@ -#import "messages.h" diff --git a/flutter_vlc_player/ios/Classes/messages.h b/flutter_vlc_player/ios/Classes/messages.h deleted file mode 100644 index 4c2bec13..00000000 --- a/flutter_vlc_player/ios/Classes/messages.h +++ /dev/null @@ -1,237 +0,0 @@ -// Autogenerated from Pigeon (v0.2.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import -@protocol FlutterBinaryMessenger; -@class FlutterError; -@class FlutterStandardTypedData; - -NS_ASSUME_NONNULL_BEGIN - -@class CreateMessage; -@class ViewMessage; -@class SetMediaMessage; -@class BooleanMessage; -@class LoopingMessage; -@class PositionMessage; -@class DurationMessage; -@class VolumeMessage; -@class PlaybackSpeedMessage; -@class SnapshotMessage; -@class TrackCountMessage; -@class SpuTracksMessage; -@class SpuTrackMessage; -@class DelayMessage; -@class AddSubtitleMessage; -@class AudioTracksMessage; -@class AudioTrackMessage; -@class AddAudioMessage; -@class VideoTracksMessage; -@class VideoTrackMessage; -@class VideoScaleMessage; -@class VideoAspectRatioMessage; -@class RendererServicesMessage; -@class RendererScanningMessage; -@class RendererDevicesMessage; -@class RenderDeviceMessage; -@class RecordMessage; - -@interface CreateMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * uri; -@property(nonatomic, strong, nullable) NSNumber * type; -@property(nonatomic, copy, nullable) NSString * packageName; -@property(nonatomic, strong, nullable) NSNumber * autoPlay; -@property(nonatomic, strong, nullable) NSNumber * hwAcc; -@property(nonatomic, strong, nullable) NSArray * options; -@end - -@interface ViewMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@end - -@interface SetMediaMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * uri; -@property(nonatomic, strong, nullable) NSNumber * type; -@property(nonatomic, copy, nullable) NSString * packageName; -@property(nonatomic, strong, nullable) NSNumber * autoPlay; -@property(nonatomic, strong, nullable) NSNumber * hwAcc; -@end - -@interface BooleanMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * result; -@end - -@interface LoopingMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * isLooping; -@end - -@interface PositionMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * position; -@end - -@interface DurationMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * duration; -@end - -@interface VolumeMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * volume; -@end - -@interface PlaybackSpeedMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * speed; -@end - -@interface SnapshotMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * snapshot; -@end - -@interface TrackCountMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * count; -@end - -@interface SpuTracksMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSDictionary * subtitles; -@end - -@interface SpuTrackMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * spuTrackNumber; -@end - -@interface DelayMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * delay; -@end - -@interface AddSubtitleMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * uri; -@property(nonatomic, strong, nullable) NSNumber * type; -@property(nonatomic, strong, nullable) NSNumber * isSelected; -@end - -@interface AudioTracksMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSDictionary * audios; -@end - -@interface AudioTrackMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * audioTrackNumber; -@end - -@interface AddAudioMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * uri; -@property(nonatomic, strong, nullable) NSNumber * type; -@property(nonatomic, strong, nullable) NSNumber * isSelected; -@end - -@interface VideoTracksMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSDictionary * videos; -@end - -@interface VideoTrackMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * videoTrackNumber; -@end - -@interface VideoScaleMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSNumber * scale; -@end - -@interface VideoAspectRatioMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * aspectRatio; -@end - -@interface RendererServicesMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSArray * services; -@end - -@interface RendererScanningMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * rendererService; -@end - -@interface RendererDevicesMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, strong, nullable) NSDictionary * rendererDevices; -@end - -@interface RenderDeviceMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * rendererDevice; -@end - -@interface RecordMessage : NSObject -@property(nonatomic, strong, nullable) NSNumber * viewId; -@property(nonatomic, copy, nullable) NSString * saveDirectory; -@end - -@protocol VlcPlayerApi --(void)initialize:(FlutterError *_Nullable *_Nonnull)error; --(void)create:(CreateMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)dispose:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setStreamUrl:(SetMediaMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)play:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)pause:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)stop:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable BooleanMessage *)isPlaying:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable BooleanMessage *)isSeekable:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setLooping:(LoopingMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)seekTo:(PositionMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable PositionMessage *)position:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable DurationMessage *)duration:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setVolume:(VolumeMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable VolumeMessage *)getVolume:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setPlaybackSpeed:(PlaybackSpeedMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable PlaybackSpeedMessage *)getPlaybackSpeed:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable SnapshotMessage *)takeSnapshot:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable TrackCountMessage *)getSpuTracksCount:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable SpuTracksMessage *)getSpuTracks:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setSpuTrack:(SpuTrackMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable SpuTrackMessage *)getSpuTrack:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setSpuDelay:(DelayMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable DelayMessage *)getSpuDelay:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)addSubtitleTrack:(AddSubtitleMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable TrackCountMessage *)getAudioTracksCount:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable AudioTracksMessage *)getAudioTracks:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setAudioTrack:(AudioTrackMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable AudioTrackMessage *)getAudioTrack:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setAudioDelay:(DelayMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable DelayMessage *)getAudioDelay:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)addAudioTrack:(AddAudioMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable TrackCountMessage *)getVideoTracksCount:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable VideoTracksMessage *)getVideoTracks:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setVideoTrack:(VideoTrackMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable VideoTrackMessage *)getVideoTrack:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setVideoScale:(VideoScaleMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable VideoScaleMessage *)getVideoScale:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)setVideoAspectRatio:(VideoAspectRatioMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable VideoAspectRatioMessage *)getVideoAspectRatio:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable RendererServicesMessage *)getAvailableRendererServices:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)startRendererScanning:(RendererScanningMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)stopRendererScanning:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable RendererDevicesMessage *)getRendererDevices:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(void)castToRenderer:(RenderDeviceMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable BooleanMessage *)startRecording:(RecordMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; --(nullable BooleanMessage *)stopRecording:(ViewMessage*)input error:(FlutterError *_Nullable *_Nonnull)error; -@end - -extern void VlcPlayerApiSetup(id binaryMessenger, id _Nullable api); - -NS_ASSUME_NONNULL_END diff --git a/flutter_vlc_player/ios/Classes/messages.m b/flutter_vlc_player/ios/Classes/messages.m deleted file mode 100644 index edbd6941..00000000 --- a/flutter_vlc_player/ios/Classes/messages.m +++ /dev/null @@ -1,1467 +0,0 @@ -// Autogenerated from Pigeon (v0.2.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon -#import "messages.h" -#import - -#if !__has_feature(objc_arc) -#error File requires ARC to be enabled. -#endif - -static NSDictionary* 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 CreateMessage () -+(CreateMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface ViewMessage () -+(ViewMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface SetMediaMessage () -+(SetMediaMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface BooleanMessage () -+(BooleanMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface LoopingMessage () -+(LoopingMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface PositionMessage () -+(PositionMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface DurationMessage () -+(DurationMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface VolumeMessage () -+(VolumeMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface PlaybackSpeedMessage () -+(PlaybackSpeedMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface SnapshotMessage () -+(SnapshotMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface TrackCountMessage () -+(TrackCountMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface SpuTracksMessage () -+(SpuTracksMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface SpuTrackMessage () -+(SpuTrackMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface DelayMessage () -+(DelayMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface AddSubtitleMessage () -+(AddSubtitleMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface AudioTracksMessage () -+(AudioTracksMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface AudioTrackMessage () -+(AudioTrackMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface AddAudioMessage () -+(AddAudioMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface VideoTracksMessage () -+(VideoTracksMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface VideoTrackMessage () -+(VideoTrackMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface VideoScaleMessage () -+(VideoScaleMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface VideoAspectRatioMessage () -+(VideoAspectRatioMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface RendererServicesMessage () -+(RendererServicesMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface RendererScanningMessage () -+(RendererScanningMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface RendererDevicesMessage () -+(RendererDevicesMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface RenderDeviceMessage () -+(RenderDeviceMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end -@interface RecordMessage () -+(RecordMessage*)fromMap:(NSDictionary*)dict; --(NSDictionary*)toMap; -@end - -@implementation CreateMessage -+(CreateMessage*)fromMap:(NSDictionary*)dict { - CreateMessage* result = [[CreateMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.uri = dict[@"uri"]; - if ((NSNull *)result.uri == [NSNull null]) { - result.uri = nil; - } - result.type = dict[@"type"]; - if ((NSNull *)result.type == [NSNull null]) { - result.type = nil; - } - result.packageName = dict[@"packageName"]; - if ((NSNull *)result.packageName == [NSNull null]) { - result.packageName = nil; - } - result.autoPlay = dict[@"autoPlay"]; - if ((NSNull *)result.autoPlay == [NSNull null]) { - result.autoPlay = nil; - } - result.hwAcc = dict[@"hwAcc"]; - if ((NSNull *)result.hwAcc == [NSNull null]) { - result.hwAcc = nil; - } - result.options = dict[@"options"]; - if ((NSNull *)result.options == [NSNull null]) { - result.options = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.uri ? self.uri : [NSNull null]), @"uri", (self.type ? self.type : [NSNull null]), @"type", (self.packageName ? self.packageName : [NSNull null]), @"packageName", (self.autoPlay ? self.autoPlay : [NSNull null]), @"autoPlay", (self.hwAcc ? self.hwAcc : [NSNull null]), @"hwAcc", (self.options ? self.options : [NSNull null]), @"options", nil]; -} -@end - -@implementation ViewMessage -+(ViewMessage*)fromMap:(NSDictionary*)dict { - ViewMessage* result = [[ViewMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", nil]; -} -@end - -@implementation SetMediaMessage -+(SetMediaMessage*)fromMap:(NSDictionary*)dict { - SetMediaMessage* result = [[SetMediaMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.uri = dict[@"uri"]; - if ((NSNull *)result.uri == [NSNull null]) { - result.uri = nil; - } - result.type = dict[@"type"]; - if ((NSNull *)result.type == [NSNull null]) { - result.type = nil; - } - result.packageName = dict[@"packageName"]; - if ((NSNull *)result.packageName == [NSNull null]) { - result.packageName = nil; - } - result.autoPlay = dict[@"autoPlay"]; - if ((NSNull *)result.autoPlay == [NSNull null]) { - result.autoPlay = nil; - } - result.hwAcc = dict[@"hwAcc"]; - if ((NSNull *)result.hwAcc == [NSNull null]) { - result.hwAcc = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.uri ? self.uri : [NSNull null]), @"uri", (self.type ? self.type : [NSNull null]), @"type", (self.packageName ? self.packageName : [NSNull null]), @"packageName", (self.autoPlay ? self.autoPlay : [NSNull null]), @"autoPlay", (self.hwAcc ? self.hwAcc : [NSNull null]), @"hwAcc", nil]; -} -@end - -@implementation BooleanMessage -+(BooleanMessage*)fromMap:(NSDictionary*)dict { - BooleanMessage* result = [[BooleanMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.result = dict[@"result"]; - if ((NSNull *)result.result == [NSNull null]) { - result.result = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.result ? self.result : [NSNull null]), @"result", nil]; -} -@end - -@implementation LoopingMessage -+(LoopingMessage*)fromMap:(NSDictionary*)dict { - LoopingMessage* result = [[LoopingMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.isLooping = dict[@"isLooping"]; - if ((NSNull *)result.isLooping == [NSNull null]) { - result.isLooping = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.isLooping ? self.isLooping : [NSNull null]), @"isLooping", nil]; -} -@end - -@implementation PositionMessage -+(PositionMessage*)fromMap:(NSDictionary*)dict { - PositionMessage* result = [[PositionMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.position = dict[@"position"]; - if ((NSNull *)result.position == [NSNull null]) { - result.position = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.position ? self.position : [NSNull null]), @"position", nil]; -} -@end - -@implementation DurationMessage -+(DurationMessage*)fromMap:(NSDictionary*)dict { - DurationMessage* result = [[DurationMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.duration = dict[@"duration"]; - if ((NSNull *)result.duration == [NSNull null]) { - result.duration = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.duration ? self.duration : [NSNull null]), @"duration", nil]; -} -@end - -@implementation VolumeMessage -+(VolumeMessage*)fromMap:(NSDictionary*)dict { - VolumeMessage* result = [[VolumeMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.volume = dict[@"volume"]; - if ((NSNull *)result.volume == [NSNull null]) { - result.volume = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.volume ? self.volume : [NSNull null]), @"volume", nil]; -} -@end - -@implementation PlaybackSpeedMessage -+(PlaybackSpeedMessage*)fromMap:(NSDictionary*)dict { - PlaybackSpeedMessage* result = [[PlaybackSpeedMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.speed = dict[@"speed"]; - if ((NSNull *)result.speed == [NSNull null]) { - result.speed = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.speed ? self.speed : [NSNull null]), @"speed", nil]; -} -@end - -@implementation SnapshotMessage -+(SnapshotMessage*)fromMap:(NSDictionary*)dict { - SnapshotMessage* result = [[SnapshotMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.snapshot = dict[@"snapshot"]; - if ((NSNull *)result.snapshot == [NSNull null]) { - result.snapshot = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.snapshot ? self.snapshot : [NSNull null]), @"snapshot", nil]; -} -@end - -@implementation TrackCountMessage -+(TrackCountMessage*)fromMap:(NSDictionary*)dict { - TrackCountMessage* result = [[TrackCountMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.count = dict[@"count"]; - if ((NSNull *)result.count == [NSNull null]) { - result.count = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.count ? self.count : [NSNull null]), @"count", nil]; -} -@end - -@implementation SpuTracksMessage -+(SpuTracksMessage*)fromMap:(NSDictionary*)dict { - SpuTracksMessage* result = [[SpuTracksMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.subtitles = dict[@"subtitles"]; - if ((NSNull *)result.subtitles == [NSNull null]) { - result.subtitles = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.subtitles ? self.subtitles : [NSNull null]), @"subtitles", nil]; -} -@end - -@implementation SpuTrackMessage -+(SpuTrackMessage*)fromMap:(NSDictionary*)dict { - SpuTrackMessage* result = [[SpuTrackMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.spuTrackNumber = dict[@"spuTrackNumber"]; - if ((NSNull *)result.spuTrackNumber == [NSNull null]) { - result.spuTrackNumber = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.spuTrackNumber ? self.spuTrackNumber : [NSNull null]), @"spuTrackNumber", nil]; -} -@end - -@implementation DelayMessage -+(DelayMessage*)fromMap:(NSDictionary*)dict { - DelayMessage* result = [[DelayMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.delay = dict[@"delay"]; - if ((NSNull *)result.delay == [NSNull null]) { - result.delay = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.delay ? self.delay : [NSNull null]), @"delay", nil]; -} -@end - -@implementation AddSubtitleMessage -+(AddSubtitleMessage*)fromMap:(NSDictionary*)dict { - AddSubtitleMessage* result = [[AddSubtitleMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.uri = dict[@"uri"]; - if ((NSNull *)result.uri == [NSNull null]) { - result.uri = nil; - } - result.type = dict[@"type"]; - if ((NSNull *)result.type == [NSNull null]) { - result.type = nil; - } - result.isSelected = dict[@"isSelected"]; - if ((NSNull *)result.isSelected == [NSNull null]) { - result.isSelected = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.uri ? self.uri : [NSNull null]), @"uri", (self.type ? self.type : [NSNull null]), @"type", (self.isSelected ? self.isSelected : [NSNull null]), @"isSelected", nil]; -} -@end - -@implementation AudioTracksMessage -+(AudioTracksMessage*)fromMap:(NSDictionary*)dict { - AudioTracksMessage* result = [[AudioTracksMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.audios = dict[@"audios"]; - if ((NSNull *)result.audios == [NSNull null]) { - result.audios = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.audios ? self.audios : [NSNull null]), @"audios", nil]; -} -@end - -@implementation AudioTrackMessage -+(AudioTrackMessage*)fromMap:(NSDictionary*)dict { - AudioTrackMessage* result = [[AudioTrackMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.audioTrackNumber = dict[@"audioTrackNumber"]; - if ((NSNull *)result.audioTrackNumber == [NSNull null]) { - result.audioTrackNumber = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.audioTrackNumber ? self.audioTrackNumber : [NSNull null]), @"audioTrackNumber", nil]; -} -@end - -@implementation AddAudioMessage -+(AddAudioMessage*)fromMap:(NSDictionary*)dict { - AddAudioMessage* result = [[AddAudioMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.uri = dict[@"uri"]; - if ((NSNull *)result.uri == [NSNull null]) { - result.uri = nil; - } - result.type = dict[@"type"]; - if ((NSNull *)result.type == [NSNull null]) { - result.type = nil; - } - result.isSelected = dict[@"isSelected"]; - if ((NSNull *)result.isSelected == [NSNull null]) { - result.isSelected = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.uri ? self.uri : [NSNull null]), @"uri", (self.type ? self.type : [NSNull null]), @"type", (self.isSelected ? self.isSelected : [NSNull null]), @"isSelected", nil]; -} -@end - -@implementation VideoTracksMessage -+(VideoTracksMessage*)fromMap:(NSDictionary*)dict { - VideoTracksMessage* result = [[VideoTracksMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.videos = dict[@"videos"]; - if ((NSNull *)result.videos == [NSNull null]) { - result.videos = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.videos ? self.videos : [NSNull null]), @"videos", nil]; -} -@end - -@implementation VideoTrackMessage -+(VideoTrackMessage*)fromMap:(NSDictionary*)dict { - VideoTrackMessage* result = [[VideoTrackMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.videoTrackNumber = dict[@"videoTrackNumber"]; - if ((NSNull *)result.videoTrackNumber == [NSNull null]) { - result.videoTrackNumber = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.videoTrackNumber ? self.videoTrackNumber : [NSNull null]), @"videoTrackNumber", nil]; -} -@end - -@implementation VideoScaleMessage -+(VideoScaleMessage*)fromMap:(NSDictionary*)dict { - VideoScaleMessage* result = [[VideoScaleMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.scale = dict[@"scale"]; - if ((NSNull *)result.scale == [NSNull null]) { - result.scale = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.scale ? self.scale : [NSNull null]), @"scale", nil]; -} -@end - -@implementation VideoAspectRatioMessage -+(VideoAspectRatioMessage*)fromMap:(NSDictionary*)dict { - VideoAspectRatioMessage* result = [[VideoAspectRatioMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.aspectRatio = dict[@"aspectRatio"]; - if ((NSNull *)result.aspectRatio == [NSNull null]) { - result.aspectRatio = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.aspectRatio ? self.aspectRatio : [NSNull null]), @"aspectRatio", nil]; -} -@end - -@implementation RendererServicesMessage -+(RendererServicesMessage*)fromMap:(NSDictionary*)dict { - RendererServicesMessage* result = [[RendererServicesMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.services = dict[@"services"]; - if ((NSNull *)result.services == [NSNull null]) { - result.services = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.services ? self.services : [NSNull null]), @"services", nil]; -} -@end - -@implementation RendererScanningMessage -+(RendererScanningMessage*)fromMap:(NSDictionary*)dict { - RendererScanningMessage* result = [[RendererScanningMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.rendererService = dict[@"rendererService"]; - if ((NSNull *)result.rendererService == [NSNull null]) { - result.rendererService = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.rendererService ? self.rendererService : [NSNull null]), @"rendererService", nil]; -} -@end - -@implementation RendererDevicesMessage -+(RendererDevicesMessage*)fromMap:(NSDictionary*)dict { - RendererDevicesMessage* result = [[RendererDevicesMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.rendererDevices = dict[@"rendererDevices"]; - if ((NSNull *)result.rendererDevices == [NSNull null]) { - result.rendererDevices = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.rendererDevices ? self.rendererDevices : [NSNull null]), @"rendererDevices", nil]; -} -@end - -@implementation RenderDeviceMessage -+(RenderDeviceMessage*)fromMap:(NSDictionary*)dict { - RenderDeviceMessage* result = [[RenderDeviceMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.rendererDevice = dict[@"rendererDevice"]; - if ((NSNull *)result.rendererDevice == [NSNull null]) { - result.rendererDevice = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.rendererDevice ? self.rendererDevice : [NSNull null]), @"rendererDevice", nil]; -} -@end - -@implementation RecordMessage -+(RecordMessage*)fromMap:(NSDictionary*)dict { - RecordMessage* result = [[RecordMessage alloc] init]; - result.viewId = dict[@"viewId"]; - if ((NSNull *)result.viewId == [NSNull null]) { - result.viewId = nil; - } - result.saveDirectory = dict[@"saveDirectory"]; - if ((NSNull *)result.saveDirectory == [NSNull null]) { - result.saveDirectory = nil; - } - return result; -} --(NSDictionary*)toMap { - return [NSDictionary dictionaryWithObjectsAndKeys:(self.viewId ? self.viewId : [NSNull null]), @"viewId", (self.saveDirectory ? self.saveDirectory : [NSNull null]), @"saveDirectory", nil]; -} -@end - -void VlcPlayerApiSetup(id binaryMessenger, id api) { - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.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.VlcPlayerApi.create" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - CreateMessage *input = [CreateMessage fromMap:message]; - FlutterError *error; - [api create:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.dispose" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - [api dispose:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setStreamUrl" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - SetMediaMessage *input = [SetMediaMessage fromMap:message]; - FlutterError *error; - [api setStreamUrl:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.play" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - [api play:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.pause" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - [api pause:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.stop" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - [api stop:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.isPlaying" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - BooleanMessage *output = [api isPlaying:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.isSeekable" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - BooleanMessage *output = [api isSeekable:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setLooping" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - LoopingMessage *input = [LoopingMessage fromMap:message]; - FlutterError *error; - [api setLooping:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.seekTo" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - PositionMessage *input = [PositionMessage fromMap:message]; - FlutterError *error; - [api seekTo:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.position" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - PositionMessage *output = [api position:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.duration" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - DurationMessage *output = [api duration:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setVolume" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - VolumeMessage *input = [VolumeMessage fromMap:message]; - FlutterError *error; - [api setVolume:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVolume" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - VolumeMessage *output = [api getVolume:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setPlaybackSpeed" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - PlaybackSpeedMessage *input = [PlaybackSpeedMessage fromMap:message]; - FlutterError *error; - [api setPlaybackSpeed:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getPlaybackSpeed" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - PlaybackSpeedMessage *output = [api getPlaybackSpeed:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.takeSnapshot" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - SnapshotMessage *output = [api takeSnapshot:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getSpuTracksCount" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - TrackCountMessage *output = [api getSpuTracksCount:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getSpuTracks" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - SpuTracksMessage *output = [api getSpuTracks:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setSpuTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - SpuTrackMessage *input = [SpuTrackMessage fromMap:message]; - FlutterError *error; - [api setSpuTrack:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getSpuTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - SpuTrackMessage *output = [api getSpuTrack:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setSpuDelay" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - DelayMessage *input = [DelayMessage fromMap:message]; - FlutterError *error; - [api setSpuDelay:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getSpuDelay" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - DelayMessage *output = [api getSpuDelay:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.addSubtitleTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - AddSubtitleMessage *input = [AddSubtitleMessage fromMap:message]; - FlutterError *error; - [api addSubtitleTrack:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getAudioTracksCount" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - TrackCountMessage *output = [api getAudioTracksCount:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getAudioTracks" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - AudioTracksMessage *output = [api getAudioTracks:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setAudioTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - AudioTrackMessage *input = [AudioTrackMessage fromMap:message]; - FlutterError *error; - [api setAudioTrack:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getAudioTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - AudioTrackMessage *output = [api getAudioTrack:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setAudioDelay" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - DelayMessage *input = [DelayMessage fromMap:message]; - FlutterError *error; - [api setAudioDelay:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getAudioDelay" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - DelayMessage *output = [api getAudioDelay:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.addAudioTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - AddAudioMessage *input = [AddAudioMessage fromMap:message]; - FlutterError *error; - [api addAudioTrack:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVideoTracksCount" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - TrackCountMessage *output = [api getVideoTracksCount:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVideoTracks" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - VideoTracksMessage *output = [api getVideoTracks:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setVideoTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - VideoTrackMessage *input = [VideoTrackMessage fromMap:message]; - FlutterError *error; - [api setVideoTrack:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVideoTrack" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - VideoTrackMessage *output = [api getVideoTrack:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setVideoScale" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - VideoScaleMessage *input = [VideoScaleMessage fromMap:message]; - FlutterError *error; - [api setVideoScale:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVideoScale" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - VideoScaleMessage *output = [api getVideoScale:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.setVideoAspectRatio" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - VideoAspectRatioMessage *input = [VideoAspectRatioMessage fromMap:message]; - FlutterError *error; - [api setVideoAspectRatio:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getVideoAspectRatio" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - VideoAspectRatioMessage *output = [api getVideoAspectRatio:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getAvailableRendererServices" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - RendererServicesMessage *output = [api getAvailableRendererServices:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.startRendererScanning" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - RendererScanningMessage *input = [RendererScanningMessage fromMap:message]; - FlutterError *error; - [api startRendererScanning:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.stopRendererScanning" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - [api stopRendererScanning:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.getRendererDevices" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - RendererDevicesMessage *output = [api getRendererDevices:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.castToRenderer" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - RenderDeviceMessage *input = [RenderDeviceMessage fromMap:message]; - FlutterError *error; - [api castToRenderer:input error:&error]; - callback(wrapResult(nil, error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.startRecording" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - RecordMessage *input = [RecordMessage fromMap:message]; - FlutterError *error; - BooleanMessage *output = [api startRecording:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } - { - FlutterBasicMessageChannel *channel = - [FlutterBasicMessageChannel - messageChannelWithName:@"dev.flutter.pigeon.VlcPlayerApi.stopRecording" - binaryMessenger:binaryMessenger]; - if (api) { - [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { - ViewMessage *input = [ViewMessage fromMap:message]; - FlutterError *error; - BooleanMessage *output = [api stopRecording:input error:&error]; - callback(wrapResult([output toMap], error)); - }]; - } - else { - [channel setMessageHandler:nil]; - } - } -} diff --git a/flutter_vlc_player/lib/src/vlc_player_controller.dart b/flutter_vlc_player/lib/src/vlc_player_controller.dart index 3681c401..b877d30d 100644 --- a/flutter_vlc_player/lib/src/vlc_player_controller.dart +++ b/flutter_vlc_player/lib/src/vlc_player_controller.dart @@ -882,7 +882,7 @@ class VlcPlayerController extends ValueNotifier { /// Returns binary data for a snapshot of the media at the current frame. /// - Future takeSnapshot() async { + Future takeSnapshot() async { _throwIfNotInitialized('takeSnapshot'); return vlcPlayerPlatform.takeSnapshot(_viewId); diff --git a/flutter_vlc_player/pigeons/messages.dart b/flutter_vlc_player/pigeons/messages.dart index 0abf7743..1de81b46 100644 --- a/flutter_vlc_player/pigeons/messages.dart +++ b/flutter_vlc_player/pigeons/messages.dart @@ -1,218 +1,190 @@ -import 'package:pigeon/pigeon_lib.dart'; - +import 'package:pigeon/pigeon.dart'; + +// to make changes effect, must run "dart run pigeon --input pigeons/messages.dart" +@ConfigurePigeon( + PigeonOptions( + dartOut: + '../flutter_vlc_player_platform_interface/lib/src/messages/messages.dart', + swiftOut: 'ios/Classes/Messages.swift', + javaOut: + 'android/src/main/java/software/solid/fluttervlcplayer/Messages.java', + javaOptions: JavaOptions(package: 'software.solid.fluttervlcplayer'), + ), +) //ignore: prefer_match_file_name -class ViewMessage { - int? viewId; -} - class CreateMessage { - int? viewId; - String? uri; - int? type; - String? packageName; - bool? autoPlay; - int? hwAcc; - List? options; + final int playerId; + final String uri; + final int type; + final String? packageName; + final bool autoPlay; + final int? hwAcc; + final List options; + + const CreateMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.packageName, + required this.autoPlay, + required this.hwAcc, + required this.options, + }); } class SetMediaMessage { - int? viewId; - String? uri; - int? type; - String? packageName; - bool? autoPlay; - int? hwAcc; + final int playerId; + final String uri; + final int type; + final String? packageName; + final bool autoPlay; + final int? hwAcc; + + const SetMediaMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.packageName, + required this.autoPlay, + required this.hwAcc, + }); } -class BooleanMessage { - int? viewId; - bool? result; -} +class SpuTracksMessage { + final int playerId; + final Map subtitles; -class LoopingMessage { - int? viewId; - bool? isLooping; + const SpuTracksMessage({required this.playerId, required this.subtitles}); } -class VolumeMessage { - int? viewId; - int? volume; -} +class AddSubtitleMessage { + final int playerId; + final String uri; + final int type; + final bool isSelected; -class PlaybackSpeedMessage { - int? viewId; - double? speed; + const AddSubtitleMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.isSelected, + }); } -class PositionMessage { - int? viewId; - int? position; -} +class AddAudioMessage { + final int playerId; + final String uri; + final int type; + final bool isSelected; -class DurationMessage { - int? viewId; - int? duration; + const AddAudioMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.isSelected, + }); } -class DelayMessage { - int? viewId; - int? delay; -} +@HostApi(dartHostTestHandler: 'TestHostVlcPlayerApi') +abstract class VlcPlayerApi { + void initialize(); -class TrackCountMessage { - int? viewId; - int? count; -} + void create(CreateMessage msg); -class SnapshotMessage { - int? viewId; - String? snapshot; -} + void dispose(int playerId); -class SpuTracksMessage { - int? viewId; - Map? subtitles; -} + // general methods + void setStreamUrl(SetMediaMessage msg); -class SpuTrackMessage { - int? viewId; - int? spuTrackNumber; -} + void play(int playerId); -class AddSubtitleMessage { - int? viewId; - String? uri; - int? type; - bool? isSelected; -} + void pause(int playerId); -class AudioTracksMessage { - int? viewId; - Map? audios; -} + void stop(int playerId); -class AudioTrackMessage { - int? viewId; - int? audioTrackNumber; -} + bool isPlaying(int playerId); -class AddAudioMessage { - int? viewId; - String? uri; - int? type; - bool? isSelected; -} + bool isSeekable(int playerId); -class VideoTracksMessage { - int? viewId; - Map? videos; -} + void setLooping(int playerId, bool isLooping); -class VideoTrackMessage { - int? viewId; - int? videoTrackNumber; -} + void seekTo(int playerId, int position); -class VideoScaleMessage { - int? viewId; - double? scale; -} + int position(int playerId); -class VideoAspectRatioMessage { - int? viewId; - String? aspectRatio; -} + int duration(int playerId); -class RendererServicesMessage { - int? viewId; - List? services; -} + void setVolume(int playerId, int volume); -class RendererScanningMessage { - int? viewId; - String? rendererService; -} + int getVolume(int playerId); -class RendererDevicesMessage { - int? viewId; - Map? rendererDevices; -} + void setPlaybackSpeed(int playerId, double speed); -class RenderDeviceMessage { - int? viewId; - String? rendererDevice; -} + double getPlaybackSpeed(int playerId); -class RecordMessage { - int? viewId; - String? saveDirectory; -} + String? takeSnapshot(int playerId); -@HostApi(dartHostTestHandler: 'TestHostVlcPlayerApi') -abstract class VlcPlayerApi { - void initialize(); - void create(CreateMessage msg); - void dispose(ViewMessage msg); - // general methods - void setStreamUrl(SetMediaMessage msg); - void play(ViewMessage msg); - void pause(ViewMessage msg); - void stop(ViewMessage msg); - BooleanMessage isPlaying(ViewMessage msg); - BooleanMessage isSeekable(ViewMessage msg); - void setLooping(LoopingMessage msg); - void seekTo(PositionMessage msg); - PositionMessage position(ViewMessage msg); - DurationMessage duration(ViewMessage msg); - void setVolume(VolumeMessage msg); - VolumeMessage getVolume(ViewMessage msg); - void setPlaybackSpeed(PlaybackSpeedMessage msg); - PlaybackSpeedMessage getPlaybackSpeed(ViewMessage msg); - SnapshotMessage takeSnapshot(ViewMessage msg); // captions & subtitles methods - TrackCountMessage getSpuTracksCount(ViewMessage msg); - SpuTracksMessage getSpuTracks(ViewMessage msg); - void setSpuTrack(SpuTrackMessage msg); - SpuTrackMessage getSpuTrack(ViewMessage msg); - void setSpuDelay(DelayMessage msg); - DelayMessage getSpuDelay(ViewMessage msg); + + int getSpuTracksCount(int playerId); + + Map getSpuTracks(int playerId); + + void setSpuTrack(int playerId, int spuTrackNumber); + + int getSpuTrack(int playerId); + + void setSpuDelay(int playerId, int delay); + + int getSpuDelay(int playerId); + void addSubtitleTrack(AddSubtitleMessage msg); + // audios methods - TrackCountMessage getAudioTracksCount(ViewMessage msg); - AudioTracksMessage getAudioTracks(ViewMessage msg); - void setAudioTrack(AudioTrackMessage msg); - AudioTrackMessage getAudioTrack(ViewMessage msg); - void setAudioDelay(DelayMessage msg); - DelayMessage getAudioDelay(ViewMessage msg); + int getAudioTracksCount(int playerId); + + Map getAudioTracks(int playerId); + + void setAudioTrack(int playerId, int audioTrackNumber); + + int getAudioTrack(int playerId); + + void setAudioDelay(int playerId, int delay); + + int getAudioDelay(int playerId); + void addAudioTrack(AddAudioMessage msg); + // videos methods - TrackCountMessage getVideoTracksCount(ViewMessage msg); - VideoTracksMessage getVideoTracks(ViewMessage msg); - void setVideoTrack(VideoTrackMessage msg); - VideoTrackMessage getVideoTrack(ViewMessage msg); - void setVideoScale(VideoScaleMessage msg); - VideoScaleMessage getVideoScale(ViewMessage msg); - void setVideoAspectRatio(VideoAspectRatioMessage msg); - VideoAspectRatioMessage getVideoAspectRatio(ViewMessage msg); + int getVideoTracksCount(int playerId); + + Map getVideoTracks(int playerId); + + void setVideoTrack(int playerId, int videoTrackNumber); + + int getVideoTrack(int playerId); + + void setVideoScale(int playerId, double scale); + + double getVideoScale(int playerId); + + void setVideoAspectRatio(int playerId, String aspectRatio); + + String getVideoAspectRatio(int playerId); + // casts & renderers methods - RendererServicesMessage getAvailableRendererServices(ViewMessage msg); - void startRendererScanning(RendererScanningMessage msg); - void stopRendererScanning(ViewMessage msg); - RendererDevicesMessage getRendererDevices(ViewMessage msg); - void castToRenderer(RenderDeviceMessage msg); + List getAvailableRendererServices(int playerId); + + void startRendererScanning(int playerId, String rendererService); + + void stopRendererScanning(int playerId); + + Map getRendererDevices(int playerId); + + void castToRenderer(int playerId, String rendererId); + // recording methods - BooleanMessage startRecording(RecordMessage msg); - BooleanMessage stopRecording(ViewMessage msg); -} + bool startRecording(int playerId, String saveDirectory); -// to make changes effect, must run "flutter pub run pigeon \--input pigeons/messages.dart --dart_null_safety" -void configurePigeon(PigeonOptions opts) { - opts.dartOut = - '../flutter_vlc_player_platform_interface/lib/src/messages/messages.dart'; - opts.objcHeaderOut = 'ios/Classes/messages.h'; - opts.objcSourceOut = 'ios/Classes/messages.m'; - opts.objcOptions?.prefix = ''; - opts.javaOut = - 'android/src/main/java/software/solid/fluttervlcplayer/Messages.java'; - opts.javaOptions?.package = 'software.solid.fluttervlcplayer'; + bool stopRecording(int playerId); } diff --git a/flutter_vlc_player/pubspec.yaml b/flutter_vlc_player/pubspec.yaml index fd3b1a31..5ef454a3 100644 --- a/flutter_vlc_player/pubspec.yaml +++ b/flutter_vlc_player/pubspec.yaml @@ -27,6 +27,6 @@ dev_dependencies: flutter_test: sdk: flutter - pigeon: ^0.2.4 + pigeon: ^25.2.0 plugin_platform_interface: ^2.1.3 - solid_lints: ^0.2.3 + solid_lints: ^0.3.0 diff --git a/flutter_vlc_player_platform_interface/lib/src/messages/messages.dart b/flutter_vlc_player_platform_interface/lib/src/messages/messages.dart index 0c041a96..52000f85 100644 --- a/flutter_vlc_player_platform_interface/lib/src/messages/messages.dart +++ b/flutter_vlc_player_platform_interface/lib/src/messages/messages.dart @@ -1,1893 +1,1777 @@ -// Autogenerated from Pigeon (v0.2.1), do not edit directly. +// Autogenerated from Pigeon (v25.2.0), 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 -// @dart = 2.12 +// 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, unnecessary_import, no_leading_underscores_for_local_identifiers + import 'dart:async'; -import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List; +import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; +import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer; import 'package:flutter/services.dart'; -// ignore: prefer-match-file-name -class CreateMessage { - int? viewId; - String? uri; - int? type; - String? packageName; - bool? autoPlay; - int? hwAcc; - List? options; - - CreateMessage(); - - CreateMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - uri = pigeonMap['uri'] as String?; - type = pigeonMap['type'] as int?; - packageName = pigeonMap['packageName'] as String?; - autoPlay = pigeonMap['autoPlay'] as bool?; - hwAcc = pigeonMap['hwAcc'] as int?; - options = pigeonMap['options'] as List?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['uri'] = uri; - pigeonMap['type'] = type; - pigeonMap['packageName'] = packageName; - pigeonMap['autoPlay'] = autoPlay; - pigeonMap['hwAcc'] = hwAcc; - pigeonMap['options'] = options; - - return pigeonMap; - } -} - -class ViewMessage { - int? viewId; - - ViewMessage(); - - ViewMessage.decode(Object message) { - final Map pigeonMap = message as Map; - - viewId = pigeonMap['viewId'] as int?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - - return pigeonMap; - } +PlatformException _createConnectionError(String channelName) { + return PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel: "$channelName".', + ); } -class SetMediaMessage { - int? viewId; - String? uri; - int? type; - String? packageName; - bool? autoPlay; - int? hwAcc; - - SetMediaMessage(); - - SetMediaMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - uri = pigeonMap['uri'] as String?; - type = pigeonMap['type'] as int?; - packageName = pigeonMap['packageName'] as String?; - autoPlay = pigeonMap['autoPlay'] as bool?; - hwAcc = pigeonMap['hwAcc'] as int?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['uri'] = uri; - pigeonMap['type'] = type; - pigeonMap['packageName'] = packageName; - pigeonMap['autoPlay'] = autoPlay; - pigeonMap['hwAcc'] = hwAcc; - - return pigeonMap; - } +bool _deepEquals(Object? a, Object? b) { + if (a is List && b is List) { + return a.length == b.length && + a.indexed.every( + ((int, dynamic) item) => _deepEquals(item.$2, b[item.$1]), + ); + } + if (a is Map && b is Map) { + final Iterable keys = (a as Map).keys; + return a.length == b.length && + keys.every( + (Object? key) => + (b as Map).containsKey(key) && + _deepEquals(a[key], b[key]), + ); + } + return a == b; } -class BooleanMessage { - int? viewId; - bool? result; - - BooleanMessage(); - - BooleanMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - result = pigeonMap['result'] as bool?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['result'] = result; +class CreateMessage { + CreateMessage({ + required this.playerId, + required this.uri, + required this.type, + this.packageName, + required this.autoPlay, + this.hwAcc, + required this.options, + }); - return pigeonMap; - } -} + int playerId; -class LoopingMessage { - int? viewId; - bool? isLooping; + String uri; - LoopingMessage(); + int type; - LoopingMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - isLooping = pigeonMap['isLooping'] as bool?; - } + String? packageName; - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['isLooping'] = isLooping; + bool autoPlay; - return pigeonMap; - } -} - -class PositionMessage { - int? viewId; - int? position; + int? hwAcc; - PositionMessage(); + List options; - PositionMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - position = pigeonMap['position'] as int?; + List _toList() { + return [ + playerId, + uri, + type, + packageName, + autoPlay, + hwAcc, + options, + ]; } Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['position'] = position; - - return pigeonMap; - } -} - -class DurationMessage { - int? viewId; - int? duration; - - DurationMessage(); - - DurationMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - duration = pigeonMap['duration'] as int?; + return _toList(); + } + + static CreateMessage decode(Object result) { + result as List; + return CreateMessage( + playerId: result[0]! as int, + uri: result[1]! as String, + type: result[2]! as int, + packageName: result[3] as String?, + autoPlay: result[4]! as bool, + hwAcc: result[5] as int?, + options: (result[6] as List?)!.cast(), + ); } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['duration'] = duration; - - return pigeonMap; - } + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + bool operator ==(Object other) { + if (other is! CreateMessage || other.runtimeType != runtimeType) { + return false; + } + if (identical(this, other)) { + return true; + } + return playerId == other.playerId && + uri == other.uri && + type == other.type && + packageName == other.packageName && + autoPlay == other.autoPlay && + hwAcc == other.hwAcc && + _deepEquals(options, other.options); + } + + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + int get hashCode => Object.hashAll(_toList()); } -class VolumeMessage { - int? viewId; - int? volume; - - VolumeMessage(); - - VolumeMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - volume = pigeonMap['volume'] as int?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['volume'] = volume; - - return pigeonMap; - } -} +class SetMediaMessage { + SetMediaMessage({ + required this.playerId, + required this.uri, + required this.type, + this.packageName, + required this.autoPlay, + this.hwAcc, + }); -class PlaybackSpeedMessage { - int? viewId; - double? speed; + int playerId; - PlaybackSpeedMessage(); + String uri; - PlaybackSpeedMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - speed = pigeonMap['speed'] as double?; - } + int type; - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['speed'] = speed; - - return pigeonMap; - } -} + String? packageName; -class SnapshotMessage { - int? viewId; - String? snapshot; + bool autoPlay; - SnapshotMessage(); - SnapshotMessage.decode(Object message) { - final Map pigeonMap = message as Map; + int? hwAcc; - viewId = pigeonMap['viewId'] as int?; - snapshot = pigeonMap['snapshot'] as String?; + List _toList() { + return [playerId, uri, type, packageName, autoPlay, hwAcc]; } Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['snapshot'] = snapshot; - - return pigeonMap; + return _toList(); + } + + static SetMediaMessage decode(Object result) { + result as List; + return SetMediaMessage( + playerId: result[0]! as int, + uri: result[1]! as String, + type: result[2]! as int, + packageName: result[3] as String?, + autoPlay: result[4]! as bool, + hwAcc: result[5] as int?, + ); } -} -class TrackCountMessage { - int? viewId; - int? count; - - TrackCountMessage(); - - TrackCountMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - count = pigeonMap['count'] as int?; + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + bool operator ==(Object other) { + if (other is! SetMediaMessage || other.runtimeType != runtimeType) { + return false; + } + if (identical(this, other)) { + return true; + } + return playerId == other.playerId && + uri == other.uri && + type == other.type && + packageName == other.packageName && + autoPlay == other.autoPlay && + hwAcc == other.hwAcc; } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['count'] = count; - - return pigeonMap; - } + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + int get hashCode => Object.hashAll(_toList()); } class SpuTracksMessage { - int? viewId; - Map? subtitles; - - SpuTracksMessage(); + SpuTracksMessage({required this.playerId, required this.subtitles}); - SpuTracksMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - subtitles = pigeonMap['subtitles'] as Map?; - } + int playerId; - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['subtitles'] = subtitles; + Map subtitles; - return pigeonMap; - } -} - -class SpuTrackMessage { - int? viewId; - int? spuTrackNumber; - - SpuTrackMessage(); - - SpuTrackMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - spuTrackNumber = pigeonMap['spuTrackNumber'] as int?; + List _toList() { + return [playerId, subtitles]; } Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['spuTrackNumber'] = spuTrackNumber; - - return pigeonMap; + return _toList(); } -} -class DelayMessage { - int? viewId; - int? delay; - - DelayMessage(); - - DelayMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - delay = pigeonMap['delay'] as int?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['delay'] = delay; - - return pigeonMap; - } -} - -class AddSubtitleMessage { - int? viewId; - String? uri; - int? type; - bool? isSelected; - - AddSubtitleMessage(); - - AddSubtitleMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - uri = pigeonMap['uri'] as String?; - type = pigeonMap['type'] as int?; - isSelected = pigeonMap['isSelected'] as bool?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['uri'] = uri; - pigeonMap['type'] = type; - pigeonMap['isSelected'] = isSelected; - - return pigeonMap; - } -} - -class AudioTracksMessage { - int? viewId; - Map? audios; - - AudioTracksMessage(); - - AudioTracksMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - audios = pigeonMap['audios'] as Map?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['audios'] = audios; - - return pigeonMap; - } -} - -class AudioTrackMessage { - int? viewId; - int? audioTrackNumber; - - AudioTrackMessage(); - AudioTrackMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - audioTrackNumber = pigeonMap['audioTrackNumber'] as int?; - } - - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['audioTrackNumber'] = audioTrackNumber; - - return pigeonMap; + static SpuTracksMessage decode(Object result) { + result as List; + return SpuTracksMessage( + playerId: result[0]! as int, + subtitles: (result[1] as Map?)!.cast(), + ); } -} - -class AddAudioMessage { - int? viewId; - String? uri; - int? type; - bool? isSelected; - AddAudioMessage(); - - AddAudioMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - uri = pigeonMap['uri'] as String?; - type = pigeonMap['type'] as int?; - isSelected = pigeonMap['isSelected'] as bool?; + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + bool operator ==(Object other) { + if (other is! SpuTracksMessage || other.runtimeType != runtimeType) { + return false; + } + if (identical(this, other)) { + return true; + } + return playerId == other.playerId && + _deepEquals(subtitles, other.subtitles); } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['uri'] = uri; - pigeonMap['type'] = type; - pigeonMap['isSelected'] = isSelected; - - return pigeonMap; - } + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + int get hashCode => Object.hashAll(_toList()); } -class VideoTracksMessage { - int? viewId; - Map? videos; - - VideoTracksMessage(); - - VideoTracksMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - videos = pigeonMap['videos'] as Map?; - } +class AddSubtitleMessage { + AddSubtitleMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.isSelected, + }); - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['videos'] = videos; + int playerId; - return pigeonMap; - } -} + String uri; -class VideoTrackMessage { - int? viewId; - int? videoTrackNumber; + int type; - VideoTrackMessage(); + bool isSelected; - VideoTrackMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - videoTrackNumber = pigeonMap['videoTrackNumber'] as int?; + List _toList() { + return [playerId, uri, type, isSelected]; } Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['videoTrackNumber'] = videoTrackNumber; - - return pigeonMap; - } -} - -class VideoScaleMessage { - int? viewId; - double? scale; - - VideoScaleMessage(); - - VideoScaleMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - scale = pigeonMap['scale'] as double?; + return _toList(); } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['scale'] = scale; - - return pigeonMap; + static AddSubtitleMessage decode(Object result) { + result as List; + return AddSubtitleMessage( + playerId: result[0]! as int, + uri: result[1]! as String, + type: result[2]! as int, + isSelected: result[3]! as bool, + ); } -} - -class VideoAspectRatioMessage { - int? viewId; - String? aspectRatio; - VideoAspectRatioMessage(); - - VideoAspectRatioMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - aspectRatio = pigeonMap['aspectRatio'] as String?; + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + bool operator ==(Object other) { + if (other is! AddSubtitleMessage || other.runtimeType != runtimeType) { + return false; + } + if (identical(this, other)) { + return true; + } + return playerId == other.playerId && + uri == other.uri && + type == other.type && + isSelected == other.isSelected; } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['aspectRatio'] = aspectRatio; - - return pigeonMap; - } + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + int get hashCode => Object.hashAll(_toList()); } -class RendererServicesMessage { - int? viewId; - List? services; - - RendererServicesMessage(); - - RendererServicesMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - services = pigeonMap['services'] as List?; - } +class AddAudioMessage { + AddAudioMessage({ + required this.playerId, + required this.uri, + required this.type, + required this.isSelected, + }); - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['services'] = services; + int playerId; - return pigeonMap; - } -} + String uri; -class RendererScanningMessage { - int? viewId; - String? rendererService; + int type; - RendererScanningMessage(); + bool isSelected; - RendererScanningMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - rendererService = pigeonMap['rendererService'] as String?; + List _toList() { + return [playerId, uri, type, isSelected]; } Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['rendererService'] = rendererService; - - return pigeonMap; - } -} - -class RendererDevicesMessage { - int? viewId; - Map? rendererDevices; - - RendererDevicesMessage(); - - RendererDevicesMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - rendererDevices = pigeonMap['rendererDevices'] as Map?; + return _toList(); } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['rendererDevices'] = rendererDevices; - - return pigeonMap; + static AddAudioMessage decode(Object result) { + result as List; + return AddAudioMessage( + playerId: result[0]! as int, + uri: result[1]! as String, + type: result[2]! as int, + isSelected: result[3]! as bool, + ); } -} -class RenderDeviceMessage { - int? viewId; - String? rendererDevice; - - RenderDeviceMessage(); - - RenderDeviceMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - rendererDevice = pigeonMap['rendererDevice'] as String?; + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + bool operator ==(Object other) { + if (other is! AddAudioMessage || other.runtimeType != runtimeType) { + return false; + } + if (identical(this, other)) { + return true; + } + return playerId == other.playerId && + uri == other.uri && + type == other.type && + isSelected == other.isSelected; } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['rendererDevice'] = rendererDevice; - - return pigeonMap; - } + @override + // ignore: avoid_equals_and_hash_code_on_mutable_classes + int get hashCode => Object.hashAll(_toList()); } -class RecordMessage { - int? viewId; - String? saveDirectory; - - RecordMessage(); - - RecordMessage.decode(Object message) { - final Map pigeonMap = message as Map; - viewId = pigeonMap['viewId'] as int?; - saveDirectory = pigeonMap['saveDirectory'] as String?; +class _PigeonCodec extends StandardMessageCodec { + const _PigeonCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is int) { + buffer.putUint8(4); + buffer.putInt64(value); + } else if (value is CreateMessage) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is SetMediaMessage) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is SpuTracksMessage) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is AddSubtitleMessage) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is AddAudioMessage) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } } - Object encode() { - final Map pigeonMap = {}; - pigeonMap['viewId'] = viewId; - pigeonMap['saveDirectory'] = saveDirectory; - - return pigeonMap; + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 129: + return CreateMessage.decode(readValue(buffer)!); + case 130: + return SetMediaMessage.decode(readValue(buffer)!); + case 131: + return SpuTracksMessage.decode(readValue(buffer)!); + case 132: + return AddSubtitleMessage.decode(readValue(buffer)!); + case 133: + return AddAudioMessage.decode(readValue(buffer)!); + default: + return super.readValueOfType(type, buffer); + } } } class VlcPlayerApi { - final BinaryMessenger? _binaryMessenger; - /// Constructor for [VlcPlayerApi]. 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. - VlcPlayerApi({BinaryMessenger? binaryMessenger}) - : _binaryMessenger = binaryMessenger; + VlcPlayerApi({ + BinaryMessenger? binaryMessenger, + String messageChannelSuffix = '', + }) : pigeonVar_binaryMessenger = binaryMessenger, + pigeonVar_messageChannelSuffix = + messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + final BinaryMessenger? pigeonVar_binaryMessenger; + + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); + + final String pigeonVar_messageChannelSuffix; Future initialize() async { - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.initialize', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, - ); - final Map? replyMap = - await channel.send(null) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.initialize$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future create(CreateMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.create', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future create(CreateMessage msg) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.create$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [msg], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future dispose(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.dispose', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future dispose(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.dispose$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future setStreamUrl(SetMediaMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setStreamUrl', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setStreamUrl(SetMediaMessage msg) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setStreamUrl$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [msg], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future play(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.play', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future play(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.play$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future pause(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.pause', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future pause(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.pause$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future stop(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.stop', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future stop(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stop$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future isPlaying(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.isPlaying', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future isPlaying(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isPlaying$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return BooleanMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as bool?)!; } } - Future isSeekable(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.isSeekable', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future isSeekable(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.isSeekable$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return BooleanMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as bool?)!; } } - Future setLooping(LoopingMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setLooping', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setLooping(int playerId, bool isLooping) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setLooping$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, isLooping], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future seekTo(PositionMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.seekTo', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future seekTo(int playerId, int position) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.seekTo$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, position], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future position(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.position', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future position(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.position$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return PositionMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future duration(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.duration', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future duration(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.duration$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return DurationMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future setVolume(VolumeMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setVolume', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setVolume(int playerId, int volume) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVolume$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, volume], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getVolume(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVolume', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getVolume(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVolume$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return VolumeMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future setPlaybackSpeed(PlaybackSpeedMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setPlaybackSpeed', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setPlaybackSpeed(int playerId, double speed) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setPlaybackSpeed$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, speed], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getPlaybackSpeed(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getPlaybackSpeed', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getPlaybackSpeed(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getPlaybackSpeed$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return PlaybackSpeedMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as double?)!; } } - Future takeSnapshot(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.takeSnapshot', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future takeSnapshot(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.takeSnapshot$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { - return SnapshotMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as String?); } } - Future getSpuTracksCount(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getSpuTracksCount', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getSpuTracksCount(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracksCount$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return TrackCountMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future getSpuTracks(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getSpuTracks', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future> getSpuTracks(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTracks$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return SpuTracksMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as Map?)! + .cast(); } } - Future setSpuTrack(SpuTrackMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setSpuTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setSpuTrack(int playerId, int spuTrackNumber) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, spuTrackNumber], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getSpuTrack(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getSpuTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getSpuTrack(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return SpuTrackMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future setSpuDelay(DelayMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setSpuDelay', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setSpuDelay(int playerId, int delay) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setSpuDelay$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, delay], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getSpuDelay(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getSpuDelay', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getSpuDelay(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getSpuDelay$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return DelayMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future addSubtitleTrack(AddSubtitleMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.addSubtitleTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future addSubtitleTrack(AddSubtitleMessage msg) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addSubtitleTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [msg], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getAudioTracksCount(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getAudioTracksCount', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getAudioTracksCount(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracksCount$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return TrackCountMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future getAudioTracks(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getAudioTracks', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future> getAudioTracks(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTracks$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return AudioTracksMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as Map?)! + .cast(); } } - Future setAudioTrack(AudioTrackMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setAudioTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setAudioTrack(int playerId, int audioTrackNumber) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, audioTrackNumber], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getAudioTrack(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getAudioTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getAudioTrack(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return AudioTrackMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future setAudioDelay(DelayMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setAudioDelay', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setAudioDelay(int playerId, int delay) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setAudioDelay$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, delay], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getAudioDelay(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getAudioDelay', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getAudioDelay(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAudioDelay$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return DelayMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future addAudioTrack(AddAudioMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.addAudioTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future addAudioTrack(AddAudioMessage msg) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.addAudioTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [msg], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getVideoTracksCount(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVideoTracksCount', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getVideoTracksCount(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracksCount$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return TrackCountMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future getVideoTracks(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVideoTracks', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future> getVideoTracks(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTracks$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return VideoTracksMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as Map?)! + .cast(); } } - Future setVideoTrack(VideoTrackMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setVideoTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setVideoTrack(int playerId, int videoTrackNumber) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, videoTrackNumber], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getVideoTrack(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVideoTrack', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getVideoTrack(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoTrack$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return VideoTrackMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as int?)!; } } - Future setVideoScale(VideoScaleMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setVideoScale', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setVideoScale(int playerId, double scale) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoScale$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, scale], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; - throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getVideoScale(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVideoScale', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getVideoScale(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoScale$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return VideoScaleMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as double?)!; } } - Future setVideoAspectRatio(VideoAspectRatioMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.setVideoAspectRatio', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future setVideoAspectRatio(int playerId, String aspectRatio) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.setVideoAspectRatio$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, aspectRatio], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getVideoAspectRatio(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getVideoAspectRatio', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future getVideoAspectRatio(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getVideoAspectRatio$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return VideoAspectRatioMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as String?)!; } } - Future getAvailableRendererServices( - ViewMessage arg, - ) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getAvailableRendererServices', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future> getAvailableRendererServices(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getAvailableRendererServices$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return RendererServicesMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as List?)!.cast(); } } - Future startRendererScanning(RendererScanningMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.startRendererScanning', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future startRendererScanning( + int playerId, + String rendererService, + ) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRendererScanning$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, rendererService], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future stopRendererScanning(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.stopRendererScanning', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future stopRendererScanning(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRendererScanning$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future getRendererDevices(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.getRendererDevices', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future> getRendererDevices(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.getRendererDevices$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return RendererDevicesMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as Map?)! + .cast(); } } - Future castToRenderer(RenderDeviceMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.castToRenderer', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future castToRenderer(int playerId, String rendererId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.castToRenderer$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, rendererId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { - throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, - ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); + } else { + return; } } - Future startRecording(RecordMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.startRecording', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future startRecording(int playerId, String saveDirectory) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.startRecording$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId, saveDirectory], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return BooleanMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as bool?)!; } } - Future stopRecording(ViewMessage arg) async { - final Object encoded = arg.encode(); - final BasicMessageChannel channel = BasicMessageChannel( - 'dev.flutter.pigeon.VlcPlayerApi.stopRecording', - const StandardMessageCodec(), - binaryMessenger: _binaryMessenger, + Future stopRecording(int playerId) async { + final String pigeonVar_channelName = + 'dev.flutter.pigeon.flutter_vlc_player_platform_interface.VlcPlayerApi.stopRecording$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send( + [playerId], ); - final Map? replyMap = - await channel.send(encoded) as Map?; - if (replyMap == null) { + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel.', - details: null, + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); - } else if (replyMap['error'] != null) { - final Map error = - replyMap['error'] as Map? ?? {}; + } else if (pigeonVar_replyList[0] == null) { throw PlatformException( - code: error['code'] as String? ?? "", - message: error['message'] as String?, - details: error['details'], + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', ); } else { - return BooleanMessage.decode(replyMap['result']!); + return (pigeonVar_replyList[0] as bool?)!; } } } diff --git a/flutter_vlc_player_platform_interface/lib/src/method_channel/method_channel_vlc_player.dart b/flutter_vlc_player_platform_interface/lib/src/method_channel/method_channel_vlc_player.dart index 15d8c4ba..f82289eb 100644 --- a/flutter_vlc_player_platform_interface/lib/src/method_channel/method_channel_vlc_player.dart +++ b/flutter_vlc_player_platform_interface/lib/src/method_channel/method_channel_vlc_player.dart @@ -21,7 +21,7 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { } @override - Future init() async { + Future init() { return _api.initialize(); } @@ -34,23 +34,24 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { bool? autoPlay, HwAcc? hwAcc, VlcPlayerOptions? options, - }) async { - final message = CreateMessage(); - message.viewId = viewId; - message.uri = uri; - message.type = type.index; - message.packageName = package; - message.hwAcc = hwAcc?.index; - message.autoPlay = autoPlay ?? true; - message.options = options?.get() ?? []; + }) { + final message = CreateMessage( + playerId: viewId, + uri: uri, + type: type.index, + packageName: package, + autoPlay: autoPlay ?? true, + hwAcc: hwAcc?.index, + options: options?.get() ?? [], + ); return _api.create(message); } // ignore: proper_super_calls @override - Future dispose(int viewId) async { - return _api.dispose(ViewMessage()..viewId = viewId); + Future dispose(int viewId) { + return _api.dispose(viewId); } /// This method builds the appropriate platform view where the player @@ -197,161 +198,118 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { String? package, bool? autoPlay, HwAcc? hwAcc, - }) async { - final message = SetMediaMessage(); - message.viewId = viewId; - message.uri = uri; - message.type = type.index; - message.packageName = package; - message.hwAcc = hwAcc?.index; - message.autoPlay = autoPlay ?? true; + }) { + final message = SetMediaMessage( + playerId: viewId, + uri: uri, + type: type.index, + packageName: package, + hwAcc: hwAcc?.index, + autoPlay: autoPlay ?? true, + ); return _api.setStreamUrl(message); } @override - Future setLooping(int viewId, bool looping) async { - return _api.setLooping( - LoopingMessage() - ..viewId = viewId - ..isLooping = looping, - ); + Future setLooping(int viewId, bool looping) { + return _api.setLooping(viewId, looping); } @override - Future play(int viewId) async { - return _api.play(ViewMessage()..viewId = viewId); + Future play(int viewId) { + return _api.play(viewId); } @override - Future pause(int viewId) async { - return _api.pause(ViewMessage()..viewId = viewId); + Future pause(int viewId) { + return _api.pause(viewId); } @override - Future stop(int viewId) async { - return _api.stop(ViewMessage()..viewId = viewId); + Future stop(int viewId) { + return _api.stop(viewId); } @override - Future isPlaying(int viewId) async { - final response = await _api.isPlaying(ViewMessage()..viewId = viewId); - - return response.result; + Future isPlaying(int viewId) { + return _api.isPlaying(viewId); } @override - Future isSeekable(int viewId) async { - final response = await _api.isSeekable(ViewMessage()..viewId = viewId); - - return response.result; + Future isSeekable(int viewId) { + return _api.isSeekable(viewId); } @override - Future seekTo(int viewId, Duration position) async { - return _api.seekTo( - PositionMessage() - ..viewId = viewId - ..position = position.inMilliseconds, - ); + Future seekTo(int viewId, Duration position) { + return _api.seekTo(viewId, position.inMilliseconds); } @override Future getPosition(int viewId) async { - final response = await _api.position(ViewMessage()..viewId = viewId); + final response = await _api.position(viewId); - return Duration(milliseconds: response.position ?? 0); + return Duration(milliseconds: response); } @override Future getDuration(int viewId) async { - final response = await _api.duration(ViewMessage()..viewId = viewId); + final response = await _api.duration(viewId); - return Duration(milliseconds: response.duration ?? 0); + return Duration(milliseconds: response); } @override - Future setVolume(int viewId, int volume) async { - return _api.setVolume( - VolumeMessage() - ..viewId = viewId - ..volume = volume, - ); + Future setVolume(int viewId, int volume) { + return _api.setVolume(viewId, volume); } @override - Future getVolume(int viewId) async { - final response = await _api.getVolume(ViewMessage()..viewId = viewId); - - return response.volume; + Future getVolume(int viewId) { + return _api.getVolume(viewId); } @override - Future setPlaybackSpeed(int viewId, double speed) async { + Future setPlaybackSpeed(int viewId, double speed) { assert(speed > 0); - return _api.setPlaybackSpeed( - PlaybackSpeedMessage() - ..viewId = viewId - ..speed = speed, - ); + return _api.setPlaybackSpeed(viewId, speed); } @override - Future getPlaybackSpeed(int viewId) async { - final response = await _api.getPlaybackSpeed( - ViewMessage()..viewId = viewId, - ); - - return response.speed; + Future getPlaybackSpeed(int viewId) { + return _api.getPlaybackSpeed(viewId); } @override - Future getSpuTracksCount(int viewId) async { - final response = await _api.getSpuTracksCount( - ViewMessage()..viewId = viewId, - ); - - return response.count; + Future getSpuTracksCount(int viewId) { + return _api.getSpuTracksCount(viewId); } @override - Future> getSpuTracks(int viewId) async { - final response = await _api.getSpuTracks(ViewMessage()..viewId = viewId); - - return response.subtitles?.cast() ?? {}; + Future> getSpuTracks(int viewId) { + return _api.getSpuTracks(viewId); } @override - Future getSpuTrack(int viewId) async { - final response = await _api.getSpuTrack(ViewMessage()..viewId = viewId); - - return response.spuTrackNumber; + Future getSpuTrack(int viewId) { + return _api.getSpuTrack(viewId); } @override - Future setSpuTrack(int viewId, int spuTrackNumber) async { - return _api.setSpuTrack( - SpuTrackMessage() - ..viewId = viewId - ..spuTrackNumber = spuTrackNumber, - ); + Future setSpuTrack(int viewId, int spuTrackNumber) { + return _api.setSpuTrack(viewId, spuTrackNumber); } @override - Future setSpuDelay(int viewId, int delay) async { - return _api.setSpuDelay( - DelayMessage() - ..viewId = viewId - ..delay = delay, - ); + Future setSpuDelay(int viewId, int delay) { + return _api.setSpuDelay(viewId, delay); } @override - Future getSpuDelay(int viewId) async { - final response = await _api.getSpuDelay(ViewMessage()..viewId = viewId); - - return response.delay; + Future getSpuDelay(int viewId) { + return _api.getSpuDelay(viewId); } @override @@ -360,62 +318,45 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { required String uri, required DataSourceType type, bool? isSelected, - }) async { - final message = AddSubtitleMessage(); - message.viewId = viewId; - message.uri = uri; - message.type = type.index; - message.isSelected = isSelected; - - return _api.addSubtitleTrack(message); + }) { + return _api.addSubtitleTrack( + AddSubtitleMessage( + playerId: viewId, + uri: uri, + type: type.index, + isSelected: isSelected ?? false, + ), + ); } @override - Future getAudioTracksCount(int viewId) async { - final response = await _api.getAudioTracksCount( - ViewMessage()..viewId = viewId, - ); - - return response.count; + Future getAudioTracksCount(int viewId) { + return _api.getAudioTracksCount(viewId); } @override - Future> getAudioTracks(int viewId) async { - final response = await _api.getAudioTracks(ViewMessage()..viewId = viewId); - - return response.audios?.cast() ?? {}; + Future> getAudioTracks(int viewId) { + return _api.getAudioTracks(viewId); } @override - Future getAudioTrack(int viewId) async { - final response = await _api.getAudioTrack(ViewMessage()..viewId = viewId); - - return response.audioTrackNumber; + Future getAudioTrack(int viewId) { + return _api.getAudioTrack(viewId); } @override - Future setAudioTrack(int viewId, int audioTrackNumber) async { - return _api.setAudioTrack( - AudioTrackMessage() - ..viewId = viewId - ..audioTrackNumber = audioTrackNumber, - ); + Future setAudioTrack(int viewId, int audioTrackNumber) { + return _api.setAudioTrack(viewId, audioTrackNumber); } @override - Future setAudioDelay(int viewId, int delay) async { - return _api.setAudioDelay( - DelayMessage() - ..viewId = viewId - ..delay = delay, - ); + Future setAudioDelay(int viewId, int delay) { + return _api.setAudioDelay(viewId, delay); } @override - Future getAudioDelay(int viewId) async { - final response = await _api.getAudioDelay(ViewMessage()..viewId = viewId); - - return response.delay; + Future getAudioDelay(int viewId) { + return _api.getAudioDelay(viewId); } @override @@ -424,136 +365,95 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { required String uri, required DataSourceType type, bool? isSelected, - }) async { - final message = AddAudioMessage(); - message.viewId = viewId; - message.uri = uri; - message.type = type.index; - message.isSelected = isSelected; - - return _api.addAudioTrack(message); + }) { + return _api.addAudioTrack( + AddAudioMessage( + playerId: viewId, + uri: uri, + type: type.index, + isSelected: isSelected ?? false, + ), + ); } @override - Future getVideoTracksCount(int viewId) async { - final response = await _api.getVideoTracksCount( - ViewMessage()..viewId = viewId, - ); - - return response.count; + Future getVideoTracksCount(int viewId) { + return _api.getVideoTracksCount(viewId); } @override - Future> getVideoTracks(int viewId) async { - final response = await _api.getVideoTracks(ViewMessage()..viewId = viewId); - - return response.videos?.cast() ?? {}; + Future> getVideoTracks(int viewId) { + return _api.getVideoTracks(viewId); } @override - Future setVideoTrack(int viewId, int videoTrackNumber) async { - return _api.setVideoTrack( - VideoTrackMessage() - ..viewId = viewId - ..videoTrackNumber = videoTrackNumber, - ); + Future setVideoTrack(int viewId, int videoTrackNumber) { + return _api.setVideoTrack(viewId, videoTrackNumber); } @override - Future getVideoTrack(int viewId) async { - final response = await _api.getVideoTrack(ViewMessage()..viewId = viewId); - - return response.videoTrackNumber; + Future getVideoTrack(int viewId) { + return _api.getVideoTrack(viewId); } @override - Future setVideoScale(int viewId, double scale) async { - return _api.setVideoScale( - VideoScaleMessage() - ..viewId = viewId - ..scale = scale, - ); + Future setVideoScale(int viewId, double scale) { + return _api.setVideoScale(viewId, scale); } @override - Future getVideoScale(int viewId) async { - final response = await _api.getVideoScale(ViewMessage()..viewId = viewId); - - return response.scale; + Future getVideoScale(int viewId) { + return _api.getVideoScale(viewId); } @override - Future setVideoAspectRatio(int viewId, String aspect) async { - return _api.setVideoAspectRatio( - VideoAspectRatioMessage() - ..viewId = viewId - ..aspectRatio = aspect, - ); + Future setVideoAspectRatio(int viewId, String aspect) { + return _api.setVideoAspectRatio(viewId, aspect); } @override - Future getVideoAspectRatio(int viewId) async { - final response = await _api.getVideoAspectRatio( - ViewMessage()..viewId = viewId, - ); - - return response.aspectRatio; + Future getVideoAspectRatio(int viewId) { + return _api.getVideoAspectRatio(viewId); } String base64Encode(List value) => base64.encode(value); Uint8List base64Decode(String source) => base64.decode(source); @override - Future takeSnapshot(int viewId) async { - final response = await _api.takeSnapshot(ViewMessage()..viewId = viewId); - final base64String = response.snapshot ?? ""; + Future takeSnapshot(int viewId) async { + final base64String = await _api.takeSnapshot(viewId); + if (base64String == null) { + return null; + } + final imageBytes = base64Decode(base64.normalize(base64String)); return imageBytes; } @override - Future> getAvailableRendererServices(int viewId) async { - final response = await _api.getAvailableRendererServices( - ViewMessage()..viewId = viewId, - ); - - return response.services?.cast() ?? []; + Future> getAvailableRendererServices(int viewId) { + return _api.getAvailableRendererServices(viewId); } @override - Future startRendererScanning( - int viewId, { - String? rendererService, - }) async { - return _api.startRendererScanning( - RendererScanningMessage() - ..viewId = viewId - ..rendererService = rendererService ?? '', - ); + Future startRendererScanning(int viewId, {String? rendererService}) { + return _api.startRendererScanning(viewId, rendererService ?? ''); } @override - Future stopRendererScanning(int viewId) async { - return _api.stopRendererScanning(ViewMessage()..viewId = viewId); + Future stopRendererScanning(int viewId) { + return _api.stopRendererScanning(viewId); } @override - Future> getRendererDevices(int viewId) async { - final response = await _api.getRendererDevices( - ViewMessage()..viewId = viewId, - ); - - return response.rendererDevices?.cast() ?? {}; + Future> getRendererDevices(int viewId) { + return _api.getRendererDevices(viewId); } @override - Future castToRenderer(int viewId, String rendererDevice) async { - return _api.castToRenderer( - RenderDeviceMessage() - ..viewId = viewId - ..rendererDevice = rendererDevice, - ); + Future castToRenderer(int viewId, String rendererDevice) { + return _api.castToRenderer(viewId, rendererDevice); } @override @@ -585,20 +485,12 @@ class MethodChannelVlcPlayer extends VlcPlayerPlatform { } @override - Future startRecording(int viewId, String saveDirectory) async { - final response = await _api.startRecording( - RecordMessage() - ..viewId = viewId - ..saveDirectory = saveDirectory, - ); - - return response.result; + Future startRecording(int viewId, String saveDirectory) { + return _api.startRecording(viewId, saveDirectory); } @override - Future stopRecording(int viewId) async { - final response = await _api.stopRecording(ViewMessage()..viewId = viewId); - - return response.result; + Future stopRecording(int viewId) { + return _api.stopRecording(viewId); } } diff --git a/flutter_vlc_player_platform_interface/lib/src/platform_interface/vlc_player_platform_interface.dart b/flutter_vlc_player_platform_interface/lib/src/platform_interface/vlc_player_platform_interface.dart index e0270d38..0b769670 100644 --- a/flutter_vlc_player_platform_interface/lib/src/platform_interface/vlc_player_platform_interface.dart +++ b/flutter_vlc_player_platform_interface/lib/src/platform_interface/vlc_player_platform_interface.dart @@ -298,7 +298,7 @@ abstract class VlcPlayerPlatform extends PlatformInterface { } /// Returns binary data for a snapshot of the media at the current frame. - Future takeSnapshot(int viewId) { + Future takeSnapshot(int viewId) { throw _unimplemented('takeSnapshot'); } diff --git a/flutter_vlc_player_platform_interface/pubspec.yaml b/flutter_vlc_player_platform_interface/pubspec.yaml index ed27e10d..ffc062d9 100644 --- a/flutter_vlc_player_platform_interface/pubspec.yaml +++ b/flutter_vlc_player_platform_interface/pubspec.yaml @@ -18,4 +18,4 @@ dev_dependencies: sdk: flutter mockito: ^5.3.2 - solid_lints: ^0.2.3 + solid_lints: ^0.3.0