Skip to content

Commit b8d32ff

Browse files
committed
Adjustments to libvlcsharp 4
1 parent 7d0cc54 commit b8d32ff

File tree

7 files changed

+38
-39
lines changed

7 files changed

+38
-39
lines changed

samples/MAUI/LibVLCSharp.MAUI.Sample.MediaElement/MainViewModel.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System;
22
using System.ComponentModel;
33
using System.Runtime.CompilerServices;
4-
using LibVLCSharp.Shared;
4+
using LibVLCSharp;
55

66
namespace LibVLCSharp.MAUI.Sample.MediaElement
77
{
@@ -25,19 +25,19 @@ public MainViewModel()
2525
private LibVLC _libVLC;
2626

2727
/// <summary>
28-
/// Gets the <see cref="LibVLCSharp.Shared.LibVLC"/> instance.
28+
/// Gets the <see cref="LibVLCSharp.LibVLC"/> instance.
2929
/// </summary>
3030
public LibVLC LibVLC
3131
{
3232
get => _libVLC;
3333
private set => SetProperty(ref _libVLC, value);
3434
}
3535

36-
private LibVLCSharp.Shared.MediaPlayer _mediaPlayer;
36+
private LibVLCSharp.MediaPlayer _mediaPlayer;
3737
/// <summary>
38-
/// Gets the <see cref="LibVLCSharp.Shared.MediaPlayer"/> instance.
38+
/// Gets the <see cref="LibVLCSharp.MediaPlayer"/> instance.
3939
/// </summary>
40-
public LibVLCSharp.Shared.MediaPlayer MediaPlayer
40+
public LibVLCSharp.MediaPlayer MediaPlayer
4141
{
4242
get => _mediaPlayer;
4343
private set => SetProperty(ref _mediaPlayer, value);
@@ -55,8 +55,8 @@ public void OnAppearing()
5555

5656
if (MediaPlayer == null)
5757
{
58-
var media = new Media(LibVLC, new Uri("http://streams.videolan.org/streams/mkv/multiple_tracks.mkv"));
59-
MediaPlayer = new LibVLCSharp.Shared.MediaPlayer(media)
58+
var media = new Media(new Uri("http://streams.videolan.org/streams/mkv/multiple_tracks.mkv"));
59+
MediaPlayer = new MediaPlayer(LibVLC)
6060
{
6161
EnableHardwareDecoding = true
6262
};

src/LibVLCSharp.MAUI/Dispatcher.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Threading.Tasks;
3-
using LibVLCSharp.Shared.MediaPlayerElement;
43
using Microsoft.Maui.Controls;
54
using Microsoft.Maui;
65

@@ -9,7 +8,7 @@ namespace LibVLCSharp.MAUI
98
/// <summary>
109
/// Object that provides services for managing the queue of work items for a thread
1110
/// </summary>
12-
internal class Dispatcher : Shared.MediaPlayerElement.IDispatcher
11+
internal class Dispatcher : LibVLCSharp.MediaPlayerElement.IDispatcher
1312
{
1413
/// <summary>
1514
/// Schedules the provided callback on the UI thread from a worker thread

src/LibVLCSharp.MAUI/DisplayInformation.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using LibVLCSharp.Shared.MediaPlayerElement;
1+
using LibVLCSharp.MediaPlayerElement;
22
using Microsoft.Maui.Controls;
33
using Microsoft.Maui;
44

src/LibVLCSharp.MAUI/DisplayRequest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using LibVLCSharp.Shared.MediaPlayerElement;
1+
using LibVLCSharp.MediaPlayerElement;
22
using Microsoft.Maui.Controls;
33
using Microsoft.Maui;
44

src/LibVLCSharp.MAUI/MediaPlayerElement.xaml.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
using LibVLCSharp.Shared;
2+
using LibVLCSharp;
33
using Microsoft.Maui.Controls.Xaml;
44
using Microsoft.Maui.Controls;
55
using Microsoft.Maui.Storage;
@@ -66,7 +66,7 @@ public static void RegisterPageLifecycleEvents()
6666
}
6767

6868
/// <summary>
69-
/// Represents an object that uses a <see cref="LibVLCSharp.Shared.MediaPlayer"/> to render audio and video to the display.
69+
/// Represents an object that uses a <see cref="LibVLCSharp.MediaPlayer"/> to render audio and video to the display.
7070
/// </summary>
7171
[XamlCompilation(XamlCompilationOptions.Compile)]
7272
public partial class MediaPlayerElement : ContentView
@@ -89,7 +89,7 @@ public MediaPlayerElement()
8989
typeof(MediaPlayerElement), propertyChanged: LibVLCPropertyChanged);
9090

9191
/// <summary>
92-
/// Gets the <see cref="LibVLCSharp.Shared.LibVLC"/> instance.
92+
/// Gets the <see cref="LibVLCSharp.LibVLC"/> instance.
9393
/// </summary>
9494
public LibVLC LibVLC
9595
{
@@ -101,14 +101,14 @@ public LibVLC LibVLC
101101
/// Identifies the <see cref="MediaPlayer"/> dependency property.
102102
/// </summary>
103103
public static readonly BindableProperty MediaPlayerProperty = BindableProperty.Create(nameof(MediaPlayer),
104-
typeof(LibVLCSharp.Shared.MediaPlayer), typeof(MediaPlayerElement), propertyChanged: MediaPlayerPropertyChanged);
104+
typeof(LibVLCSharp.MediaPlayer), typeof(MediaPlayerElement), propertyChanged: MediaPlayerPropertyChanged);
105105

106106
/// <summary>
107-
/// Gets the <see cref="LibVLCSharp.Shared.MediaPlayer"/> instance.
107+
/// Gets the <see cref="LibVLCSharp.MediaPlayer"/> instance.
108108
/// </summary>
109-
public LibVLCSharp.Shared.MediaPlayer MediaPlayer
109+
public LibVLCSharp.MediaPlayer MediaPlayer
110110
{
111-
get => (LibVLCSharp.Shared.MediaPlayer)GetValue(MediaPlayerProperty);
111+
get => (LibVLCSharp.MediaPlayer)GetValue(MediaPlayerProperty);
112112
set => SetValue(MediaPlayerProperty, value);
113113
}
114114

@@ -173,7 +173,7 @@ private void OnLibVLCChanged(LibVLC libVLC)
173173
}
174174
}
175175

