fix: skip reconnect options when using curl pipe input
Reconnect options (-reconnect, -reconnect_streamed, etc.) only apply to network inputs and cause 'Option reconnect not found' errors when the input is pipe:0. Curl already handles connection resilience.
This commit is contained in:
@@ -660,7 +660,8 @@ public sealed partial class FfmpegService
|
|||||||
var useIntermediateTransportStream = ShouldUseIntermediateTransportStream(outputFilePath, outputFormat, saveMode);
|
var useIntermediateTransportStream = ShouldUseIntermediateTransportStream(outputFilePath, outputFormat, saveMode);
|
||||||
|
|
||||||
var effectiveStreamUrl = streamUrl;
|
var effectiveStreamUrl = streamUrl;
|
||||||
if (IsHttpInput(streamUrl))
|
var isPipeInput = IsHttpInput(streamUrl);
|
||||||
|
if (isPipeInput)
|
||||||
{
|
{
|
||||||
// When the input is HTTP, use pipe:0 so that curl handles the HTTP connection.
|
// When the input is HTTP, use pipe:0 so that curl handles the HTTP connection.
|
||||||
// This avoids FFmpeg's built-in HTTP handler which has a hard-coded 4096-byte
|
// This avoids FFmpeg's built-in HTTP handler which has a hard-coded 4096-byte
|
||||||
@@ -671,6 +672,7 @@ public sealed partial class FfmpegService
|
|||||||
|
|
||||||
if (enableReconnect &&
|
if (enableReconnect &&
|
||||||
inputOptionProfile == FfmpegInputOptionProfile.Baseline &&
|
inputOptionProfile == FfmpegInputOptionProfile.Baseline &&
|
||||||
|
!isPipeInput &&
|
||||||
ShouldEnableReconnect(streamUrl, selectedProtocol))
|
ShouldEnableReconnect(streamUrl, selectedProtocol))
|
||||||
{
|
{
|
||||||
arguments.AddRange(
|
arguments.AddRange(
|
||||||
|
|||||||
Reference in New Issue
Block a user