├── .gitattributes
├── .github
├── FUNDING.yml
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .gitlab
└── issue_templates
│ ├── bug.md
│ └── feature_request.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── NEWS
├── README.md
├── buildsystem
├── azure-pipelines.yml
├── base-template.yml
├── build.cake
├── linux-build.yml
├── mac-build.yml
├── run-tests.sh
└── windows-build.yml
├── docs
├── android.md
├── best_practices.md
├── getting_started.md
├── home.md
├── how_do_I_do_X.md
├── libvlc_documentation.md
├── libvlc_preview.md
├── linux-setup.md
├── made_with_libvlcsharp.md
├── media_player_element.md
├── migrating_from_Vlc.DotNet.md
├── troubleshooting.md
├── tutorials.md
└── versioning.md
├── samples
├── Forms
│ ├── LibVLCSharp.Forms.MediaElement
│ │ ├── LibVLCSharp.Forms.Sample.MediaElement.Android
│ │ │ ├── Assets
│ │ │ │ ├── AboutAssets.txt
│ │ │ │ ├── FontAwesome5Brands.otf
│ │ │ │ ├── FontAwesome5Regular.otf
│ │ │ │ └── FontAwesome5Solid.otf
│ │ │ ├── LibVLCSharp.Forms.Sample.MediaElement.Android.csproj
│ │ │ ├── MainActivity.cs
│ │ │ ├── Properties
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Resources
│ │ │ │ ├── AboutResources.txt
│ │ │ │ ├── Resource.designer.cs
│ │ │ │ ├── layout
│ │ │ │ ├── Tabbar.axml
│ │ │ │ └── Toolbar.axml
│ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── icon.xml
│ │ │ │ └── icon_round.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── launcher_foreground.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── launcher_foreground.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── launcher_foreground.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── launcher_foreground.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── launcher_foreground.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ ├── LibVLCSharp.Forms.Sample.MediaElement.iOS
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Entitlements.plist
│ │ │ ├── Info.plist
│ │ │ ├── LibVLCSharp.Forms.Sample.MediaElement.iOS.csproj
│ │ │ ├── Main.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Resources
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ ├── Default@2x.png
│ │ │ │ ├── FontAwesome5Brands.otf
│ │ │ │ ├── FontAwesome5Regular.otf
│ │ │ │ ├── FontAwesome5Solid.otf
│ │ │ │ ├── Icon-60@2x.png
│ │ │ │ ├── Icon-60@3x.png
│ │ │ │ ├── Icon-76.png
│ │ │ │ ├── Icon-76@2x.png
│ │ │ │ ├── Icon-Small-40.png
│ │ │ │ ├── Icon-Small-40@2x.png
│ │ │ │ ├── Icon-Small-40@3x.png
│ │ │ │ ├── Icon-Small.png
│ │ │ │ ├── Icon-Small@2x.png
│ │ │ │ ├── Icon-Small@3x.png
│ │ │ │ └── LaunchScreen.storyboard
│ │ └── LibVLCSharp.Forms.Sample.MediaElement
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── LibVLCSharp.Forms.Sample.MediaElement.csproj
│ │ │ ├── MainPage.xaml
│ │ │ ├── MainPage.xaml.cs
│ │ │ └── MainViewModel.cs
│ ├── LibVLCSharp.Forms.Sample.Android
│ │ ├── LibVLCSharp.Forms.Sample.Android.csproj
│ │ ├── MainActivity.cs
│ │ ├── Properties
│ │ │ ├── AndroidManifest.xml
│ │ │ └── AssemblyInfo.cs
│ │ └── Resources
│ │ │ ├── Resource.designer.cs
│ │ │ ├── drawable-hdpi
│ │ │ └── icon.png
│ │ │ ├── drawable-xhdpi
│ │ │ └── icon.png
│ │ │ ├── drawable-xxhdpi
│ │ │ └── icon.png
│ │ │ ├── drawable
│ │ │ └── icon.png
│ │ │ ├── layout
│ │ │ ├── Main.axml
│ │ │ ├── Tabbar.axml
│ │ │ └── Toolbar.axml
│ │ │ ├── mipmap-hdpi
│ │ │ └── Icon.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── Icon.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── Icon.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── Icon.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── Icon.png
│ │ │ └── values
│ │ │ ├── Strings.xml
│ │ │ └── styles.xml
│ ├── LibVLCSharp.Forms.Sample.GTK
│ │ ├── App.config
│ │ ├── LibVLCSharp.Forms.Sample.GTK.csproj
│ │ ├── OpenTK.dll.config
│ │ ├── Program.cs
│ │ ├── packages.config
│ │ └── webkit-sharp.dll.config
│ ├── LibVLCSharp.Forms.Sample.Mac
│ │ ├── AppDelegate.cs
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── AppIcon-128.png
│ │ │ │ ├── AppIcon-128@2x.png
│ │ │ │ ├── AppIcon-16.png
│ │ │ │ ├── AppIcon-16@2x.png
│ │ │ │ ├── AppIcon-256.png
│ │ │ │ ├── AppIcon-256@2x.png
│ │ │ │ ├── AppIcon-32.png
│ │ │ │ ├── AppIcon-32@2x.png
│ │ │ │ ├── AppIcon-512.png
│ │ │ │ ├── AppIcon-512@2x.png
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Entitlements.plist
│ │ ├── Info.plist
│ │ ├── LibVLCSharp.Forms.Sample.Mac.csproj
│ │ ├── Main.cs
│ │ ├── Main.storyboard
│ │ ├── ViewController.cs
│ │ ├── ViewController.designer.cs
│ │ └── packages.config
│ ├── LibVLCSharp.Forms.Sample.iOS
│ │ ├── AppDelegate.cs
│ │ ├── Entitlements.plist
│ │ ├── Info.plist
│ │ ├── LibVLCSharp.Forms.Sample.iOS.csproj
│ │ ├── Main.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── Resources
│ │ │ ├── Default-568h@2x.png
│ │ │ ├── Default-Portrait.png
│ │ │ ├── Default-Portrait@2x.png
│ │ │ ├── Default.png
│ │ │ ├── Default@2x.png
│ │ │ ├── Icon-60@2x.png
│ │ │ ├── Icon-60@3x.png
│ │ │ ├── Icon-76.png
│ │ │ ├── Icon-76@2x.png
│ │ │ ├── Icon-Small-40.png
│ │ │ ├── Icon-Small-40@2x.png
│ │ │ ├── Icon-Small-40@3x.png
│ │ │ ├── Icon-Small.png
│ │ │ ├── Icon-Small@2x.png
│ │ │ ├── Icon-Small@3x.png
│ │ │ └── LaunchScreen.storyboard
│ ├── LibVLCSharp.Forms.Sample
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── LibVLCSharp.Forms.Sample.csproj
│ │ ├── MainPage.xaml
│ │ ├── MainPage.xaml.cs
│ │ └── MainViewModel.cs
│ └── LibVLCSharp.Forms.WPF.Sample
│ │ ├── App.config
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── LibVLCSharp.Forms.Sample.WPF.csproj
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── OpenTK.dll.config
│ │ └── packages.config
├── LibVLCSharp.Android.Sample
│ ├── LibVLCSharp.Android.Sample.csproj
│ ├── MainActivity.cs
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
│ └── Resources
│ │ ├── Resource.Designer.cs
│ │ ├── layout
│ │ └── Main.axml
│ │ └── values
│ │ └── Strings.xml
├── LibVLCSharp.Avalonia.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ └── avalonia-logo.ico
│ ├── LibVLCSharp.Avalonia.Sample.csproj
│ ├── Program.cs
│ ├── README.md
│ ├── ViewLocator.cs
│ ├── ViewModels
│ │ ├── MainWindowViewModel.cs
│ │ └── ViewModelBase.cs
│ ├── Views
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── VideoPlayer.axaml
│ │ └── VideoPlayer.axaml.cs
│ ├── app.manifest
│ └── nuget.config
├── LibVLCSharp.Eto.Sample
│ ├── Info.plist
│ ├── LibVLCSharp.Eto.Sample.csproj
│ ├── MacIcon.icns
│ ├── MainForm.cs
│ └── Program.cs
├── LibVLCSharp.FSharp.Sample
│ ├── LibVLCSharp.FSharp.Sample.fsproj
│ └── Program.fs
├── LibVLCSharp.GTK.Sample
│ ├── LibVLCSharp.GTK.Sample.csproj
│ └── Program.cs
├── LibVLCSharp.MAUI.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── AppShell.xaml
│ ├── AppShell.xaml.cs
│ ├── LibVLCSharp.MAUI.Sample.csproj
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── MainViewModel.cs
│ ├── MauiProgram.cs
│ ├── Platforms
│ │ ├── Android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── MainActivity.cs
│ │ │ ├── MainApplication.cs
│ │ │ └── Resources
│ │ │ │ └── values
│ │ │ │ └── colors.xml
│ │ ├── MacCatalyst
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Info.plist
│ │ │ └── Program.cs
│ │ ├── Tizen
│ │ │ ├── Main.cs
│ │ │ └── tizen-manifest.xml
│ │ ├── Windows
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── Package.appxmanifest
│ │ │ └── app.manifest
│ │ └── iOS
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Info.plist
│ │ │ └── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ └── Resources
│ │ ├── AppIcon
│ │ ├── appicon.svg
│ │ └── appiconfg.svg
│ │ ├── Fonts
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Semibold.ttf
│ │ ├── Images
│ │ └── dotnet_bot.svg
│ │ ├── Raw
│ │ └── AboutAssets.txt
│ │ ├── Splash
│ │ └── splash.svg
│ │ └── Styles
│ │ ├── Colors.xaml
│ │ └── Styles.xaml
├── LibVLCSharp.Mac.Sample
│ ├── AppDelegate.cs
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── AppIcon-128.png
│ │ │ ├── AppIcon-128@2x.png
│ │ │ ├── AppIcon-16.png
│ │ │ ├── AppIcon-16@2x.png
│ │ │ ├── AppIcon-256.png
│ │ │ ├── AppIcon-256@2x.png
│ │ │ ├── AppIcon-32.png
│ │ │ ├── AppIcon-32@2x.png
│ │ │ ├── AppIcon-512.png
│ │ │ ├── AppIcon-512@2x.png
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── LibVLCSharp.Mac.Sample.csproj
│ ├── Main.cs
│ ├── Main.storyboard
│ ├── ViewController.cs
│ ├── ViewController.designer.cs
│ └── packages.config
├── LibVLCSharp.NetCore.Sample
│ ├── App.config
│ ├── LibVLCSharp.NetCore.Sample.csproj
│ └── Program.cs
├── LibVLCSharp.UWP.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ ├── StoreLogo.png
│ │ └── Wide310x150Logo.scale-200.png
│ ├── LibVLCSharp.UWP.Sample.csproj
│ ├── LibVLCSharp.UWP.Sample_TemporaryKey.pfx
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── MainViewModel.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ └── RelayCommand.cs
├── LibVLCSharp.WPF.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Controls.xaml
│ ├── Controls.xaml.cs
│ ├── Example1.xaml
│ ├── Example1.xaml.cs
│ ├── Example2.xaml
│ ├── Example2.xaml.cs
│ ├── LibVLCSharp.WPF.Sample.csproj
│ ├── MainWindow.xaml
│ └── MainWindow.xaml.cs
├── LibVLCSharp.WinForms.Sample
│ ├── App.Designer.cs
│ ├── App.config
│ ├── Form1.Designer.cs
│ ├── Form1.cs
│ ├── LibVLCSharp.WinForms.Sample.csproj
│ ├── Program.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ └── packages.Designer.cs
├── LibVLCSharp.WinUI.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ ├── StoreLogo.png
│ │ └── Wide310x150Logo.scale-200.png
│ ├── LibVLCSharp.WinUI.Sample.csproj
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ │ └── launchSettings.json
│ └── app.manifest
├── LibVLCSharp.Windows.Net40.Sample
│ ├── LibVLCSharp.Windows.Net40.Sample.csproj
│ ├── Program.cs
│ └── app.config
├── LibVLCSharp.iOS.Sample
│ ├── AppDelegate.cs
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── LibVLCSharp.iOS.Sample.csproj
│ ├── Main.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Resources
│ │ └── LaunchScreen.xib
│ ├── ViewController.cs
│ └── packages.config
├── LibVLCSharp.tvOS.Sample
│ ├── AppDelegate.cs
│ ├── Assets.xcassets
│ │ ├── App Icon & Top Shelf Image.brandassets
│ │ │ ├── App Icon - Large.imagestack
│ │ │ │ ├── Back.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Front.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Middle.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ ├── App Icon - Small.imagestack
│ │ │ │ ├── Back.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Front.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Middle.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── Top Shelf Image Wide.imageset
│ │ │ │ └── Contents.json
│ │ │ └── Top Shelf Image.imageset
│ │ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── LaunchImages.launchimage
│ │ │ └── Contents.json
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── LibVLCSharp.tvOS.Sample.csproj
│ ├── Main.cs
│ ├── Main.storyboard
│ ├── ViewController.cs
│ └── packages.config
├── MAUI
│ └── LibVLCSharp.MAUI.Sample.MediaElement
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── AppShell.xaml
│ │ ├── AppShell.xaml.cs
│ │ ├── LibVLCSharp.MAUI.Sample.MediaElement.csproj
│ │ ├── MainPage.xaml
│ │ ├── MainPage.xaml.cs
│ │ ├── MainViewModel.cs
│ │ ├── MauiProgram.cs
│ │ ├── Platforms
│ │ ├── Android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── MainActivity.cs
│ │ │ ├── MainApplication.cs
│ │ │ └── Resources
│ │ │ │ └── values
│ │ │ │ └── colors.xml
│ │ ├── MacCatalyst
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Info.plist
│ │ │ └── Program.cs
│ │ ├── Windows
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── Package.appxmanifest
│ │ │ └── app.manifest
│ │ └── iOS
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Info.plist
│ │ │ └── Program.cs
│ │ ├── Properties
│ │ └── launchSettings.json
│ │ └── Resources
│ │ ├── AppIcon
│ │ ├── appicon.svg
│ │ └── appiconfg.svg
│ │ ├── Fonts
│ │ ├── OpenSans-Regular.ttf
│ │ └── OpenSans-Semibold.ttf
│ │ ├── Images
│ │ └── dotnet_bot.svg
│ │ ├── Raw
│ │ └── AboutAssets.txt
│ │ ├── Splash
│ │ └── splash.svg
│ │ └── Styles
│ │ ├── Colors.xaml
│ │ └── Styles.xaml
└── Uno
│ └── LibVLCSharp.Uno.WinUI.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ ├── Fonts
│ │ ├── regular.otf
│ │ └── solid.otf
│ ├── Icons
│ │ ├── icon.svg
│ │ └── icon_foreground.svg
│ ├── SharedAssets.md
│ └── Splash
│ │ └── splash_screen.svg
│ ├── GlobalUsings.cs
│ ├── LibVLCSharp.Uno.WinUI.Sample.csproj
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── MainViewModel.cs
│ ├── Package.appxmanifest
│ ├── Platforms
│ ├── Android
│ │ ├── AndroidManifest.xml
│ │ ├── Assets
│ │ │ └── AboutAssets.txt
│ │ ├── Main.Android.cs
│ │ ├── MainActivity.Android.cs
│ │ ├── Resources
│ │ │ ├── AboutResources.txt
│ │ │ └── values
│ │ │ │ ├── Strings.xml
│ │ │ │ └── Styles.xml
│ │ └── environment.conf
│ └── iOS
│ │ ├── Entitlements.plist
│ │ ├── Info.plist
│ │ ├── Main.iOS.cs
│ │ ├── Media.xcassets
│ │ └── LaunchImages.launchimage
│ │ │ └── Contents.json
│ │ └── PrivacyInfo.xcprivacy
│ ├── Properties
│ └── launchSettings.json
│ ├── Strings
│ └── en
│ │ └── Resources.resw
│ ├── app.manifest
│ └── readme.md
└── src
├── .editorconfig
├── Directory.Build.props
├── LibVLCSharp.Android.AWindow
├── Directory.build.props
├── Jars
│ └── org.videolan.libvlc.aar
├── LibVLCSharp.Android.AWindow.csproj
├── LibVLCSharp.Android.AWindow.sln
├── Properties
│ └── AssemblyInfo.cs
├── README.md
├── Transforms
│ ├── EnumFields.xml
│ ├── EnumMethods.xml
│ └── Metadata.xml
└── copy.targets
├── LibVLCSharp.Android.AWindowModern
├── Additions
│ └── AboutAdditions.txt
├── Jars
│ └── org.videolan.libvlc.aar
├── LibVLCSharp.Android.AWindowModern.csproj
├── README.md
└── Transforms
│ ├── EnumFields.xml
│ ├── EnumMethods.xml
│ └── Metadata.xml
├── LibVLCSharp.Avalonia
├── LibVLCSharp.Avalonia.csproj
├── README.md
├── VideoView.cs
└── nuget.config
├── LibVLCSharp.Eto
├── LibVLCSharp.Eto.csproj
├── README.md
└── VideoView.cs
├── LibVLCSharp.Forms.Platforms.GTK
├── LibVLCSharp.Forms.Platforms.GTK.csproj
├── README.md
└── VideoViewRenderer.cs
├── LibVLCSharp.Forms.Platforms.WPF
├── LibVLCSharp.Forms.Platforms.WPF.csproj
├── OpenTK.dll.config
├── Platform.cs
├── PowerManager.cs
├── README.md
├── VideoViewRenderer.cs
├── app.config
└── packages.config
├── LibVLCSharp.Forms
├── LibVLCSharp.Forms.csproj
├── Platforms
│ ├── Android
│ │ ├── OrientationHandler.cs
│ │ ├── Platform.cs
│ │ ├── PowerManager.cs
│ │ ├── SystemUI.cs
│ │ └── VideoViewRenderer.cs
│ └── Apple
│ │ ├── OrientationChangeListener.cs
│ │ ├── OrientationHandler.cs
│ │ ├── Platform.cs
│ │ ├── PowerManager.cs
│ │ └── VideoViewRenderer.cs
├── README.md
└── Shared
│ ├── Converters
│ ├── BufferingProgressToBoolConverter.cs
│ └── ObjectToBoolConverter.cs
│ ├── Dispatcher.cs
│ ├── DisplayInformation.cs
│ ├── DisplayRequest.cs
│ ├── Effects
│ └── ClickEffect.cs
│ ├── IOrientationHandler.cs
│ ├── IPowerManager.cs
│ ├── ISystemUI.cs
│ ├── LibVLCSharpFormsRenderer.cs
│ ├── LifecycleMessage.cs
│ ├── MediaPlayerElement.xaml
│ ├── MediaPlayerElement.xaml.cs
│ ├── PlaybackControls.xaml
│ ├── PlaybackControls.xaml.cs
│ ├── Resources
│ ├── Strings.Designer.cs
│ ├── Strings.fr.resx
│ └── Strings.resx
│ ├── SwipeToUnLockView.cs
│ ├── Themes
│ ├── Generic.xaml
│ └── Generic.xaml.cs
│ ├── TrackViewModel.cs
│ ├── VideoView.cs
│ └── VisualTreeHelper.cs
├── LibVLCSharp.GTK
├── LibVLCSharp.GTK.csproj
├── README.md
└── VideoView.cs
├── LibVLCSharp.MAUI
├── AppHostBuilderExtensions.cs
├── Converters
│ ├── BufferingProgressToBoolConverter.cs
│ └── ObjectToBoolConverter.cs
├── Dispatcher.cs
├── DisplayInformation.cs
├── DisplayRequest.cs
├── Effects
│ └── ClickEffect.cs
├── Handlers
│ └── VideoViewHandler.cs
├── IOrientationHandler.cs
├── IPowerManager.cs
├── ISystemUI.cs
├── LibVLCSharp.MAUI.csproj
├── MediaPlayerElement.xaml
├── MediaPlayerElement.xaml.cs
├── PlaybackControls.xaml
├── PlaybackControls.xaml.cs
├── Properties
│ └── AssemblyInfo.cs
├── README.md
├── Resources
│ ├── FontAwesomeCodes.cs
│ ├── Fonts
│ │ ├── FontAwesome5Brands.otf
│ │ └── FontAwesome5Solid.otf
│ ├── Strings.Designer.cs
│ ├── Strings.fr.resx
│ └── Strings.resx
├── SwipeToUnLockView.cs
├── Themes
│ ├── Generic.xaml
│ └── Generic.xaml.cs
├── TrackViewModel.cs
├── VideoView.cs
├── VideoViewHandler.cs
└── VisualTreeHelper.cs
├── LibVLCSharp.Mac.slnx
├── LibVLCSharp.Tests
├── BaseSetup.cs
├── CoreLoadingTests.cs
├── DialogTests.cs
├── EqualizerTests.cs
├── EventManagerTests.cs
├── LibVLCAPICoverage.cs
├── LibVLCSharp.Tests.csproj
├── LibVLCTests.cs
├── MediaDiscovererTests.cs
├── MediaListTests.cs
├── MediaPlayerTests.cs
├── MediaTests.cs
├── Program.cs
├── RendererDiscovererTests.cs
├── motörhead.mp3
└── sample.mp3
├── LibVLCSharp.Uno
├── ActionCommand.cs
├── AvailabilityCommand.cs
├── DispatcherAdapter.cs
├── DisplayInformation.cs
├── DisplayRequestAdapter.cs
├── FontAwesome.cs
├── IVideoView.cs
├── InitializedEventArgs.cs
├── LibVLCSharp.Uno.csproj
├── MediaPlayerElement.cs
├── PlaybackControls.Android.iOS.cs
├── PlaybackControls.UWP.cs
├── PlaybackControlsBase.cs
├── README.md
├── Strings
│ ├── en-US
│ │ └── Resources.resw
│ └── fr-FR
│ │ └── Resources.resw
├── SuspensionHelper.cs
├── Themes
│ ├── Generic.xaml
│ ├── MediaPlayerElement.xaml
│ ├── PlaybackControls.xaml
│ └── VideoView.Android.iOS.xaml
├── TracksMenu.cs
├── VideoView.Android.cs
├── VideoView.UWP.cs
├── VideoView.iOS.cs
├── VideoViewWrapper.Android.iOS.cs
└── filtered.layout.resfiles
├── LibVLCSharp.WPF
├── ForegroundWindow.cs
├── LibVLCSharp.WPF.csproj
├── Properties
│ └── AssemblyInfo.cs
├── README.md
├── Themes
│ └── Generic.xaml
├── User32Wrapper.cs
├── VideoHwndHost.cs
└── VideoView.cs
├── LibVLCSharp.Win32.slnx
├── LibVLCSharp.WinForms
├── LibVLCSharp.WinForms.csproj
├── README.md
└── VideoView.cs
├── LibVLCSharp.slnx
├── LibVLCSharp
├── LibVLCSharp.csproj
├── Platforms
│ ├── Android
│ │ ├── LayoutChangeListener.cs
│ │ └── VideoView.cs
│ ├── Apple
│ │ └── VideoView.cs
│ └── Windows
│ │ ├── InitializedEventArgs.cs
│ │ ├── VideoView.cs
│ │ ├── VideoViewBase.cs
│ │ └── VideoViewOfTInitializedEventArgs.cs
├── Properties
│ └── AssemblyInfo.cs
├── README.md
├── Shared
│ ├── Core
│ │ ├── Constants.cs
│ │ ├── Core.Android.cs
│ │ ├── Core.Apple.cs
│ │ ├── Core.Desktop.cs
│ │ ├── Core.UWP.cs
│ │ └── Core.cs
│ ├── Dialog.cs
│ ├── Equalizer.cs
│ ├── Events
│ │ ├── EventManager.cs
│ │ ├── MediaDiscovererEventManager.cs
│ │ ├── MediaEventManager.cs
│ │ ├── MediaListEventManager.cs
│ │ ├── MediaPlayerChangedEventArgs.cs
│ │ ├── MediaPlayerChangingEventArgs.cs
│ │ ├── MediaPlayerEventManager.cs
│ │ └── RendererDiscovererEventManager.cs
│ ├── Helpers
│ │ ├── MarshalExtensions.cs
│ │ ├── MarshalUtils.cs
│ │ └── PlatformHelper.cs
│ ├── IVideoControl.cs
│ ├── IVideoView.cs
│ ├── Internal.cs
│ ├── LibVLC.cs
│ ├── LibVLCEvents.cs
│ ├── Media.cs
│ ├── MediaConfiguration.cs
│ ├── MediaDiscoverer.cs
│ ├── MediaInput.cs
│ ├── MediaList.cs
│ ├── MediaPlayer.cs
│ ├── MediaPlayerElement
│ │ ├── AspectRatio.cs
│ │ ├── AspectRatioManager.cs
│ │ ├── AudioTracksManager.cs
│ │ ├── AutoHideNotifier.cs
│ │ ├── BufferingProgressNotifier.cs
│ │ ├── CastRenderersDiscoverer.cs
│ │ ├── DeviceAwakeningManager.cs
│ │ ├── FontAwesomeIcons.cs
│ │ ├── IDispatcher.cs
│ │ ├── IDisplayInformation.cs
│ │ ├── IDisplayRequest.cs
│ │ ├── MediaPlayerElementManager.cs
│ │ ├── MediaPlayerElementManagerBase.cs
│ │ ├── MediaPosition.cs
│ │ ├── SeekBarManager.cs
│ │ ├── StateManager.cs
│ │ ├── SubtitlesTracksManager.cs
│ │ ├── TimeSpanExtensions.cs
│ │ ├── TracksManager.cs
│ │ ├── VideoTracksManager.cs
│ │ └── VolumeManager.cs
│ ├── RendererDiscoverer.cs
│ ├── StreamMediaInput.cs
│ ├── Structures
│ │ ├── AudioOutputDescription.cs
│ │ ├── AudioOutputDevice.cs
│ │ ├── ChapterDescription.cs
│ │ ├── MediaDiscovererDescription.cs
│ │ ├── MediaSlave.cs
│ │ ├── MediaStats.cs
│ │ ├── MediaTrack.cs
│ │ ├── MediaTrackData.cs
│ │ ├── ModuleDescription.cs
│ │ ├── RendererDescription.cs
│ │ ├── TrackDescription.cs
│ │ └── VideoViewpoint.cs
│ └── VLCException.cs
└── Themes
│ └── Generic.xaml
├── assets
├── banner.png
├── banner.svg
├── icon.png
├── icon.svg
└── media-element.jpg
└── global.json
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | custom: https://videolabs.io/store/libvlcsharp
--------------------------------------------------------------------------------
/.gitlab/issue_templates/feature_request.md:
--------------------------------------------------------------------------------
1 |
13 |
14 | ### Problem to solve
15 |
16 |
17 |
18 | ### Intended users
19 |
20 |
21 |
22 | ### Proposal
23 |
24 |
25 |
26 |
27 | ### Documentation
28 |
29 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | Please follow the VideoLAN Code of Conduct: https://wiki.videolan.org/Code_of_Conduct/
--------------------------------------------------------------------------------
/buildsystem/base-template.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - task: UseDotNet@2
3 | displayName: 'Use .NET Core SDK'
4 | inputs:
5 | packageType: sdk
6 | version: 9.0.201
7 |
8 | - bash: |
9 | dotnet workload install android
10 | dotnet workload install ios
11 | dotnet workload install macos
12 | dotnet workload install tvos
13 | dotnet workload install maui-android
14 | dotnet workload install maui-ios
15 | displayName: 'Install mobile workloads'
16 | condition: ne( variables['Agent.OS'], 'Linux' )
17 |
18 | - task: DotNetCoreCLI@2
19 | displayName: 'Install Cake'
20 | inputs:
21 | command: custom
22 | custom: 'tool'
23 | arguments: 'install cake.tool --global'
24 |
--------------------------------------------------------------------------------
/buildsystem/linux-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: base-template.yml
3 |
4 | - task: DotNetCoreCLI@2
5 | displayName: 'dotnet build'
6 | inputs:
7 | projects: src/LibVLCSharp/LibVLCSharp.csproj
8 | arguments: '-c Release'
--------------------------------------------------------------------------------
/buildsystem/mac-build.yml:
--------------------------------------------------------------------------------
1 | steps:
2 | - template: base-template.yml
3 |
4 | - script: dotnet build src/LibVLCSharp.Mac.slnx -c Release
5 | displayName: 'Build solution'
--------------------------------------------------------------------------------
/buildsystem/run-tests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | dotnet run --project LibVLCSharp.Tests/LibVLCSharp.Tests.csproj
--------------------------------------------------------------------------------
/docs/android.md:
--------------------------------------------------------------------------------
1 | # Android
2 |
3 | This page is about the Android specifics in LibVLCSharp and LibVLC.
4 |
5 | ## How do I use R8?
6 |
7 | - Create a new file in your Xamarin.Android app root named "r8.cfg".
8 | - In this file properties, set the Build Action to "ProguardConfiguration".
9 |
10 | In this file, add the following lines:
11 |
12 | ```
13 | -keep class org.videolan.** { *; }
14 | -dontwarn org.videolan.**
15 | ```
16 |
17 | https://code.videolan.org/videolan/LibVLCSharp/issues/255#note_55737
--------------------------------------------------------------------------------
/docs/libvlc_documentation.md:
--------------------------------------------------------------------------------
1 | # LibVLC Documentation
2 |
3 | [Back](home.md)
4 |
5 | - [LibVLC on NuGet](#libvlc-on-nuget)
6 | - [LibVLC versions and differences](#libvlc-versioning)
7 |
8 | LibVLCSharp is based on LibVLC, so most of the LibVLC API documentation is very relevant to your experience using LibVLCSharp.
9 |
10 | You can find it here [LibVLC Doc](https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc.html). It currently tracks VLC master (4.0). The search box at the top right allows you to search for LibVLC C API functions and get doc on it. You can also check out documentation from the LibVLC header files directly from the [VLC source code](https://code.videolan.org/videolan/vlc/tree/master/include/vlc).
11 |
12 | ## LibVLC on NuGet
13 |
14 | LibVLC is being distributed on NuGet from the [VideoLAN account](https://www.nuget.org/profiles/videolan).
15 |
16 | The packaging files and more packages details can be found at https://code.videolan.org/videolan/libvlc-nuget
17 |
18 | ## LibVLC Versioning
19 |
20 | Check out our [versioning docs](versioning.md).
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with you package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Brands.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Brands.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Regular.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Solid.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Assets/FontAwesome5Solid.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-anydpi-v26/icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-anydpi-v26/icon_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-hdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-hdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-hdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-mdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-mdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-mdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xhdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxhdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 | #3F51B5
5 | #303F9F
6 | #FF4081
7 |
8 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace LibVLCSharp.Forms.Sample.MediaElement.iOS
4 | {
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, "AppDelegate");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Default@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Brands.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Brands.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Regular.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Solid.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/FontAwesome5Solid.otf
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-60@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-60@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-76.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-76@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement.iOS/Resources/Icon-Small@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.MediaElement/LibVLCSharp.Forms.Sample.MediaElement/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace LibVLCSharp.Forms.Sample.MediaPlayerElement
4 | {
5 | ///
6 | /// Represents the main page.
7 | ///
8 | public partial class MainPage : ContentPage
9 | {
10 | ///
11 | /// Initializes a new instance of class.
12 | ///
13 | public MainPage()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | void OnAppearing(object sender, System.EventArgs e)
19 | {
20 | base.OnAppearing();
21 | ((MainViewModel)BindingContext).OnAppearing();
22 | }
23 |
24 | void OnDisappearing(object sender, System.EventArgs e)
25 | {
26 | base.OnDisappearing();
27 | ((MainViewModel)BindingContext).OnDisappearing();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 | using LibVLCSharp.Forms.Shared;
5 |
6 | namespace LibVLCSharp.Forms.Sample.Droid
7 | {
8 | [Activity(Label = "LibVLCSharp.Forms.Sample", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
9 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
10 | {
11 | protected override void OnCreate(Bundle bundle)
12 | {
13 | TabLayoutResource = Resource.Layout.Tabbar;
14 | ToolbarResource = Resource.Layout.Toolbar;
15 |
16 | base.OnCreate(bundle);
17 |
18 | LibVLCSharpFormsRenderer.Init();
19 | global::Xamarin.Forms.Forms.Init(this, bundle);
20 | LoadApplication(new App());
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/layout/Main.axml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-hdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-hdpi/Icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-mdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-mdpi/Icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xhdpi/Icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xxhdpi/Icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xxxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/mipmap-xxxhdpi/Icon.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Android/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World, Click Me!
4 | LibVLCSharp.Forms.Sample.Droid
5 |
6 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.GTK/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.GTK/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using LibVLCSharp.Forms.Shared;
3 | using LibVLCSharp.Shared;
4 | using Xamarin.Forms.Platform.GTK;
5 |
6 | namespace LibVLCSharp.Forms.Sample.GTK
7 | {
8 | public class Program
9 | {
10 | [STAThread]
11 | public static void Main(string[] args)
12 | {
13 | global::Gtk.Application.Init();
14 | LibVLCSharpFormsRenderer.Init();
15 |
16 | // For some reason, Xamarin does not pick the LibVLCSharp.Form.Platforms.Gtk assembly as a renderer assembly.
17 | // Add it manually.
18 | global::Xamarin.Forms.Forms.Init(new[] { typeof(LibVLCSharp.Forms.Platforms.GTK.VideoViewRenderer).Assembly });
19 |
20 | var app = new App();
21 | var window = new FormsWindow();
22 | window.LoadApplication(app);
23 | window.SetApplicationTitle("GTK# LibVLCSharp.Forms sample");
24 | window.Show();
25 |
26 | global::Gtk.Application.Run();
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.GTK/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.GTK/webkit-sharp.dll.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | LibVLCSharp.Forms.Sample.Mac
7 | CFBundleIdentifier
8 | com.xamarin.LibVLCSharp-Forms-Sample-Mac
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1
13 | LSMinimumSystemVersion
14 | 10.13
15 | CFBundleDevelopmentRegion
16 | en
17 | CFBundleInfoDictionaryVersion
18 | 6.0
19 | CFBundlePackageType
20 | APPL
21 | CFBundleSignature
22 | ????
23 | NSHumanReadableCopyright
24 |
25 | NSPrincipalClass
26 | NSApplication
27 | XSAppIconAssets
28 | Assets.xcassets/AppIcon.appiconset
29 |
30 |
31 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/Main.cs:
--------------------------------------------------------------------------------
1 | using AppKit;
2 |
3 | namespace LibVLCSharp.Forms.Sample.Mac
4 | {
5 | static class MainClass
6 | {
7 | static void Main(string[] args)
8 | {
9 | NSApplication.Init();
10 | NSApplication.SharedApplication.Delegate = new AppDelegate();
11 | NSApplication.Main(args);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/ViewController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using AppKit;
4 | using Foundation;
5 |
6 | namespace LibVLCSharp.Forms.Sample.Mac
7 | {
8 | public partial class ViewController : NSViewController
9 | {
10 | public ViewController(IntPtr handle) : base(handle)
11 | {
12 | }
13 |
14 | public override void ViewDidLoad()
15 | {
16 | base.ViewDidLoad();
17 |
18 | // Do any additional setup after loading the view.
19 | }
20 |
21 | public override NSObject RepresentedObject
22 | {
23 | get
24 | {
25 | return base.RepresentedObject;
26 | }
27 | set
28 | {
29 | base.RepresentedObject = value;
30 | // Update the view, if already loaded.
31 | }
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/ViewController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Xamarin Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 |
9 | namespace LibVLCSharp.Forms.Sample.Mac
10 | {
11 | [Register("ViewController")]
12 | partial class ViewController
13 | {
14 | void ReleaseDesignerOutlets()
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.Mac/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace LibVLCSharp.Forms.Sample.iOS
9 | {
10 | public class Application
11 | {
12 | // This is the main entry point of the application.
13 | static void Main(string[] args)
14 | {
15 | // if you want to use a different Application Delegate class from "AppDelegate"
16 | // you can specify it here.
17 | UIApplication.Main(args, null, "AppDelegate");
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Default@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-60@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-60@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-76.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-76@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small@2x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Forms/LibVLCSharp.Forms.Sample.iOS/Resources/Icon-Small@3x.png
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | using Xamarin.Forms;
7 |
8 | namespace LibVLCSharp.Forms.Sample
9 | {
10 | public partial class App : Application
11 | {
12 | public App ()
13 | {
14 | InitializeComponent();
15 |
16 | MainPage = new LibVLCSharp.Forms.Sample.MainPage();
17 | }
18 |
19 | protected override void OnStart ()
20 | {
21 | // Handle when your app starts
22 | }
23 |
24 | protected override void OnSleep ()
25 | {
26 | // Handle when your app sleeps
27 | }
28 |
29 | protected override void OnResume ()
30 | {
31 | // Handle when your app resumes
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample/LibVLCSharp.Forms.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | *.xaml
18 |
19 |
20 | *.xaml
21 |
22 |
23 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.Sample/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared;
2 | using Xamarin.Forms;
3 |
4 | namespace LibVLCSharp.Forms.Sample
5 | {
6 | public partial class MainPage : ContentPage
7 | {
8 | public MainPage()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | protected override void OnAppearing()
14 | {
15 | base.OnAppearing();
16 | ((MainViewModel)BindingContext).OnAppearing();
17 | }
18 |
19 | protected override void OnDisappearing()
20 | {
21 | base.OnDisappearing();
22 | ((MainViewModel)BindingContext).OnDisappearing();
23 | }
24 |
25 | private void VideoView_MediaPlayerChanged(object sender, MediaPlayerChangedEventArgs e)
26 | {
27 | ((MainViewModel)BindingContext).OnVideoViewInitialized();
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | namespace LibVLCSharp.Forms.WPF.Sample
4 | {
5 | public partial class App : Application
6 | {
7 | }
8 | }
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/LibVLCSharp.Forms.Sample.WPF.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | LibVLCSharp.Forms.Sample.WPF
4 | WinExe
5 | net47
6 | true
7 | LibVLCSharp.Forms.Sample.WPF
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Forms.Platforms.WPF;
2 | using LibVLCSharp.Forms.Shared;
3 | using System.Collections.Generic;
4 | using System.Reflection;
5 | using Xamarin.Forms.Platform.WPF;
6 |
7 | namespace LibVLCSharp.Forms.WPF.Sample
8 | {
9 | public partial class MainWindow : FormsApplicationPage
10 | {
11 | public MainWindow()
12 | {
13 | InitializeComponent();
14 | InitDependencies();
15 | Xamarin.Forms.Forms.Init();
16 | LoadApplication(new Forms.Sample.App());
17 | }
18 |
19 | void InitDependencies()
20 | {
21 | var init = new List
22 | {
23 | typeof(VideoView).Assembly,
24 | typeof(VideoViewRenderer).Assembly
25 | };
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/samples/Forms/LibVLCSharp.Forms.WPF.Sample/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Android.Sample/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Android.Sample/Resources/layout/Main.axml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Android.Sample/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | LibVLCSharp.Android.Sample
4 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Avalonia.Sample/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/Program.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.ReactiveUI;
3 |
4 | namespace LibVLCSharp.Avalonia.Sample
5 | {
6 | class Program
7 | {
8 | // Initialization code. Don't use any Avalonia, third-party APIs or any
9 | // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
10 | // yet and stuff might break.
11 | public static void Main(string[] args) => BuildAvaloniaApp()
12 | .StartWithClassicDesktopLifetime(args);
13 |
14 | // Avalonia configuration, don't remove; also used by visual designer.
15 | public static AppBuilder BuildAvaloniaApp()
16 | => AppBuilder.Configure()
17 | .UsePlatformDetect()
18 | .With(new SkiaOptions{ MaxGpuResourceSizeBytes = 8096000})
19 | .LogToTrace()
20 | .UseSkia()
21 | .UseReactiveUI();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Avalonia.Sample
2 |
3 | ## Windows
4 |
5 | The Windows project includes the appropriate NuGet package for the native Windows VLC runtime.
6 |
7 | ## MacOS
8 |
9 | The MacOS project includes the approprate NuGet package for the native MacOS VLC runtime.
10 |
11 | ## Linux
12 |
13 | The Linux project does not include any additional native NuGet packages.
14 |
15 | To run on linux, please refer to the [Linux guide](../../docs/linux-setup.md).
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/ViewLocator.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) The Avalonia Project. All rights reserved.
2 | // Licensed under the MIT license. See licence.md file in the project root for full license information.
3 |
4 | using System;
5 | using Avalonia.Controls;
6 | using Avalonia.Controls.Templates;
7 | using LibVLCSharp.Avalonia.Sample.ViewModels;
8 |
9 | namespace LibVLCSharp.Avalonia.Sample
10 | {
11 | public class ViewLocator : IDataTemplate
12 | {
13 | public bool SupportsRecycling => false;
14 |
15 | public Control Build(object data)
16 | {
17 | var name = data.GetType().FullName.Replace("ViewModel", "View");
18 | var type = Type.GetType(name);
19 |
20 | if (type != null)
21 | {
22 | return (Control)Activator.CreateInstance(type);
23 | }
24 | else
25 | {
26 | return new TextBlock { Text = "Not Found: " + name };
27 | }
28 | }
29 |
30 | public bool Match(object data)
31 | {
32 | return data is ViewModelBase;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using ReactiveUI;
2 |
3 | namespace LibVLCSharp.Avalonia.Sample.ViewModels
4 | {
5 | public class ViewModelBase : ReactiveObject
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/Views/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/Views/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Markup.Xaml;
3 |
4 | namespace LibVLCSharp.Avalonia.Sample.Views
5 | {
6 | public class MainWindow : Window
7 | {
8 | public MainWindow()
9 | {
10 | InitializeComponent();
11 | }
12 |
13 | private void InitializeComponent()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/Views/VideoPlayer.axaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Controls;
3 | using Avalonia.Input;
4 | using LibVLCSharp.Avalonia.Sample.ViewModels;
5 |
6 | namespace LibVLCSharp.Avalonia.Sample.Views
7 | {
8 | public partial class VideoPlayer : UserControl
9 | {
10 | public VideoPlayer()
11 | {
12 | InitializeComponent();
13 | }
14 |
15 | private void OnDataContextChanged(object sender, EventArgs e)
16 | {
17 | if (DataContext is MainWindowViewModel vm)
18 | {
19 | vm.Play();
20 | }
21 | }
22 |
23 | private void VideoViewOnPointerEntered(object sender, PointerEventArgs e)
24 | {
25 | ControlsPanel.IsVisible = true;
26 | }
27 |
28 | private void VideoViewOnPointerExited(object sender, PointerEventArgs e)
29 | {
30 | ControlsPanel.IsVisible = false;
31 | }
32 | }
33 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Avalonia.Sample/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Eto.Sample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | LibVLCSharp.Eto.Sample
7 | CFBundleIdentifier
8 | com.example.LibVLCSharp.Eto.Sample
9 | CFBundleShortVersionString
10 | 1.0
11 | LSMinimumSystemVersion
12 | 10.12
13 | CFBundleDevelopmentRegion
14 | en
15 | NSHumanReadableCopyright
16 |
17 | CFBundleIconFile
18 | MacIcon.icns
19 |
20 |
21 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Eto.Sample/MacIcon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Eto.Sample/MacIcon.icns
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Eto.Sample/Program.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace LibVLCSharp.Eto.Sample
3 | {
4 | using System;
5 | using global::Eto.Forms;
6 |
7 | public static class Program
8 | {
9 | [STAThread]
10 | public static void Main(string[] args)
11 | {
12 | try
13 | {
14 | new Application(global::Eto.Platform.Detect).Run(new MainForm());
15 | }
16 | catch (Exception ex)
17 | {
18 | MessageBox.Show(ex.Message, "Exception !", MessageBoxType.Error);
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.FSharp.Sample/LibVLCSharp.FSharp.Sample.fsproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | netcoreapp3.1
6 | $(DefineConstants);
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.FSharp.Sample/Program.fs:
--------------------------------------------------------------------------------
1 | open System
2 | open LibVLCSharp.Shared
3 |
4 | []
5 | let main argv =
6 | let libVLC = new LibVLC(true)
7 | let mp = new MediaPlayer(libVLC)
8 | let media = new Media(libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"))
9 | mp.Play(media) |> ignore
10 | media.Dispose()
11 | Console.ReadKey() |> ignore
12 | mp.Dispose()
13 | libVLC.Dispose()
14 | 0
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/App.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI.Sample
2 | {
3 | public partial class App : Application
4 | {
5 | public App()
6 | {
7 | InitializeComponent();
8 |
9 | MainPage = new AppShell();
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/AppShell.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/AppShell.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI.Sample
2 | {
3 | public partial class AppShell : Shell
4 | {
5 | public AppShell()
6 | {
7 | InitializeComponent();
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/MauiProgram.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.Logging;
2 |
3 | namespace LibVLCSharp.MAUI.Sample
4 | {
5 | public static class MauiProgram
6 | {
7 | public static MauiApp CreateMauiApp()
8 | {
9 | var builder = MauiApp.CreateBuilder();
10 | builder
11 | .UseMauiApp()
12 | .UseLibVLCSharp()
13 | .ConfigureFonts(fonts =>
14 | {
15 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
16 | fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
17 | });
18 |
19 | #if DEBUG
20 | builder.Logging.AddDebug();
21 | #endif
22 |
23 | return builder.Build();
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 |
5 | namespace LibVLCSharp.MAUI.Sample
6 | {
7 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
8 | public class MainActivity : MauiAppCompatActivity
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Runtime;
3 |
4 | namespace LibVLCSharp.MAUI.Sample
5 | {
6 | [Application]
7 | public class MainApplication : MauiApplication
8 | {
9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
10 | : base(handle, ownership)
11 | {
12 | }
13 |
14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
15 | }
16 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/MacCatalyst/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace LibVLCSharp.MAUI.Sample
4 | {
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/MacCatalyst/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UIRequiredDeviceCapabilities
11 |
12 | arm64
13 |
14 | UISupportedInterfaceOrientations
15 |
16 | UIInterfaceOrientationPortrait
17 | UIInterfaceOrientationLandscapeLeft
18 | UIInterfaceOrientationLandscapeRight
19 |
20 | UISupportedInterfaceOrientations~ipad
21 |
22 | UIInterfaceOrientationPortrait
23 | UIInterfaceOrientationPortraitUpsideDown
24 | UIInterfaceOrientationLandscapeLeft
25 | UIInterfaceOrientationLandscapeRight
26 |
27 | XSAppIconAssets
28 | Assets.xcassets/appicon.appiconset
29 |
30 |
31 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/MacCatalyst/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace LibVLCSharp.MAUI.Sample
5 | {
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Tizen/Main.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui;
2 | using Microsoft.Maui.Hosting;
3 | using System;
4 |
5 | namespace LibVLCSharp.MAUI.Sample
6 | {
7 | internal class Program : MauiApplication
8 | {
9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
10 |
11 | static void Main(string[] args)
12 | {
13 | var app = new Program();
14 | app.Run(args);
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Tizen/tizen-manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | maui-appicon-placeholder
7 |
8 |
9 |
10 |
11 | http://tizen.org/privilege/internet
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Windows/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Windows/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 |
3 | // To learn more about WinUI, the WinUI project structure,
4 | // and more about our project templates, see: http://aka.ms/winui-project-info.
5 |
6 | namespace LibVLCSharp.MAUI.Sample.WinUI
7 | {
8 | ///
9 | /// Provides application-specific behavior to supplement the default Application class.
10 | ///
11 | public partial class App : MauiWinUIApplication
12 | {
13 | ///
14 | /// Initializes the singleton application object. This is the first line of authored code
15 | /// executed, and as such is the logical equivalent of main() or WinMain().
16 | ///
17 | public App()
18 | {
19 | this.InitializeComponent();
20 | }
21 |
22 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
23 | }
24 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/Windows/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | true/PM
12 | PerMonitorV2, PerMonitor
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace LibVLCSharp.MAUI.Sample
4 | {
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace LibVLCSharp.MAUI.Sample
5 | {
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "Project",
5 | "nativeDebugging": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Resources/AppIcon/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.MAUI.Sample/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Resources/Fonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.MAUI.Sample/Resources/Fonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/samples/LibVLCSharp.MAUI.Sample/Resources/Raw/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories). Deployment of the asset to your application
3 | is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
4 |
5 |
6 |
7 | These files will be deployed with you package and will be accessible using Essentials:
8 |
9 | async Task LoadMauiAsset()
10 | {
11 | using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
12 | using var reader = new StreamReader(stream);
13 |
14 | var contents = reader.ReadToEnd();
15 | }
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using AppKit;
2 | using Foundation;
3 |
4 | namespace LibVLCSharp.Mac.Sample
5 | {
6 | [Register("AppDelegate")]
7 | public class AppDelegate : NSApplicationDelegate
8 | {
9 | public AppDelegate()
10 | {
11 | }
12 |
13 | public override void DidFinishLaunching(NSNotification notification)
14 | {
15 | // Insert code here to initialize your application
16 | }
17 |
18 | public override void WillTerminate(NSNotification notification)
19 | {
20 | // Insert code here to tear down your application
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | LibVLCSharp.Mac.Sample
7 | CFBundleIdentifier
8 | com.xamarin.LibVLCSharp-Mac-Sample
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1
13 | LSMinimumSystemVersion
14 | 10.13
15 | CFBundleDevelopmentRegion
16 | en
17 | CFBundleInfoDictionaryVersion
18 | 6.0
19 | CFBundlePackageType
20 | APPL
21 | CFBundleSignature
22 | ????
23 | NSHumanReadableCopyright
24 |
25 | NSPrincipalClass
26 | NSApplication
27 | NSMainStoryboardFile
28 | Main
29 | XSAppIconAssets
30 | Assets.xcassets/AppIcon.appiconset
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/Main.cs:
--------------------------------------------------------------------------------
1 | using AppKit;
2 |
3 | namespace LibVLCSharp.Mac.Sample
4 | {
5 | static class MainClass
6 | {
7 | static void Main(string[] args)
8 | {
9 | NSApplication.Init();
10 | NSApplication.Main(args);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/ViewController.designer.cs:
--------------------------------------------------------------------------------
1 | // WARNING
2 | //
3 | // This file has been generated automatically by Xamarin Studio to store outlets and
4 | // actions made in the UI designer. If it is removed, they will be lost.
5 | // Manual changes to this file may not be handled correctly.
6 | //
7 | using Foundation;
8 |
9 | namespace LibVLCSharp.Mac.Sample
10 | {
11 | [Register("ViewController")]
12 | partial class ViewController
13 | {
14 | void ReleaseDesignerOutlets()
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Mac.Sample/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.NetCore.Sample/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.NetCore.Sample/LibVLCSharp.NetCore.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net6.0;net6.0-windows
5 | netcoreapp3.1
6 | AnyCPU;x64;x86
7 | 8.0
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.NetCore.Sample/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using LibVLCSharp.Shared;
3 |
4 | namespace LibVLCSharp.NetCore.Sample
5 | {
6 | class Program
7 | {
8 | static void Main(string[] args)
9 | {
10 | using var libVLC = new LibVLC(enableDebugLogs: true);
11 | using var media = new Media(libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4"));
12 | using var mp = new MediaPlayer(media);
13 | mp.Play();
14 | Console.ReadKey();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/LibVLCSharp.UWP.Sample_TemporaryKey.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.UWP.Sample/LibVLCSharp.UWP.Sample_TemporaryKey.pfx
--------------------------------------------------------------------------------
/samples/LibVLCSharp.UWP.Sample/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using Windows.UI.Xaml.Controls;
2 |
3 | namespace LibVLCSharp.UWP.Sample
4 | {
5 | ///
6 | /// The main page of the application
7 | ///
8 | public sealed partial class MainPage : Page
9 | {
10 | ///
11 | /// Initializes a new instance of class
12 | public MainPage()
13 | {
14 | InitializeComponent();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 | using LibVLCSharp.Shared;
3 |
4 | namespace LibVLCSharp.WPF.Sample
5 | {
6 | public partial class App : Application
7 | {
8 | public App()
9 | {
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/Controls.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/Example1.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/Example1.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows;
3 |
4 | namespace LibVLCSharp.WPF.Sample
5 | {
6 | public partial class Example1 : Window
7 | {
8 | readonly Controls _controls;
9 |
10 | public Example1()
11 | {
12 | InitializeComponent();
13 |
14 | _controls = new Controls(this);
15 | VideoView.Content = _controls;
16 | }
17 |
18 | protected override void OnClosed(EventArgs e)
19 | {
20 | VideoView.Dispose();
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/Example2.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/LibVLCSharp.WPF.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | LibVLCSharp.WPF.Sample
4 | WinExe
5 | netcoreapp3.1;net6.0-windows
6 | true
7 | LibVLCSharp.WPF.Sample
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WPF.Sample/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | namespace LibVLCSharp.WPF.Sample
4 | {
5 | public partial class MainWindow : Window
6 | {
7 | public MainWindow()
8 | {
9 | InitializeComponent();
10 | Example1Btn.Click += Example1Btn_Click;
11 | Example2Btn.Click += Example2Btn_Click;
12 | }
13 |
14 | void Example1Btn_Click(object sender, RoutedEventArgs e)
15 | {
16 | var window = new Example1();
17 | window.Show();
18 | }
19 |
20 | void Example2Btn_Click(object sender, RoutedEventArgs e)
21 | {
22 | var window = new Example2();
23 | window.Show();
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinForms.Sample/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinForms.Sample/LibVLCSharp.WinForms.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | LibVLCSharp.WinForms.Sample
4 | WinExe
5 | netcoreapp3.1;net6.0-windows
6 | true
7 | LibVLCSharp.WinForms.Sample
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinForms.Sample/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace LibVLCSharp.WinForms.Sample
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// The main entry point for the application.
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | Application.Run(new Form1());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinForms.Sample/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/LibVLCSharp.WinUI.Sample/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "LibVLCSharp.WinUI.Sample (Package)": {
4 | "commandName": "MsixPackage",
5 | "nativeDebugging": true
6 | },
7 | "LibVLCSharp.WinUI.Sample (Unpackaged)": {
8 | "commandName": "Project",
9 | "nativeDebugging": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.WinUI.Sample/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | true/PM
12 | PerMonitorV2, PerMonitor
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Windows.Net40.Sample/LibVLCSharp.Windows.Net40.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net40
5 | 8.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Windows.Net40.Sample/Program.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared;
2 | using System;
3 |
4 | namespace LibVLCSharp.Windows.Net40.Sample
5 | {
6 | class Program
7 | {
8 | static void Main(string[] args)
9 | {
10 | using var libVLC = new LibVLC(enableDebugLogs: true);
11 | using var media = new Media(libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"));
12 | using var mp = new MediaPlayer(media);
13 | mp.Play();
14 |
15 | Console.ReadKey();
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.Windows.Net40.Sample/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.iOS.Sample/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.iOS.Sample/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace LibVLCSharp.iOS.Sample
4 | {
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, "AppDelegate");
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.iOS.Sample/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "layers" : [
3 | {
4 | "filename" : "Front.imagestacklayer"
5 | },
6 | {
7 | "filename" : "Middle.imagestacklayer"
8 | },
9 | {
10 | "filename" : "Back.imagestacklayer"
11 | }
12 | ],
13 | "info" : {
14 | "version" : 1,
15 | "author" : "xcode"
16 | }
17 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "layers" : [
3 | {
4 | "filename" : "Front.imagestacklayer"
5 | },
6 | {
7 | "filename" : "Middle.imagestacklayer"
8 | },
9 | {
10 | "filename" : "Back.imagestacklayer"
11 | }
12 | ],
13 | "info" : {
14 | "version" : 1,
15 | "author" : "xcode"
16 | }
17 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "assets" : [
3 | {
4 | "size" : "1280x768",
5 | "idiom" : "tv",
6 | "filename" : "App Icon - Large.imagestack",
7 | "role" : "primary-app-icon"
8 | },
9 | {
10 | "size" : "400x240",
11 | "idiom" : "tv",
12 | "filename" : "App Icon - Small.imagestack",
13 | "role" : "primary-app-icon"
14 | },
15 | {
16 | "size" : "2320x720",
17 | "idiom" : "tv",
18 | "filename" : "Top Shelf Image Wide.imageset",
19 | "role" : "top-shelf-image-wide"
20 | },
21 | {
22 | "size" : "1920x720",
23 | "idiom" : "tv",
24 | "filename" : "Top Shelf Image.imageset",
25 | "role" : "top-shelf-image"
26 | }
27 | ],
28 | "info" : {
29 | "version" : 1,
30 | "author" : "xcode"
31 | }
32 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal"
5 | },
6 | {
7 | "scale": "1x",
8 | "idiom": "universal"
9 | },
10 | {
11 | "scale": "2x",
12 | "idiom": "universal"
13 | },
14 | {
15 | "scale": "3x",
16 | "idiom": "universal"
17 | },
18 | {
19 | "idiom": "iphone"
20 | },
21 | {
22 | "scale": "1x",
23 | "idiom": "iphone"
24 | },
25 | {
26 | "scale": "2x",
27 | "idiom": "iphone"
28 | },
29 | {
30 | "subtype": "retina4",
31 | "scale": "2x",
32 | "idiom": "iphone"
33 | },
34 | {
35 | "scale": "3x",
36 | "idiom": "iphone"
37 | },
38 | {
39 | "idiom": "ipad"
40 | },
41 | {
42 | "scale": "1x",
43 | "idiom": "ipad"
44 | },
45 | {
46 | "scale": "2x",
47 | "idiom": "ipad"
48 | }
49 | ],
50 | "info": {
51 | "version": 1,
52 | "author": "xcode"
53 | }
54 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | LibVLCSharp.tvOS.Sample
7 | CFBundleName
8 | LibVLCSharp.tvOS.Sample
9 | CFBundleIdentifier
10 | com.xamarin.LibVLCSharp-tvOS-Sample
11 | CFBundleShortVersionString
12 | 1.0
13 | CFBundleVersion
14 | 1.0
15 | MinimumOSVersion
16 | 12.1
17 | UIDeviceFamily
18 |
19 | 3
20 |
21 | UIMainStoryboardFile
22 | Main
23 | UIRequiredDeviceCapabilities
24 |
25 | arm64
26 |
27 | XSAppIconAssets
28 | Assets.xcassets/App Icon & Top Shelf Image.brandassets
29 | XSLaunchImageAssets
30 | Assets.xcassets/LaunchImages.launchimage
31 |
32 |
33 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace LibVLCSharp.tvOS.Sample
4 | {
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, "AppDelegate");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/LibVLCSharp.tvOS.Sample/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/AppShell.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/AppShell.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI.Sample.MediaElement
2 | {
3 | ///
4 | /// Represents the main shell of the application.
5 | ///
6 | public partial class AppShell : Shell
7 | {
8 | ///
9 | /// Initializes a new instance of the class.
10 | ///
11 | public AppShell()
12 | {
13 | InitializeComponent();
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 | using Microsoft.Maui;
5 |
6 | namespace LibVLCSharp.MAUI.Sample.MediaElement
7 | {
8 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
9 | public class MainActivity : MauiAppCompatActivity
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Runtime;
3 |
4 | namespace LibVLCSharp.MAUI.Sample.MediaElement
5 | {
6 | [Application]
7 | public class MainApplication : MauiApplication
8 | {
9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
10 | : base(handle, ownership)
11 | {
12 | }
13 |
14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/MacCatalyst/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 |
3 | namespace LibVLCSharp.MAUI.Sample.MediaElement
4 | {
5 | [Register("AppDelegate")]
6 | public class AppDelegate : MauiUIApplicationDelegate
7 | {
8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/MacCatalyst/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UIRequiredDeviceCapabilities
11 |
12 | arm64
13 |
14 | UISupportedInterfaceOrientations
15 |
16 | UIInterfaceOrientationPortrait
17 | UIInterfaceOrientationLandscapeLeft
18 | UIInterfaceOrientationLandscapeRight
19 |
20 | UISupportedInterfaceOrientations~ipad
21 |
22 | UIInterfaceOrientationPortrait
23 | UIInterfaceOrientationPortraitUpsideDown
24 | UIInterfaceOrientationLandscapeLeft
25 | UIInterfaceOrientationLandscapeRight
26 |
27 | XSAppIconAssets
28 | Assets.xcassets/appicon.appiconset
29 |
30 |
31 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/MacCatalyst/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace LibVLCSharp.MAUI.Sample.MediaElement
5 | {
6 | public class Program
7 | {
8 | // This is the main entry point of the application.
9 | static void Main(string[] args)
10 | {
11 | // if you want to use a different Application Delegate class from "AppDelegate"
12 | // you can specify it here.
13 | UIApplication.Main(args, null, typeof(AppDelegate));
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Windows/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Windows/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 |
3 | // To learn more about WinUI, the WinUI project structure,
4 | // and more about our project templates, see: http://aka.ms/winui-project-info.
5 |
6 | namespace LibVLCSharp.MAUI.Sample.MediaElement.WinUI
7 | {
8 | ///
9 | /// Provides application-specific behavior to supplement the default Application class.
10 | ///
11 | public partial class App : MauiWinUIApplication
12 | {
13 | ///
14 | /// Initializes the singleton application object. This is the first line of authored code
15 | /// executed, and as such is the logical equivalent of main() or WinMain().
16 | ///
17 | public App()
18 | {
19 | this.InitializeComponent();
20 | }
21 |
22 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/Windows/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | true/PM
12 | PerMonitorV2, PerMonitor
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using Microsoft.Maui;
3 |
4 | namespace LibVLCSharp.MAUI.Sample.MediaElement
5 | {
6 | ///
7 | /// The AppDelegate class is responsible for handling application-level events.
8 | ///
9 | [Register("AppDelegate")]
10 | public class AppDelegate : MauiUIApplicationDelegate
11 | {
12 | ///
13 | /// This method is used to create and configure the Maui application instance.
14 | ///
15 | /// Returns the configured application instance.
16 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 | using UIKit;
3 |
4 | namespace LibVLCSharp.MAUI.Sample.MediaElement
5 | {
6 | ///
7 | /// The Program class contains the main entry point of the application.
8 | ///
9 | public class Program
10 | {
11 | ///
12 | /// The main entry point of the application.
13 | ///
14 | /// An array of command-line arguments.
15 | static void Main(string[] args)
16 | {
17 | // if you want to use a different Application Delegate class from "AppDelegate"
18 | // you can specify it here.
19 | UIApplication.Main(args, null, typeof(AppDelegate));
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "Project",
5 | "nativeDebugging": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/AppIcon/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/Fonts/OpenSans-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/Fonts/OpenSans-Semibold.ttf
--------------------------------------------------------------------------------
/samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/Resources/Raw/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories). Deployment of the asset to your application
3 | is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
4 |
5 |
6 |
7 | These files will be deployed with you package and will be accessible using Essentials:
8 |
9 | async Task LoadMauiAsset()
10 | {
11 | using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
12 | using var reader = new StreamReader(stream);
13 |
14 | var contents = reader.ReadToEnd();
15 | }
16 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/App.xaml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Assets/Fonts/regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Assets/Fonts/regular.otf
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Assets/Fonts/solid.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Assets/Fonts/solid.otf
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/GlobalUsings.cs:
--------------------------------------------------------------------------------
1 | global using System.Collections.Immutable;
2 | global using Microsoft.Extensions.DependencyInjection;
3 | global using Microsoft.Extensions.Logging;
4 | global using ApplicationExecutionState = Windows.ApplicationModel.Activation.ApplicationExecutionState;
5 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Uno;
2 |
3 | namespace LibVLCSharp.Uno.WinUI.Sample;
4 |
5 | public sealed partial class MainPage : Page
6 | {
7 | ///
8 | /// Initializes a new instance of class
9 | ///
10 | public MainPage()
11 | {
12 | InitializeComponent();
13 | ViewModel = new MainViewModel();
14 | }
15 |
16 | ///
17 | /// Gets the main view model
18 | ///
19 | public MainViewModel ViewModel { get; }
20 |
21 | private void MediaPlayerElement_Initialized(object sender, InitializedEventArgs e)
22 | {
23 | ViewModel.InitializedCommand.Execute(e.SwapChainOptions);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | To add cross-platform image assets for your Uno Platform app, use the Assets folder
2 | in the shared project instead. Assets in this folder are Android-only assets.
3 |
4 | Any raw assets you want to be deployed with your application can be placed in
5 | this directory (and child directories) and given a Build Action of "AndroidAsset".
6 |
7 | These files will be deployed with you package and will be accessible using Android's
8 | AssetManager, like this:
9 |
10 | public class ReadAsset : Activity
11 | {
12 | protected override void OnCreate (Bundle bundle)
13 | {
14 | base.OnCreate (bundle);
15 |
16 | InputStream input = Assets.Open ("my_asset.txt");
17 | }
18 | }
19 |
20 | Additionally, some Android functions will automatically load asset files:
21 |
22 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
23 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/MainActivity.Android.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 | using Android.Views;
5 | using Android.Widget;
6 |
7 | namespace LibVLCSharp.Uno.WinUI.Sample.Droid;
8 | [Activity(
9 | MainLauncher = true,
10 | ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges,
11 | WindowSoftInputMode = SoftInput.AdjustNothing | SoftInput.StateHidden
12 | )]
13 | public class MainActivity : Microsoft.UI.Xaml.ApplicationActivity
14 | {
15 | }
16 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World, Click Me!
4 | LibVLCSharp.Uno.WinUI.Sample
5 |
6 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/Resources/values/Styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/Android/environment.conf:
--------------------------------------------------------------------------------
1 | # See this for more details: http://developer.xamarin.com/guides/android/advanced_topics/garbage_collection/
2 | MONO_GC_PARAMS=bridge-implementation=tarjan,nursery-size=32m,soft-heap-limit=256m
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Platforms/iOS/Main.iOS.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace LibVLCSharp.Uno.WinUI.Sample.iOS;
4 | public class EntryPoint
5 | {
6 | // This is the main entry point of the application.
7 | public static void Main(string[] args)
8 | {
9 | // if you want to use a different Application Delegate class from "AppDelegate"
10 | // you can specify it here.
11 | UIApplication.Main(args, null, typeof(App));
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "iisSettings": {
3 | "windowsAuthentication": false,
4 | "anonymousAuthentication": true,
5 | "iisExpress": {
6 | "applicationUrl": "http://localhost:8080",
7 | "sslPort": 0
8 | }
9 | },
10 | "profiles": {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/samples/Uno/LibVLCSharp.Uno.WinUI.Sample/readme.md:
--------------------------------------------------------------------------------
1 | # To run the iOS sample
2 |
3 | dotnet build -t:Run -f net8.0-ios -p:RuntimeIdentifier=ios-arm64 -p:_DeviceName=xxx
4 |
5 | > a few ways to get the device name
6 |
7 | - instruments -s devices
8 | - xcrun simctl list
9 | - From Xcode: Window -> Devices and Simulators -> Simulators. The Identifier value is the UDID.
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/Directory.build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | disable
4 |
5 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/Jars/org.videolan.libvlc.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.Android.AWindow/Jars/org.videolan.libvlc.aar
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Android.AWindow
2 |
3 | This project is an implementation detail for LibVLCSharp on the android platform.
4 |
5 | libvlc for android needs the AWindow class, which is provided by the Jars/org.videolan.libvlc.aar file.
6 | This project generates Xamarin bindings for this java classes.
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/Transforms/EnumFields.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/Transforms/EnumMethods.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/Transforms/Metadata.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindow/copy.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/Jars/org.videolan.libvlc.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.Android.AWindowModern/Jars/org.videolan.libvlc.aar
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/LibVLCSharp.Android.AWindowModern.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net8.0-android
4 | 21
5 | enable
6 | enable
7 | latest
8 | LibVLCSharp is a cross-platform audio and video API for .NET platforms based on VideoLAN's LibVLC Library. It provides a comprehensive multimedia API that can be used across mobile, server and desktop to render video and output audio. Mono, .NET Framework and .NET Core runtimes are supported.
9 |
10 | LibVLCSharp.Android.AWindowModern contains part of the integration with the Android view.
11 |
12 | LibVLC needs to be installed separately, see VideoLAN.LibVLC.* packages.
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/README.md:
--------------------------------------------------------------------------------
1 | # Modern Android AWindow binding
2 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/Transforms/EnumFields.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/Transforms/EnumMethods.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Android.AWindowModern/Transforms/Metadata.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Avalonia/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Avalonia
2 |
3 | The official [Avalonia](https://github.com/AvaloniaUI/Avalonia) views for [LibVLCSharp](../LibVLCSharp/README.md).
4 |
5 | This package contains the views that allows to display a video played with [LibVLCSharp](../LibVLCSharp/README.md)
6 | in an Avalonia app.
7 |
8 | This package depends on [LibVLCSharp](../LibVLCSharp/README.md) as well as [Avalonia](https://github.com/AvaloniaUI/Avalonia).
9 |
10 | Supported frameworks:
11 |
12 | - netstandard2.0
13 |
14 | Supported platforms:
15 |
16 | - Windows
17 | - MacOS
18 | - Linux
19 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Avalonia/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Eto/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Eto
2 |
3 | [](https://www.nuget.org/packages/LibVLCSharp.Eto)
4 | [](https://www.nuget.org/packages/LibVLCSharp.Eto)
5 |
6 | LibVLCSharp.Eto is the [Eto.Forms](https://github.com/picoe/Eto) integration for LibVLCSharp.
7 |
8 | It contains the views that allow to display a video played with [LibVLCSharp](../LibVLCSharp/README.md)
9 | in an Eto.Forms app.
10 |
11 | This package depends on [LibVLCSharp](../LibVLCSharp/README.md).
12 |
13 | Supported frameworks:
14 |
15 | - netstandard2.0
16 |
17 | Supported platforms:
18 |
19 | - Windows (Windows Forms now & in the future WPF pending https://github.com/picoe/Eto/issues/2167)
20 | - MacOS (MonoMac & Xamarin.Mac)
21 | - Linux (GTK)
22 |
23 | ## Why should I reference this package in my project?
24 |
25 | If you want to create a video application using Eto.Forms and any supported .NET language, this package is made for you.
26 |
27 | For other platforms, see the [main documentation](../../README.md).
28 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms.Platforms.GTK/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Forms.GTK
2 |
3 | [](https://www.nuget.org/packages/LibVLCSharp.Forms.GTK)
4 | [](https://www.nuget.org/packages/LibVLCSharp.Forms.GTK)
5 |
6 | This package provides Xamarin.Forms support for GTK# apps that use LibVLCSharp.
7 |
8 | ## Why should I reference this package in my project?
9 |
10 | If you are in this situation, this package is made for you:
11 |
12 | - You want to have a native GTK app on Windows or Linux that makes use of your shared Xamarin.Forms XAML code.
13 |
14 | For other platforms, see the [main documentation](../../README.md)
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms.Platforms.WPF/Platform.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Platforms.WPF
2 | {
3 | ///
4 | /// Empty shell used to load the custom renderer assembly.
5 | ///
6 | public static class Platform
7 | {
8 | ///
9 | /// Call this to load the custom renderer assembly.
10 | ///
11 | public static void Init()
12 | {
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms.Platforms.WPF/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.Forms.WPF
2 |
3 | [](https://www.nuget.org/packages/LibVLCSharp.Forms.WPF)
4 | [](https://www.nuget.org/packages/LibVLCSharp.Forms.WPF)
5 |
6 | This package provides Xamarin.Forms support for WPF Windows apps that use LibVLCSharp.
7 |
8 | ## Why should I reference this package in my project?
9 |
10 | If you are in this situation, this package is made for you:
11 |
12 | - You want to have a native WPF app on Windows that makes use of your shared Xamarin.Forms XAML code.
13 |
14 | For other platforms, see the [main documentation](../../README.md)
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms.Platforms.WPF/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms.Platforms.WPF/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Platforms/Apple/Platform.cs:
--------------------------------------------------------------------------------
1 | #if IOS
2 | namespace LibVLCSharp.Forms.Platforms.iOS
3 | {
4 | ///
5 | /// Empty shell used to load the custom renderer assembly.
6 | ///
7 | internal static class Platform
8 | {
9 | ///
10 | /// Call this to load the custom renderer assembly.
11 | ///
12 | internal static void Init()
13 | {
14 | }
15 | }
16 | }
17 | #endif
18 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Platforms/Apple/PowerManager.cs:
--------------------------------------------------------------------------------
1 | #if IOS
2 | using LibVLCSharp.Forms.Platforms.iOS;
3 | using LibVLCSharp.Forms.Shared;
4 | using UIKit;
5 | using Xamarin.Forms;
6 |
7 | [assembly: Dependency(typeof(PowerManager))]
8 | namespace LibVLCSharp.Forms.Platforms.iOS
9 | {
10 | ///
11 | /// Power manager.
12 | ///
13 | internal class PowerManager : IPowerManager
14 | {
15 | ///
16 | /// Gets or sets a value indicating whether the screen should be kept on.
17 | ///
18 | public bool KeepScreenOn
19 | {
20 | get => UIApplication.SharedApplication.IdleTimerDisabled;
21 | set => UIApplication.SharedApplication.IdleTimerDisabled = value;
22 | }
23 | }
24 | }
25 | #endif
26 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/Dispatcher.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using LibVLCSharp.Shared.MediaPlayerElement;
4 | using Xamarin.Forms;
5 |
6 | namespace LibVLCSharp.Forms.Shared
7 | {
8 | ///
9 | /// Object that provides services for managing the queue of work items for a thread
10 | ///
11 | internal class Dispatcher : LibVLCSharp.Shared.MediaPlayerElement.IDispatcher
12 | {
13 | ///
14 | /// Schedules the provided callback on the UI thread from a worker threa
15 | ///
16 | /// The callback on which the dispatcher returns when the event is dispatched
17 | /// The task object representing the asynchronous operation
18 | public Task InvokeAsync(Action action)
19 | {
20 | Device.BeginInvokeOnMainThread(action);
21 | return Task.CompletedTask;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/DisplayInformation.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 | using Xamarin.Forms;
3 |
4 | namespace LibVLCSharp.Forms.Shared
5 | {
6 | ///
7 | /// Monitors display-related information for an application view.
8 | ///
9 | internal class DisplayInformation : IDisplayInformation
10 | {
11 | ///
12 | /// Gets the scale factor
13 | ///
14 | public double ScalingFactor => Device.Info.ScalingFactor;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/DisplayRequest.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 | using Xamarin.Forms;
3 |
4 | namespace LibVLCSharp.Forms.Shared
5 | {
6 | ///
7 | /// Represents a display request
8 | ///
9 | internal class DisplayRequest : IDisplayRequest
10 | {
11 | private IPowerManager PowerManager => DependencyService.Get();
12 |
13 | ///
14 | /// Activates a display request
15 | ///
16 | public void RequestActive()
17 | {
18 | PowerManager.KeepScreenOn = true;
19 | }
20 |
21 | ///
22 | /// Deactivates a display request
23 | ///
24 | public void RequestRelease()
25 | {
26 | PowerManager.KeepScreenOn = false;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/Effects/ClickEffect.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace LibVLCSharp.Forms.Shared.Effects
4 | {
5 | ///
6 | /// Click effect.
7 | ///
8 | internal class ClickEffect : TriggerAction
9 | {
10 | ///
11 | /// Apply a click effect.
12 | ///
13 | /// The object on which to invoke the trigger action.
14 | protected override async void Invoke(VisualElement sender)
15 | {
16 | await sender.ScaleTo(0.85, 100);
17 | await sender.ScaleTo(1, 50);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/IOrientationHandler.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Shared
2 | {
3 | ///
4 | /// Force Device Orientation.
5 | ///
6 | public interface IOrientationHandler
7 | {
8 | ///
9 | /// Lock device's orientation.
10 | ///
11 | void LockOrientation();
12 |
13 | ///
14 | /// Unlock device's orientation.
15 | ///
16 | void UnLockOrientation();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/IPowerManager.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Shared
2 | {
3 | ///
4 | /// Interface for power management.
5 | ///
6 | public interface IPowerManager
7 | {
8 | ///
9 | /// Gets or sets a value indicating whether the screen should be kept on.
10 | ///
11 | bool KeepScreenOn { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/ISystemUI.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Shared
2 | {
3 | internal interface ISystemUI
4 | {
5 | void ShowSystemUI();
6 | void HideSystemUI();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/LibVLCSharpFormsRenderer.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Shared
2 | {
3 | ///
4 | /// Empty shell used to load the custom renderer assembly
5 | ///
6 | public static class LibVLCSharpFormsRenderer
7 | {
8 | ///
9 | /// Call this to load the custom renderer assembly
10 | ///
11 | public static void Init() { }
12 | }
13 | }
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/LifecycleMessage.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Forms.Shared
2 | {
3 | ///
4 | /// Lifecycle message
5 | ///
6 | public class LifecycleMessage
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/PlaybackControls.xaml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Forms/Shared/Themes/Generic.xaml.cs:
--------------------------------------------------------------------------------
1 |
2 | using Xamarin.Forms;
3 | using Xamarin.Forms.Xaml;
4 |
5 | namespace LibVLCSharp.Forms.Shared.Themes
6 | {
7 | ///
8 | /// Resource dictionary for the default style.
9 | ///
10 | [XamlCompilation(XamlCompilationOptions.Compile)]
11 | public partial class Generic : ResourceDictionary
12 | {
13 | ///
14 | /// Initializes a new instance of class.
15 | ///
16 | public Generic()
17 | {
18 | InitializeComponent();
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Dispatcher.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using LibVLCSharp.Shared.MediaPlayerElement;
4 | using Microsoft.Maui.Controls;
5 | using Microsoft.Maui;
6 |
7 | namespace LibVLCSharp.MAUI
8 | {
9 | ///
10 | /// Object that provides services for managing the queue of work items for a thread
11 | ///
12 | internal class Dispatcher : Shared.MediaPlayerElement.IDispatcher
13 | {
14 | ///
15 | /// Schedules the provided callback on the UI thread from a worker thread
16 | ///
17 | /// The callback on which the dispatcher returns when the event is dispatched
18 | /// The task object representing the asynchronous operation
19 | public Task InvokeAsync(Action action)
20 | {
21 | Application.Current?.Dispatcher.Dispatch(action);
22 | return Task.CompletedTask;
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/DisplayInformation.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 | using Microsoft.Maui.Controls;
3 | using Microsoft.Maui;
4 |
5 | namespace LibVLCSharp.MAUI
6 | {
7 | ///
8 | /// Monitors display-related information for an application view.
9 | ///
10 | internal class DisplayInformation : IDisplayInformation
11 | {
12 | ///
13 | /// Gets the scale factor
14 | ///
15 | public double ScalingFactor => DeviceDisplay.MainDisplayInfo.Density;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/DisplayRequest.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 | using Microsoft.Maui.Controls;
3 | using Microsoft.Maui;
4 |
5 | namespace LibVLCSharp.MAUI
6 | {
7 | ///
8 | /// Represents a display request
9 | ///
10 | internal class DisplayRequest : IDisplayRequest
11 | {
12 | ///
13 | /// Activates a display request
14 | ///
15 | public void RequestActive()
16 | {
17 | DeviceDisplay.Current.KeepScreenOn = true;
18 | }
19 |
20 | ///
21 | /// Deactivates a display request
22 | ///
23 | public void RequestRelease()
24 | {
25 | DeviceDisplay.Current.KeepScreenOn = false;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Effects/ClickEffect.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui.Controls;
2 |
3 | namespace LibVLCSharp.MAUI.Effects
4 | {
5 | ///
6 | /// Click effect.
7 | ///
8 | internal class ClickEffect : TriggerAction
9 | {
10 | ///
11 | /// Apply a click effect.
12 | ///
13 | /// The object on which to invoke the trigger action.
14 | protected override async void Invoke(VisualElement sender)
15 | {
16 | await sender.ScaleTo(0.85, 100);
17 | await sender.ScaleTo(1, 50);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/IOrientationHandler.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI
2 | {
3 | ///
4 | /// Force Device Orientation.
5 | ///
6 | public interface IOrientationHandler
7 | {
8 | ///
9 | /// Lock device's orientation.
10 | ///
11 | void LockOrientation();
12 |
13 | ///
14 | /// Unlock device's orientation.
15 | ///
16 | void UnLockOrientation();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/IPowerManager.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI
2 | {
3 | ///
4 | /// Interface for power management.
5 | ///
6 | public interface IPowerManager
7 | {
8 | ///
9 | /// Gets or sets a value indicating whether the screen should be kept on.
10 | ///
11 | bool KeepScreenOn { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/ISystemUI.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI
2 | {
3 | internal interface ISystemUI
4 | {
5 | void ShowSystemUI();
6 | void HideSystemUI();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/PlaybackControls.xaml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 |
2 | [assembly: ExportFont("FontAwesome5Brands.otf", Alias = "FontAwesomeBrands")]
3 | [assembly: ExportFont("FontAwesome5Solid.otf", Alias = "FontAwesomeSolid")]
4 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Resources/Fonts/FontAwesome5Brands.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.MAUI/Resources/Fonts/FontAwesome5Brands.otf
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Resources/Fonts/FontAwesome5Solid.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.MAUI/Resources/Fonts/FontAwesome5Solid.otf
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/Themes/Generic.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.MAUI.Themes;
2 |
3 | ///
4 | /// Represents the generic theme resource dictionary for the MAUI components.
5 | ///
6 | public partial class Generic : ResourceDictionary
7 | {
8 | ///
9 | /// Initializes a new instance of the class and loads the theme resources.
10 | ///
11 | public Generic()
12 | {
13 | InitializeComponent();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.MAUI/VideoViewHandler.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui.Handlers;
2 |
3 | namespace LibVLCSharp.MAUI
4 | {
5 | ///
6 | ///
7 | ///
8 | public partial class VideoViewHandler
9 | {
10 | ///
11 | ///
12 | ///
13 | public static IPropertyMapper PropertyMapper = new PropertyMapper(ViewMapper)
14 | {
15 | [nameof(VideoView.MediaPlayer)] = MapMediaPlayer
16 | };
17 |
18 | ///
19 | ///
20 | ///
21 | public VideoViewHandler() : base(PropertyMapper)
22 | {
23 | }
24 |
25 | ///
26 | /// Attach mediaplayer to the native view
27 | ///
28 | ///
29 | ///
30 | public static void MapMediaPlayer(VideoViewHandler handler, VideoView view)
31 | {
32 | handler.PlatformView.MediaPlayer = view.MediaPlayer;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/BaseSetup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Reflection;
4 | using LibVLCSharp.Shared;
5 | using NUnit.Framework;
6 |
7 | namespace LibVLCSharp.Tests
8 | {
9 | public abstract class BaseSetup
10 | {
11 | #pragma warning disable CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable. It is initialized in the SetUp, so before the tests take place.
12 | protected LibVLC _libVLC;
13 | #pragma warning restore CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable.
14 |
15 | [SetUp]
16 | public void SetUp()
17 | {
18 | _libVLC = new LibVLC("--no-audio", "--no-video");
19 | }
20 |
21 | protected string RealStreamMediaPath => "http://streams.videolan.org/streams/mp3/Owner-MPEG2.5.mp3";
22 |
23 | protected string RealMp3Path => Path.Combine(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName, "sample.mp3");
24 |
25 | protected string RealMp3PathSpecialCharacter => Path.Combine(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName, "motörhead.mp3");
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/CoreLoadingTests.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared;
2 | using NUnit.Framework;
3 | using System.IO;
4 |
5 | namespace LibVLCSharp.Tests
6 | {
7 | [TestFixture]
8 | public class CoreLoadingTests
9 | {
10 | [Test]
11 | public void LoadLibVLCFromSpecificPath()
12 | {
13 | var dirPath = Path.GetDirectoryName(typeof(CoreLoadingTests).Assembly.Location)!;
14 | var finalPath = Path.Combine(dirPath, "libvlc", "win-x86");
15 |
16 | Assert.DoesNotThrow(() => Core.Initialize(finalPath), "fail to load libVLC dll at specified location");
17 | var libVLC = new LibVLC("--no-audio", "--no-video");
18 | }
19 |
20 | [Test]
21 | public void LoadLibVLCFromInferredPath()
22 | {
23 | Assert.DoesNotThrow(() => Core.Initialize(), "fail to load libVLC dll at specified location");
24 | var libVLC = new LibVLC("--no-audio", "--no-video");
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/EqualizerTests.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared;
2 | using NUnit.Framework;
3 | using System;
4 |
5 | namespace LibVLCSharp.Tests
6 | {
7 | [TestFixture]
8 | public class EqualizerTests : BaseSetup
9 | {
10 | [Test]
11 | public void BasicNativeCallTest()
12 | {
13 | var equalizer = new Equalizer();
14 | equalizer.SetAmp(-1, 1);
15 | Assert.That(-1 == equalizer.Amp(1));
16 | }
17 |
18 | [Test]
19 | public void DisposeEqualizer()
20 | {
21 | var equalizer = new Equalizer();
22 | equalizer.SetAmp(-1, 1);
23 | equalizer.Dispose();
24 | Assert.That(IntPtr.Zero == equalizer.NativeReference);
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/Program.cs:
--------------------------------------------------------------------------------
1 | using NUnitLite;
2 | using System.Reflection;
3 |
4 | namespace LibVLCSharp.Tests
5 | {
6 | public static class Program
7 | {
8 | public static int Main(string[] args) => new AutoRun(Assembly.GetEntryAssembly()).Execute(args);
9 | }
10 | }
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/motörhead.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.Tests/motörhead.mp3
--------------------------------------------------------------------------------
/src/LibVLCSharp.Tests/sample.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/LibVLCSharp.Tests/sample.mp3
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/DisplayInformation.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 |
3 | namespace LibVLCSharp.Uno
4 | {
5 | ///
6 | /// Monitors display-related information for an application view
7 | ///
8 | internal class DisplayInformation : IDisplayInformation
9 | {
10 | ///
11 | /// Gets the scale factor
12 | ///
13 | public double ScalingFactor => Windows.Graphics.Display.DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/DisplayRequestAdapter.cs:
--------------------------------------------------------------------------------
1 | using LibVLCSharp.Shared.MediaPlayerElement;
2 | using Windows.System.Display;
3 |
4 | namespace LibVLCSharp.Uno
5 | {
6 | ///
7 | /// Represents a display request
8 | ///
9 | internal class DisplayRequestAdapter : IDisplayRequest
10 | {
11 | ///
12 | /// Initializes a new instance of class
13 | ///
14 | public DisplayRequestAdapter()
15 | {
16 | DisplayRequest = new DisplayRequest();
17 | }
18 |
19 | private DisplayRequest DisplayRequest { get; }
20 |
21 | ///
22 | /// Activates a display request
23 | ///
24 | public void RequestActive()
25 | {
26 | DisplayRequest.RequestActive();
27 | }
28 |
29 | ///
30 | /// Deactivates a display request
31 | ///
32 | public void RequestRelease()
33 | {
34 | DisplayRequest.RequestRelease();
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/IVideoView.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Uno
2 | {
3 | ///
4 | /// IVideoView interface for Uno platform (only useful as workaround for bug)
5 | ///
6 | public interface IVideoView : Shared.IVideoView
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/InitializedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Uno
4 | {
5 | ///
6 | /// Provides data for Initialized event.
7 | ///
8 | public class InitializedEventArgs : EventArgs
9 | {
10 | ///
11 | /// Initializes a new instance of class
12 | ///
13 | /// swap chain parameters
14 | public InitializedEventArgs(string[] swapChainOptions) : base()
15 | {
16 | SwapChainOptions = swapChainOptions;
17 | }
18 |
19 | ///
20 | /// Gets the swap chain parameters
21 | ///
22 | public string[] SwapChainOptions { get; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/PlaybackControls.Android.iOS.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 | using Microsoft.UI.Xaml.Controls;
3 |
4 | namespace LibVLCSharp.Uno
5 | {
6 | ///
7 | /// Represents the playback controls for a media player element
8 | ///
9 | public partial class PlaybackControls : PlaybackControlsBase
10 | {
11 | ///
12 | /// Sets the value of the for an object
13 | ///
14 | /// the object to which the attached property is written
15 | /// resource string
16 | /// an object array that contains zero or more objects to format
17 | protected override void SetToolTip(DependencyObject? element, string? resource, params string[] args)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/Themes/Generic.xaml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/Themes/VideoView.Android.iOS.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/VideoView.Android.cs:
--------------------------------------------------------------------------------
1 | using Uno.UI;
2 | using Microsoft.UI.Xaml.Controls;
3 | using Microsoft.UI.Xaml.Media;
4 |
5 | namespace LibVLCSharp.Uno
6 | {
7 | ///
8 | /// Video view
9 | ///
10 | public partial class VideoView : VideoViewWrapper
11 | {
12 | ///
13 | /// Creates the underlying video view and set the property value
14 | ///
15 | /// the created underlying video view
16 | protected override Platforms.Android.VideoView CreateUnderlyingVideoView()
17 | {
18 | var underlyingVideoView = new Platforms.Android.VideoView(ContextHelper.Current);
19 | Border!.Child = VisualTreeHelper.AdaptNative(underlyingVideoView);
20 | return underlyingVideoView;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/VideoView.iOS.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml.Controls;
2 | using Microsoft.UI.Xaml.Media;
3 |
4 | namespace LibVLCSharp.Uno
5 | {
6 | ///
7 | /// Video view
8 | ///
9 | public partial class VideoView : VideoViewWrapper
10 | {
11 | ///
12 | /// Creates the underlying video view and set the property value
13 | ///
14 | /// the created underlying video view
15 | protected override Platforms.iOS.VideoView CreateUnderlyingVideoView()
16 | {
17 | var underlyingVideoView = new Platforms.iOS.VideoView();
18 | Border!.Child = VisualTreeHelper.AdaptNative(underlyingVideoView);
19 | underlyingVideoView.Frame = Border.Frame;
20 | return underlyingVideoView;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.Uno/filtered.layout.resfiles:
--------------------------------------------------------------------------------
1 | LibVLCSharp.Uno\LibVLCSharp.Uno.xr.xml
2 | LibVLCSharp.Uno\Themes\Generic.xaml
3 | LibVLCSharp.Uno\Themes\MediaPlayerElement.xaml
4 | LibVLCSharp.Uno\Themes\PlaybackControls.xaml
5 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.WPF/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None,
5 | ResourceDictionaryLocation.SourceAssembly
6 | )]
7 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.WPF/Themes/Generic.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
23 |
24 |
--------------------------------------------------------------------------------
/src/LibVLCSharp.WinForms/README.md:
--------------------------------------------------------------------------------
1 | # LibVLCSharp.WinForms
2 |
3 | [](https://www.nuget.org/packages/LibVLCSharp.WinForms)
4 | [](https://www.nuget.org/packages/LibVLCSharp.WPF)
5 |
6 | LibVLCSharp.WinForms is the WinForms integration for LibVLCSharp.
7 |
8 | It contains the views that allow to display a video played with [LibVLCSharp](../LibVLCSharp/README.md)
9 | in a Windows Forms app.
10 |
11 | This package depends on [LibVLCSharp](../LibVLCSharp/README.md).
12 |
13 | Supported frameworks:
14 |
15 | - net40+
16 | - netcoreapp3.0
17 |
18 | Supported platform:
19 |
20 | - Windows
21 |
22 | ## Why should I reference this package in my project?
23 |
24 | If you want to create a video application using Windows Forms and any supported .NET language, this package is made for you.
25 |
26 | For other platforms, see the [main documentation](../../README.md).
27 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Platforms/Windows/InitializedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Platforms.Windows
4 | {
5 | ///
6 | /// Provides data for the event.
7 | ///
8 | public class InitializedEventArgs : EventArgs
9 | {
10 | ///
11 | /// Initializes a new instance of class
12 | ///
13 | /// swap chain parameters
14 | public InitializedEventArgs(string[] swapChainOptions) : base()
15 | {
16 | SwapChainOptions = swapChainOptions;
17 | }
18 |
19 | ///
20 | /// Gets the swap chain parameters
21 | ///
22 | public string[] SwapChainOptions { get; }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Platforms/Windows/VideoView.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Platforms.Windows
2 | {
3 | ///
4 | /// VideoView implementation for the UWP platform
5 | ///
6 | public class VideoView : VideoView
7 | {
8 | ///
9 | /// Creates args for event
10 | ///
11 | /// args for event
12 | protected override InitializedEventArgs CreateInitializedEventArgs()
13 | {
14 | return new InitializedEventArgs(SwapChainOptions);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("LibVLCSharp.Forms")]
4 | [assembly: InternalsVisibleTo("LibVLCSharp.MAUI")]
5 | [assembly: InternalsVisibleTo("LibVLCSharp.Uno")]
6 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/IVideoControl.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Shared
4 | {
5 | ///
6 | /// Interface for video control
7 | ///
8 | internal interface IVideoControl : IVideoView
9 | {
10 | ///
11 | /// Occurs when the size of the control changes
12 | ///
13 | event EventHandler SizeChanged;
14 |
15 | ///
16 | /// Gets the width of the video view
17 | ///
18 | double Width { get; }
19 |
20 | ///
21 | /// Gets the height of the video view
22 | ///
23 | double Height { get; }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/IVideoView.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Shared
2 | {
3 | ///
4 | /// VideoView Interface
5 | ///
6 | public interface IVideoView
7 | {
8 | ///
9 | /// MediaPlayer object connected to the view
10 | ///
11 | MediaPlayer? MediaPlayer { get; set; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/MediaPlayerElement/AspectRatio.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Shared.MediaPlayerElement
2 | {
3 | ///
4 | /// Describes how content is resized to fill its allocated space
5 | ///
6 | internal enum AspectRatio
7 | {
8 | ///
9 | /// Best fit
10 | ///
11 | BestFit,
12 | ///
13 | /// Fit screen
14 | ///
15 | FitScreen,
16 | ///
17 | /// Fill
18 | ///
19 | Fill,
20 | ///
21 | /// 16/9
22 | ///
23 | _16_9,
24 | ///
25 | /// 4/3
26 | ///
27 | _4_3,
28 | ///
29 | /// Original
30 | ///
31 | Original
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/MediaPlayerElement/IDispatcher.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 |
4 | namespace LibVLCSharp.Shared.MediaPlayerElement
5 | {
6 | ///
7 | /// Interface for an object that provides services for managing the queue of work items for a thread
8 | ///
9 | internal interface IDispatcher
10 | {
11 | ///
12 | /// Schedules the provided callback on the UI thread from a worker threa
13 | ///
14 | /// The callback on which the dispatcher returns when the event is dispatched
15 | /// The task object representing the asynchronous operation
16 | Task InvokeAsync(Action action);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/MediaPlayerElement/IDisplayInformation.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Shared.MediaPlayerElement
2 | {
3 | ///
4 | /// Interface to get display-related information for an application view
5 | ///
6 | internal interface IDisplayInformation
7 | {
8 | ///
9 | /// Gets the scale factor
10 | ///
11 | double ScalingFactor { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/MediaPlayerElement/IDisplayRequest.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Shared.MediaPlayerElement
2 | {
3 | ///
4 | /// Interface for display requests
5 | ///
6 | internal interface IDisplayRequest
7 | {
8 | ///
9 | /// Activates a display request
10 | ///
11 | void RequestActive();
12 |
13 | ///
14 | /// Deactivates a display request
15 | ///
16 | void RequestRelease();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/MediaPlayerElement/TimeSpanExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Shared.MediaPlayerElement
4 | {
5 | ///
6 | /// Extensions methods for
7 | ///
8 | internal static class TimeSpanExtensions
9 | {
10 | ///
11 | /// Converts the value of the current object to its equivalent short string representation
12 | ///
13 | /// time interval
14 | /// the short string representation of the current value
15 | internal static string ToShortString(this TimeSpan span)
16 | {
17 | if (span.Days != 0)
18 | {
19 | return span.ToString(@"d\.hh\:mm\:ss");
20 | }
21 | if (span.Hours != 0)
22 | {
23 | return span.ToString(@"hh\:mm\:ss");
24 | }
25 | return span.ToString(@"mm\:ss");
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/Structures/MediaTrackData.cs:
--------------------------------------------------------------------------------
1 | namespace LibVLCSharp.Shared
2 | {
3 | ///
4 | /// Media track data struct, containing info about audio, video and subtitles track
5 | ///
6 | public readonly struct MediaTrackData
7 | {
8 | internal MediaTrackData(AudioTrack audio, VideoTrack video, SubtitleTrack subtitle)
9 | {
10 | Audio = audio;
11 | Video = video;
12 | Subtitle = subtitle;
13 | }
14 | ///
15 | /// Audio track
16 | ///
17 | public readonly AudioTrack Audio;
18 |
19 | ///
20 | /// Video track
21 | ///
22 | public readonly VideoTrack Video;
23 |
24 | ///
25 | /// Subtitle track
26 | ///
27 | public readonly SubtitleTrack Subtitle;
28 | }
29 | }
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/Structures/RendererDescription.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Shared
4 | {
5 | internal readonly struct RendererDescriptionStructure
6 | {
7 | internal RendererDescriptionStructure(IntPtr name, IntPtr longName)
8 | {
9 | Name = name;
10 | LongName = longName;
11 | }
12 |
13 | internal readonly IntPtr Name;
14 | internal readonly IntPtr LongName;
15 | }
16 |
17 | ///
18 | /// Renderer description
19 | ///
20 | public readonly struct RendererDescription
21 | {
22 | ///
23 | /// Renderer Name
24 | ///
25 | public string? Name { get; }
26 |
27 | ///
28 | /// Renderer long name
29 | ///
30 | public string? LongName { get; }
31 |
32 | internal RendererDescription(string? name, string? longName)
33 | {
34 | Name = name;
35 | LongName = longName;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/Structures/VideoViewpoint.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace LibVLCSharp.Shared
4 | {
5 | /// Viewpoint for video outputs
6 | [StructLayout(LayoutKind.Sequential)]
7 | public readonly struct VideoViewpoint
8 | {
9 | internal VideoViewpoint(float yaw, float pitch, float roll, float fov)
10 | {
11 | Yaw = yaw;
12 | Pitch = pitch;
13 | Roll = roll;
14 | Fov = fov;
15 | }
16 |
17 | ///
18 | /// view point yaw in degrees ]-180;180]
19 | ///
20 | public readonly float Yaw;
21 |
22 | ///
23 | /// view point pitch in degrees ]-90;90]
24 | ///
25 | public readonly float Pitch;
26 |
27 | ///
28 | /// view point roll in degrees ]-180;180]
29 | ///
30 | public readonly float Roll;
31 |
32 | ///
33 | /// field of view in degrees ]0;180[ (default 80.)
34 | ///
35 | public readonly float Fov;
36 | }
37 | }
--------------------------------------------------------------------------------
/src/LibVLCSharp/Shared/VLCException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LibVLCSharp.Shared
4 | {
5 | ///
6 | /// This exception is thrown when a problem with VLC occured
7 | ///
8 | public class VLCException : Exception
9 | {
10 | ///
11 | /// VLC Exception constructor
12 | ///
13 | ///
14 | public VLCException(string message = ""):base(message)
15 | {
16 | }
17 |
18 | ///
19 | /// Creates a with a message and an inner exeption
20 | ///
21 | public VLCException(string message, Exception innerException) : base(message, innerException)
22 | {
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/LibVLCSharp/Themes/Generic.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/src/assets/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/assets/banner.png
--------------------------------------------------------------------------------
/src/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/assets/icon.png
--------------------------------------------------------------------------------
/src/assets/media-element.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/videolan/libvlcsharp/4c9f89d1a6e3aa130a1fa950245de285287c91cb/src/assets/media-element.jpg
--------------------------------------------------------------------------------
/src/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "msbuild-sdks": {
3 | "MSBuild.Sdk.Extras": "3.0.44"
4 | },
5 | "sdk": {
6 | "version": "9.0.201"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------