From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id C53714BA78 for ; Sat, 26 Jul 2025 16:10:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id A213368D0C4; Sat, 26 Jul 2025 19:10:02 +0300 (EEST) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1DA8368C183 for ; Sat, 26 Jul 2025 19:09:56 +0300 (EEST) Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-558fa0b2c99so2588397e87.2 for ; Sat, 26 Jul 2025 09:09:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dacast.com; s=google; t=1753546195; x=1754150995; darn=ffmpeg.org; h=content-transfer-encoding:content-language:to:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=a2zyLyv6LZw7YXSqIicHD33fr2q9ewUspVdqeeLebb8=; b=FtwzGlc6cuWmgNVhoDhJ+ES2VU5Da6PlxijCmwwFwBPuU3o2HQnbh6huox4Z6mObIu xDt8RMDqDvbQfGAjWlGLdJv+Qj1DqjArEZHztMwSOZzXGoxpSeyEDDk/lDeBHBckZMQb TnbbtklhTW3JSkK5epFxacegpe2jkW3Rrxq2c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753546195; x=1754150995; h=content-transfer-encoding:content-language:to:subject:from :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=a2zyLyv6LZw7YXSqIicHD33fr2q9ewUspVdqeeLebb8=; b=Fxg5D/wWzgTuaMqvth+wYji4msoTtlhG9mhCW2/YPvwPM3WS0QUUOHOlBdfasLDMSc H3Ydr5Q45jXDQzJvjMHQGBQb1tbO+JAzbzKVgRp6bHnxETB17+dDmLRhr7k0frVd2gf3 +xrLfDkLqmPS+Gu66TdS9EQ0Q+5gDOjE0tlHR2RGyUvB6oRtpveavgY5deIEIgkjGh5V XM0PTy91p+Y1ogl6a3k588hLA62xGY/Mooh3vLDK/IzrI3ZpO1PyVJPxfEWlNSTzJtkd 1LuX6p2MwNj9pCAQi7VG/Zt+/xlxaXR31dFJVp0SB0joECAjnzGbMdwR6RGJpPrLsIPu dyXw== X-Gm-Message-State: AOJu0YywaB2fGfq2G7hekAoTQkti3PlnUDmZXVm/QprHNcYbZQRNk56K bXob9P2f/I7Mz0rhyRim31Y93+aUNRtDgzTwn/YspZb9lALv5c6pWwEP2bL6tkz2sanTMmGh1xq zZCB10GQ= X-Gm-Gg: ASbGncvNxEqZKh28LLlac1u4eQuT60T2vZqYVEAtwP0AbdskwJaMxBnqoOWvGPrGNn+ KRc1RlxsOz5I61bM2KPAoSKa38Rt91tQi2LzPKhrpy/37DbyYLgDS1Off+oQPuPiSEYN+PuTWG0 L08qf4j+XYVDdDCrdPU/BNJTkqYgspMRe2pvU0V5VHQmbZH/FOSSup8ONBMKfv5dpjBsRP90kpI OjG6b2JQ1mGcTf8T28Jv0AEFM0zDa3RCiqShtoASAWBq2Uw4yUzaandrhE9OzqHZIexwZGJYmwG GYgUeNjqEgM0nieB0ruTq+zyf4b7ZTj6np193fbpbVJH8iUkJZ+HGs1hyr+yAxjsOSPEV3GYkk4 aKGZ+gmHJPQ1q6UR8ebKB56yyrMPFkpXXoi4v3nj+ZUHeq5zzrw== X-Google-Smtp-Source: AGHT+IHoqQ0n8pAEargRJh5437iDDVoSfcsqD+esAaAf3SD2rlvGUoUzPZfTvIZZe0yINyKwseOkzw== X-Received: by 2002:a05:6512:b06:b0:553:acbf:e003 with SMTP id 2adb3069b0e04-55b5f41778bmr1374903e87.13.1753546194408; Sat, 26 Jul 2025 09:09:54 -0700 (PDT) Received: from [192.168.88.174] ([212.46.15.120]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-55b6316d50bsm487769e87.18.2025.07.26.09.09.53 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 26 Jul 2025 09:09:53 -0700 (PDT) Message-ID: <4adefa24-a578-4c98-858c-01b52fd021b4@dacast.com> Date: Sat, 26 Jul 2025 19:09:54 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Artem Smorodin To: ffmpeg-devel@ffmpeg.org Content-Language: ru Subject: [FFmpeg-devel] [PATCH] avformat/hlsenc: limit segments count to search duplicated segments filenames X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This linear search has a complexity of O(n). When ffmpeg attempts to parse a playlist containing approximately 100,000 segments, it effectively causes a hang for several minutes. This patch limits the allowed size for duplicate searches to a reasonable value. Now it takes between 0.5 and a few seconds (tested on different devices) instead of several minutes. Signed-off-by: Artem Smorodin --- libavformat/hlsenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index a93d35ab75..d3db83093c 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1172,7 +1172,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, if (hls->use_localtime_mkdir) { filename = vs->avf->url; } - if ((find_segment_by_filename(vs->segments, filename) || find_segment_by_filename(vs->old_segments, filename)) + if (vs->nb_entries <= 5000 && (find_segment_by_filename(vs->segments, filename) || find_segment_by_filename(vs->old_segments, filename)) && !byterange_mode) { av_log(hls, AV_LOG_WARNING, "Duplicated segment filename detected: %s\n", filename); } -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".