diff options
| author | Bond-009 <bond.009@outlook.com> | 2023-10-31 15:27:51 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-31 15:27:51 +0100 |
| commit | 4962640b3a2cf21f6c1b9320e8dc3be8cdb7558c (patch) | |
| tree | 219c757751967942164f16567efe2b6e3d959e90 /MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | |
| parent | fd99b4fe8afeef7f060098afe2b01b04cdf60bf2 (diff) | |
| parent | 123c6e7d1bc3a9459eb54697c293763b753b7295 (diff) | |
Merge pull request #10448 from vincent/bugfix/10175-forward-user-agent-ffprobe
Forward user_agent config to ffprobe
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 4668b8bbb..4dbefca4b 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -418,9 +418,24 @@ namespace MediaBrowser.MediaEncoding.Encoder public Task<MediaInfo> GetMediaInfo(MediaInfoRequest request, CancellationToken cancellationToken) { var extractChapters = request.MediaType == DlnaProfileType.Video && request.ExtractChapters; - var analyzeDuration = string.Empty; + var extraArgs = GetExtraArguments(request); + + return GetMediaInfoInternal( + GetInputArgument(request.MediaSource.Path, request.MediaSource), + request.MediaSource.Path, + request.MediaSource.Protocol, + extractChapters, + extraArgs, + request.MediaType == DlnaProfileType.Audio, + request.MediaSource.VideoType, + cancellationToken); + } + + internal string GetExtraArguments(MediaInfoRequest request) + { var ffmpegAnalyzeDuration = _config.GetFFmpegAnalyzeDuration() ?? string.Empty; var ffmpegProbeSize = _config.GetFFmpegProbeSize() ?? string.Empty; + var analyzeDuration = string.Empty; var extraArgs = string.Empty; if (request.MediaSource.AnalyzeDurationMs > 0) @@ -442,15 +457,12 @@ namespace MediaBrowser.MediaEncoding.Encoder extraArgs += " -probesize " + ffmpegProbeSize; } - return GetMediaInfoInternal( - GetInputArgument(request.MediaSource.Path, request.MediaSource), - request.MediaSource.Path, - request.MediaSource.Protocol, - extractChapters, - extraArgs, - request.MediaType == DlnaProfileType.Audio, - request.MediaSource.VideoType, - cancellationToken); + if (request.MediaSource.RequiredHttpHeaders.TryGetValue("user_agent", out var userAgent)) + { + extraArgs += " -user_agent " + userAgent; + } + + return extraArgs; } /// <inheritdoc /> |
