Skip to content

Commit

Permalink
Updates to v3.7.53 (FlyleafLib) / v1.3.13 (FlyleafME) / v1.0.32 (Flyl…
Browse files Browse the repository at this point in the history
…eafHost.WinUI)

* Logger: Adds support for .NET's ILogger
* Player: Adds support for .lnk files
* Player: Adds support for reverse playback with speed
* Renderer: Fixes an issue with odd width/height source frames
* Subtitles: Adds VobSub support (for .sub/.idx)
* Subtitles: Minor fixes & improvements
* VideoDecoder: Fixes an NPE issue during speed change
  • Loading branch information
SuRGeoNix committed Oct 5, 2024
1 parent 5de9b79 commit c2712de
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 23 deletions.
2 changes: 1 addition & 1 deletion FlyleafLib.Controls.WPF/FlyleafLib.Controls.WPF.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFrameworks>net8.0-windows;net6.0-windows;net472</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
<Version>1.3.12</Version>
<Version>1.3.13</Version>
<Authors>SuRGeoNix</Authors>
<Copyright>SuRGeoNix © 2024</Copyright>
<PackageLicenseExpression>LGPL-3.0-or-later</PackageLicenseExpression>
Expand Down
2 changes: 1 addition & 1 deletion FlyleafLib.Controls.WinUI/FlyleafLib.Controls.WinUI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<UseWinUI>true</UseWinUI>
<Nullable>enable</Nullable>
<Authors>SuRGeoNix</Authors>
<Version>1.0.31</Version>
<Version>1.0.32</Version>
<Copyright>SuRGeoNix © 2024</Copyright>
<PackageProjectUrl>https://github.com/SuRGeoNix/Flyleaf</PackageProjectUrl>
<PackageIcon>Flyleaf.png</PackageIcon>
Expand Down
25 changes: 8 additions & 17 deletions FlyleafLib/FlyleafLib.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<PackageIconUrl />
<RepositoryUrl></RepositoryUrl>
<Description>Media Player .NET Library for WinUI 3/WPF/WinForms (based on FFmpeg/DirectX)</Description>
<Version>3.7.52</Version>
<Version>3.7.53</Version>
<Authors>SuRGeoNix</Authors>
<Copyright>SuRGeoNix © 2024</Copyright>
<PackageLicenseExpression>LGPL-3.0-or-later</PackageLicenseExpression>
Expand All @@ -17,22 +17,13 @@
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageReleaseNotes>
* Renderer: Alpha blend improvements
* Renderer: Introduces Config.Video.PresentFlags which allows to configure waitable / non-waitable swap chains
* Renderer: Removes HLG define for pixel shader (currently works better without it)
* Renderer: Exposing Config.Video.MaxFrameLatency to manually set it if required
* Renderer: Adds support for big-endian pixel formats through SwsScale
* AudioDecoder: Minor filter graph improvements
* VideoStream: Fixes an issue with fps (mainly for broken formats)
* Subtitles: Adds Bitmap support with alpha blend (mainly for dvd/blu-ray)
* Player: Fixes an issue with the duration reported as one frame duration less
* Player: Latency improvements
* Updates MaterialDesignThemes and System.Text.Json packages

[Breaking Changes]

Changing the swap chain to non-waitable by default which should reduce player's re-buffering during GPU overload (e.g. when user interacts with the UI and decodes a 4K/8K video or using multiple swap chains/players).
This also reduces the latency as the decoder does not require to wait for 10ms (sleep). You can use the previous behaviour by setting PresentFlags back to None.
* Logger: Adds support for .NET's ILogger
* Player: Adds support for .lnk files
* Player: Adds support for reverse playback with speed
* Renderer: Fixes an issue with odd width/height source frames
* Subtitles: Adds VobSub support (for .sub/.idx)
* Subtitles: Minor fixes &amp; improvements
* VideoDecoder: Fixes an NPE issue during speed change
</PackageReleaseNotes>
</PropertyGroup>

Expand Down
14 changes: 13 additions & 1 deletion FlyleafLib/MediaFramework/MediaPlaylist/M3UPlaylist.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public static List<M3UPlaylistItem> ParseFromHttp(string url, int timeoutMs = 30
{
string downStr = Utils.DownloadToString(url, timeoutMs);
if (downStr == null)
return null;
return new();

using StringReader reader = new(downStr);
return Parse(reader);
Expand Down Expand Up @@ -100,6 +100,18 @@ private static List<M3UPlaylistItem> Parse(TextReader reader)
item.Url = line;
items.Add(item);
}

// TODO: for m3u8 saved from windows media player
//else if (!line.StartsWith("#"))
//{
// M3UPlaylistItem item = new();
// item.Url = line.Trim(); // this can be relative path (base path from the root m3u8) in case of http(s) this can be another m3u8*
// if (item.Url.Length > 0)
// {
// item.Title = Path.GetFileName(item.Url);
// items.Add(item);
// }
//}
}

return items;
Expand Down
5 changes: 2 additions & 3 deletions FlyleafLib/Plugins/OpenDefault.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ public OpenResults Open()
} catch { }


// Playlists (M3U, PLS | TODO: WPL, XSPF)
if (ext == "m3u")
// Playlists (M3U, M3U8, PLS | TODO: WPL, XSPF)
if (ext == "m3u")// || ext == "m3u8")
{
Playlist.InputType = InputType.Web; // TBR: Can be mixed
Playlist.FolderBase = Path.GetTempPath();
Expand Down Expand Up @@ -101,7 +101,6 @@ public OpenResults Open()
return new OpenResults();
}


// Single Playlist Item

if (uriType == "file")
Expand Down

0 comments on commit c2712de

Please sign in to comment.