aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md12
-rw-r--r--.github/ISSUE_TEMPLATE/enhancement-request.md8
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md4
-rw-r--r--.github/pull_request_template.md8
-rw-r--r--Jellyfin.Drawing.Skia/Properties/AssemblyInfo.cs21
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs11
-rw-r--r--SocketHttpListener/Net/HttpListenerContext.Managed.cs4
-rw-r--r--SocketHttpListener/Net/HttpListenerContext.cs2
-rw-r--r--SocketHttpListener/Net/HttpListenerRequest.cs2
-rw-r--r--SocketHttpListener/Net/HttpListenerResponse.cs2
-rw-r--r--SocketHttpListener/Net/WebHeaderEncoding.cs2
11 files changed, 55 insertions, 21 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 4abd39cfc..137a689e8 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -8,23 +8,23 @@ assignees: ''
---
**Describe the bug**
-A clear and concise description of what the bug is.
+<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
-Steps to reproduce the behavior:
+<!-- Steps to reproduce the behavior: -->
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
-A clear and concise description of what you expected to happen.
+<!-- A clear and concise description of what you expected to happen. -->
**Logs**
-Please paste any log errors.
+<!-- Please paste any log errors. -->
**Screenshots**
-If applicable, add screenshots to help explain your problem.
+<!-- If applicable, add screenshots to help explain your problem. -->
**System (please complete the following information):**
- OS: [e.g. Docker, Debian, Windows]
@@ -32,4 +32,4 @@ If applicable, add screenshots to help explain your problem.
- Jellyfin Version: [e.g. 10.0.1]
**Additional context**
-Add any other context about the problem here.
+<!-- Add any other context about the problem here. -->
diff --git a/.github/ISSUE_TEMPLATE/enhancement-request.md b/.github/ISSUE_TEMPLATE/enhancement-request.md
index 57c0d4cae..a655b60f5 100644
--- a/.github/ISSUE_TEMPLATE/enhancement-request.md
+++ b/.github/ISSUE_TEMPLATE/enhancement-request.md
@@ -8,13 +8,13 @@ assignees: ''
---
**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
+<!-- A clear and concise description of what you want to happen. -->
**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
+<!-- A clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
-Add any other context or screenshots about the feature request here.
+<!-- Add any other context or screenshots about the feature request here. -->
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index a2ce07245..3cbc8cbb9 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -8,7 +8,7 @@ assignees: ''
---
**Describe the feature you'd like**
-A clear and concise description of what you want to happen.
+<!-- A clear and concise description of what you want to happen. -->
**Additional context**
-Add any other context or screenshots about the feature request here.
+<!-- Add any other context or screenshots about the feature request here. -->
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index b2b3cf241..967be0fb7 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,9 +1,11 @@
+<!--
Ensure your title is short, descriptive, and in the imperative mood (Fix X, Change Y, instead of Fixed X, Changed Y).
For a good inspiration of what to write in commit messages and PRs please review https://chris.beams.io/posts/git-commit/ and our https://jellyfin.readthedocs.io/en/latest/developer-docs/contributing/ page.
+-->
**Changes**
-Describe your changes here in 1-5 sentences.
+<!-- Describe your changes here in 1-5 sentences. -->
**Issues**
-Tag any issues that this PR solves here.
-Fixes #
+<!-- Tag any issues that this PR solves here.
+ex. Fixes # -->
diff --git a/Jellyfin.Drawing.Skia/Properties/AssemblyInfo.cs b/Jellyfin.Drawing.Skia/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..ea1c457f6
--- /dev/null
+++ b/Jellyfin.Drawing.Skia/Properties/AssemblyInfo.cs
@@ -0,0 +1,21 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Jellyfin.Drawing.Skia")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Jellyfin Project")]
+[assembly: AssemblyProduct("Jellyfin: The Free Software Media System")]
+[assembly: AssemblyCopyright("Copyright © 2019 Jellyfin Contributors. Code released under the GNU General Public License Version 2")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: NeutralResourcesLanguage("en")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index d8d0a1aa3..968e3dbcb 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -1438,6 +1438,11 @@ namespace MediaBrowser.Controller.MediaEncoding
if (string.Equals(outputVideoCodec, "h264_vaapi", StringComparison.OrdinalIgnoreCase) && outputSizeParam.Length == 0)
{
outputSizeParam = ",format=nv12|vaapi,hwupload";
+
+ // Add parameters to use VAAPI with burn-in subttiles (GH issue #642)
+ if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode) {
+ outputSizeParam += ",hwmap=mode=read+write+direct";
+ }
}
var videoSizeParam = string.Empty;
@@ -1741,6 +1746,12 @@ namespace MediaBrowser.Controller.MediaEncoding
filters.Add(subParam);
+ // Ensure proper filters are passed to ffmpeg in case of hardware acceleration via VA-API
+ // Reference: https://trac.ffmpeg.org/wiki/Hardware/VAAPI
+ if (string.Equals(outputVideoCodec, "h264_vaapi", StringComparison.OrdinalIgnoreCase))
+ {
+ filters.Add("hwmap");
+ }
if (allowTimeStampCopy)
{
output += " -copyts";
diff --git a/SocketHttpListener/Net/HttpListenerContext.Managed.cs b/SocketHttpListener/Net/HttpListenerContext.Managed.cs
index 29b0a7ae2..79742bf37 100644
--- a/SocketHttpListener/Net/HttpListenerContext.Managed.cs
+++ b/SocketHttpListener/Net/HttpListenerContext.Managed.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.ComponentModel;
using System.Security.Principal;
using System.Text;
@@ -7,7 +7,7 @@ using SocketHttpListener.Net.WebSockets;
namespace SocketHttpListener.Net
{
- public sealed unsafe partial class HttpListenerContext
+ public sealed partial class HttpListenerContext
{
private HttpConnection _connection;
diff --git a/SocketHttpListener/Net/HttpListenerContext.cs b/SocketHttpListener/Net/HttpListenerContext.cs
index 8045299c6..d84e2d1aa 100644
--- a/SocketHttpListener/Net/HttpListenerContext.cs
+++ b/SocketHttpListener/Net/HttpListenerContext.cs
@@ -6,7 +6,7 @@ using SocketHttpListener.Net.WebSockets;
namespace SocketHttpListener.Net
{
- public sealed unsafe partial class HttpListenerContext
+ public sealed partial class HttpListenerContext
{
private HttpListenerResponse _response;
private IPrincipal _user;
diff --git a/SocketHttpListener/Net/HttpListenerRequest.cs b/SocketHttpListener/Net/HttpListenerRequest.cs
index 4924a7fa8..faeca78b2 100644
--- a/SocketHttpListener/Net/HttpListenerRequest.cs
+++ b/SocketHttpListener/Net/HttpListenerRequest.cs
@@ -8,7 +8,7 @@ using SocketHttpListener.Net.WebSockets;
namespace SocketHttpListener.Net
{
- public sealed unsafe partial class HttpListenerRequest
+ public sealed partial class HttpListenerRequest
{
private CookieCollection _cookies;
private bool? _keepAlive;
diff --git a/SocketHttpListener/Net/HttpListenerResponse.cs b/SocketHttpListener/Net/HttpListenerResponse.cs
index a32aca043..66ef88564 100644
--- a/SocketHttpListener/Net/HttpListenerResponse.cs
+++ b/SocketHttpListener/Net/HttpListenerResponse.cs
@@ -5,7 +5,7 @@ using System.Text;
namespace SocketHttpListener.Net
{
- public sealed unsafe partial class HttpListenerResponse : IDisposable
+ public sealed partial class HttpListenerResponse : IDisposable
{
private BoundaryType _boundaryType = BoundaryType.None;
private CookieCollection _cookies;
diff --git a/SocketHttpListener/Net/WebHeaderEncoding.cs b/SocketHttpListener/Net/WebHeaderEncoding.cs
index b65ff3c0d..96e0cc85d 100644
--- a/SocketHttpListener/Net/WebHeaderEncoding.cs
+++ b/SocketHttpListener/Net/WebHeaderEncoding.cs
@@ -71,7 +71,7 @@ namespace SocketHttpListener.Net
}
}
}
- internal static unsafe byte[] GetBytes(string myString)
+ internal static byte[] GetBytes(string myString)
{
byte[] bytes = new byte[myString.Length];
if (myString.Length != 0)