pull/6600/head
cvium 3 years ago
parent d995f0e092
commit 30230aff73

@ -2,8 +2,14 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="../../SharedVersion.cs" />
</ItemGroup>
<!-- Code Analyzers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
@ -12,9 +18,9 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
<ProjectReference Include="..\Jellyfin.MediaEncoding.Keyframes\Jellyfin.MediaEncoding.Keyframes.csproj" />
<ProjectReference Include="../../MediaBrowser.Common/MediaBrowser.Common.csproj" />
<ProjectReference Include="../../MediaBrowser.Controller/MediaBrowser.Controller.csproj" />
<ProjectReference Include="../Jellyfin.MediaEncoding.Keyframes/Jellyfin.MediaEncoding.Keyframes.csproj" />
</ItemGroup>
<ItemGroup>

@ -2,9 +2,17 @@
namespace Jellyfin.MediaEncoding.Keyframes.FfProbe
{
/// <summary>
/// FfProbe based keyframe extractor.
/// </summary>
public static class FfProbeKeyframeExtractor
{
// TODO
/// <summary>
/// Extracts the keyframes using the ffprobe executable at the specified path.
/// </summary>
/// <param name="ffProbePath">The path to the ffprobe executable.</param>
/// <param name="filePath">The file path.</param>
/// <returns>An instance of <see cref="KeyframeData"/>.</returns>
public static KeyframeData GetKeyframeData(string ffProbePath, string filePath) => throw new NotImplementedException();
}
}

@ -2,9 +2,17 @@
namespace Jellyfin.MediaEncoding.Keyframes.FfTool
{
/// <summary>
/// FfTool based keyframe extractor.
/// </summary>
public static class FfToolKeyframeExtractor
{
// TODO
public static KeyframeData GetKeyframeData(string ffProbePath, string filePath) => throw new NotImplementedException();
/// <summary>
/// Extracts the keyframes using the fftool executable at the specified path.
/// </summary>
/// <param name="ffToolPath">The path to the fftool executable.</param>
/// <param name="filePath">The file path.</param>
/// <returns>An instance of <see cref="KeyframeData"/>.</returns>
public static KeyframeData GetKeyframeData(string ffToolPath, string filePath) => throw new NotImplementedException();
}
}

@ -2,9 +2,14 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>Jellyfin.MediaEncoding.Keyframes</RootNamespace>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="../../SharedVersion.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="NEbml" Version="0.11.0" />
</ItemGroup>

@ -2,6 +2,9 @@
namespace Jellyfin.MediaEncoding.Keyframes
{
/// <summary>
/// Keyframe information for a specific file.
/// </summary>
public class KeyframeData
{
/// <summary>

@ -120,6 +120,7 @@ namespace Jellyfin.MediaEncoding.Keyframes.Matroska.Extensions
/// Reads from SegmentContainer to retrieve the Info segment.
/// </summary>
/// <param name="reader">An instance of <see cref="EbmlReader"/>.</param>
/// <param name="position">The position of the info segment relative to the Segment container.</param>
/// <returns>Instance of <see cref="Info"/></returns>
internal static Info ReadInfo(this EbmlReader reader, long position)
{

Loading…
Cancel
Save