cvium 3 年 前
コミット
30230aff73

+ 9 - 3
src/Jellyfin.MediaEncoding.Hls/Jellyfin.MediaEncoding.Hls.csproj

@@ -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>

+ 9 - 1
src/Jellyfin.MediaEncoding.Keyframes/FfProbe/FfProbeKeyframeExtractor.cs

@@ -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();
     }
 }

+ 10 - 2
src/Jellyfin.MediaEncoding.Keyframes/FfTool/FfToolKeyframeExtractor.cs

@@ -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();
     }
 }

+ 6 - 1
src/Jellyfin.MediaEncoding.Keyframes/Jellyfin.MediaEncoding.Keyframes.csproj

@@ -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>

+ 3 - 0
src/Jellyfin.MediaEncoding.Keyframes/KeyframeData.cs

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

+ 1 - 0
src/Jellyfin.MediaEncoding.Keyframes/Matroska/Extensions/EbmlReaderExtensions.cs

@@ -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)
         {