176-
private void OnMediaPlayerChanged(LibVLCSharp.Shared.MediaPlayer mediaPlayer)
176+
private void OnMediaPlayerChanged(LibVLCSharp.MediaPlayer mediaPlayer)
177177
{
178178
var videoView = VideoView;
179179
if (videoView != null)
@@ -219,7 +219,7 @@ private static void LibVLCPropertyChanged(BindableObject bindable, object oldVal
219219

220220
private static void MediaPlayerPropertyChanged(BindableObject bindable, object oldValue, object newValue)
221221
{
222-
((MediaPlayerElement)bindable).OnMediaPlayerChanged((LibVLCSharp.Shared.MediaPlayer)newValue);
222+
((MediaPlayerElement)bindable).OnMediaPlayerChanged((LibVLCSharp.MediaPlayer)newValue);
223223
}
224224

225225
private static void PlaybackControlsPropertyChanged(BindableObject bindable, object oldValue, object newValue)
@@ -301,7 +301,7 @@ private void OnPageDisappearing(object? sender, EventArgs e)
301301
if (Preferences.Get($"VLC_{mediaPlayer.NativeReference}_MediaPlayerElement_IsPlaying", false))
302302
{
303303
mediaPlayer.Play();
304-
mediaPlayer.Position = Preferences.Get($"VLC_{mediaPlayer.NativeReference}_MediaPlayerElement_Position", 0f);
304+
mediaPlayer.SetPosition(Preferences.Get($"VLC_{mediaPlayer.NativeReference}_MediaPlayerElement_Position", 0f));
305305
}
306306
}
307307
}

src/LibVLCSharp.MAUI/PlaybackControls.xaml.cs

+16-16
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
using System.Resources;
55
using System.Threading.Tasks;
66
using LibVLCSharp.MAUI.Resources;
7-
using LibVLCSharp.Shared;
8-
using LibVLCSharp.Shared.MediaPlayerElement;
7+
using LibVLCSharp;
8+
using LibVLCSharp.MediaPlayerElement;
99
using Microsoft.Maui.Controls.Xaml;
1010
using Microsoft.Maui.Graphics;
1111
using Microsoft.Maui.Controls;
@@ -14,7 +14,7 @@
1414
namespace LibVLCSharp.MAUI
1515
{
1616
/// <summary>
17-
/// Represents the playback controls for a <see cref="LibVLCSharp.Shared.MediaPlayer"/>.
17+
/// Represents the playback controls for a <see cref="LibVLCSharp.MediaPlayer"/>.
1818
/// </summary>
1919
[XamlCompilation(XamlCompilationOptions.Compile)]
2020
public partial class PlaybackControls : TemplatedView
@@ -483,7 +483,7 @@ public View ButtonBarEndArea
483483
public static readonly BindableProperty LibVLCProperty = BindableProperty.Create(nameof(LibVLC), typeof(LibVLC), typeof(PlaybackControls),
484484
propertyChanged: LibVLCPropertyChanged);
485485
/// <summary>
486-
/// Gets or sets the <see cref="LibVLCSharp.Shared.LibVLC"/> instance.
486+
/// Gets or sets the <see cref="LibVLCSharp.LibVLC"/> instance.
487487
/// </summary>
488488
public LibVLC LibVLC
489489
{
@@ -495,13 +495,13 @@ public LibVLC LibVLC
495495
/// Identifies the <see cref="MediaPlayer"/> dependency property.
496496
/// </summary>
497497
public static readonly BindableProperty MediaPlayerProperty = BindableProperty.Create(nameof(MediaPlayer),
498-
typeof(LibVLCSharp.Shared.MediaPlayer), typeof(PlaybackControls), propertyChanged: MediaPlayerPropertyChanged);
498+
typeof(LibVLCSharp.MediaPlayer), typeof(PlaybackControls), propertyChanged: MediaPlayerPropertyChanged);
499499
/// <summary>
500-
/// Gets or sets the <see cref="LibVLCSharp.Shared.MediaPlayer"/> instance.
500+
/// Gets or sets the <see cref="LibVLCSharp.MediaPlayer"/> instance.
501501
/// </summary>
502-
public LibVLCSharp.Shared.MediaPlayer MediaPlayer
502+
public LibVLCSharp.MediaPlayer MediaPlayer
503503
{
504-
get => (LibVLCSharp.Shared.MediaPlayer)GetValue(MediaPlayerProperty);
504+
get => (LibVLCSharp.MediaPlayer)GetValue(MediaPlayerProperty);
505505
set => SetValue(MediaPlayerProperty, value);
506506
}
507507

@@ -868,7 +868,7 @@ private static void LibVLCPropertyChanged(BindableObject bindable, object? oldVa
868868

869869
private static void MediaPlayerPropertyChanged(BindableObject bindable, object? oldValue, object newValue)
870870
{
871-
((PlaybackControls)bindable).Manager.MediaPlayer = (LibVLCSharp.Shared.MediaPlayer)newValue;
871+
((PlaybackControls)bindable).Manager.MediaPlayer = (LibVLCSharp.MediaPlayer)newValue;
872872
}
873873

874874
private void OnBuffering()
@@ -961,12 +961,12 @@ private void SelectTrack(TracksManager manager, TrackViewModel track, ListView?
961961
return;
962962

963963
var foundTrack = tracks.First(t => t.Id == track.Id);
964-
manager.CurrentTrackId = foundTrack.Id;
964+
manager.CurrentTrackId = foundTrack.Id!;
965965
PlaybackControls.UpdateTracksListviewItemsSource(track, tracksListview);
966966
}
967967
catch (Exception)
968968
{
969-
manager.CurrentTrackId = -1;
969+
manager.CurrentTrackId = "-1";
970970
}
971971
}
972972

@@ -992,7 +992,7 @@ private ObservableCollection<TrackViewModel> LoadTracks(TracksManager manager)
992992
var currentTrackId = manager.CurrentTrackId;
993993
foreach (var track in tracks)
994994
{
995-
var trackViewModel = new TrackViewModel(track.Id, track.Name);
995+
var trackViewModel = new TrackViewModel(track.Id!, track.Name!);
996996

997997
if (track.Id == currentTrackId)
998998
trackViewModel.Selected = true;
@@ -1097,7 +1097,7 @@ private void RewindButton_Clicked(object? sender, EventArgs e)
10971097
return;
10981098
}
10991099

1100-
mediaPlayer.Time -= SEEK_OFFSET;
1100+
mediaPlayer.SetTime(mediaPlayer.Time - SEEK_OFFSET);
11011101
}
11021102

11031103
private void SeekButton_Clicked(object? sender, EventArgs e)
@@ -1108,7 +1108,7 @@ private void SeekButton_Clicked(object? sender, EventArgs e)
11081108
return;
11091109
}
11101110

1111-
mediaPlayer.Time += SEEK_OFFSET;
1111+
mediaPlayer.SetTime(mediaPlayer.Time + SEEK_OFFSET);
11121112
}
11131113

11141114
private Button? SetClickEventHandler(string name, EventHandler eventHandler, bool fadeIn = false)
@@ -1158,9 +1158,9 @@ private void UpdateTracksSelectionAvailability(TracksManager tracksManager, Butt
11581158
{
11591159
if (tracksSelectionButton != null)
11601160
{
1161-
var c = tracksManager.Tracks?.Where(t => t.Id != -1).Count();
1161+
var c = tracksManager.Tracks?.Where(t => t.Id != null && !t.Id.Equals("-1")).Count();
11621162
UpdateTracksSelectionButtonAvailability(tracksSelectionButton,
1163-
tracksManager.Tracks?.Where(t => t.Id != -1).Count() >= count ? availableState : unavailableState);
1163+
tracksManager.Tracks?.Where(t => t.Id != null && !t.Id.Equals("-1")).Count() >= count ? availableState : unavailableState);
11641164
}
11651165
}
11661166

src/LibVLCSharp.MAUI/TrackViewModel.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class TrackViewModel : INotifyPropertyChanged
1111
/// <summary>
1212
/// Track description Id
1313
/// </summary>
14-
public int Id { get; set; }
14+
public string Id { get; set; }
1515

1616
/// <summary>
1717
/// Track description
@@ -37,7 +37,7 @@ public bool Selected
3737
/// </summary>
3838
/// <param name="id">Track description Id</param>
3939
/// <param name="name">Track description</param>
40-
internal TrackViewModel(int id, string name)
40+
internal TrackViewModel(string id, string name)
4141
{
4242
Id = id;
4343
Name = name;

0 commit comments

Comments
 (0)