From patchwork Wed Jun 13 10:27:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gj X X-Patchwork-Id: 9394 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp938373jad; Wed, 13 Jun 2018 10:59:43 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIOHNeAccEZQ4n6Mcdm7FTgRJhbwSrhXcpYCd0VBDCGhso+itNh0YFjvoMWxMW0rWLOP9tU X-Received: by 2002:a1c:ad4:: with SMTP id 203-v6mr4034135wmk.98.1528912783899; Wed, 13 Jun 2018 10:59:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528912783; cv=none; d=google.com; s=arc-20160816; b=P0uXQyDdOvp+ic5GIlRafsfSp/Vbj6iFbrPGoCydhcOtsyqDoXcdMAgWWveuFqzgU4 dhRocw0f0BZct1V5gwC20fK5erSBiuac4wPuwKm4GFGrBJ9NTmWbvKsj08+fibmdiSL+ +KRatUFOkoCIi2s0PykAJRlOYavDWaIakXLOta7VwdsVN00dQNo7WBdGBE++UFpUUfT+ METJVrkOqnBOmdPvMx0zq6s+KGDaF7T+gWDa+IjmAj2jzTOVCrunUsO2Agera/XOuoEG GET3UHtJTVMPt7+YxV5vopVXpLguhpZqxo+ej3dx+Hn7ceR6GJ5Uhy4nnh9MtFktoqvf ZtLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=vDPpY+F9G3l13t56Qrtu8TQ+vBemtgV6mqyjonx6XWQ=; b=Tz7V7Kz+JnwoA/BW419Vss7L5yPb0UMZ2B6cU02Sh9tj5mEEwjiiLP1EU2qN8pgWf0 qih94RDY8WEBNYkLDc89nQK1vv6/VtIbNyQkQ49FtACZ8lbbzypn9YSmmECSUweWf28Q e894qVPHj/vwXOjaeg4pviI6o6YYjF3QPYSy2hvrEqncQ8kBJKSmyCH2M7eWvAPQ52EH PjzIfaCbLneYcuALUQNVmf8ka/QOP8Gd+XeWDLYYDcb3+NyUtV4UUcESCoOtEmIMtNSC PaQP5rdwhxH3pFAiJ0ckY9jpEzE3FfJK7kZZnhzG0AV5jTKSflTfax6nJVjsJRBvfb5F Cz3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HtRf9Dim; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j141-v6si1657897wmf.115.2018.06.13.10.59.43; Wed, 13 Jun 2018 10:59:43 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HtRf9Dim; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0BEA668B0E8; Wed, 13 Jun 2018 20:58:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi0-f50.google.com (mail-oi0-f50.google.com [209.85.218.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 92E1768AF4C for ; Wed, 13 Jun 2018 13:26:44 +0300 (EEST) Received: by mail-oi0-f50.google.com with SMTP id 188-v6so1801229oid.12 for ; Wed, 13 Jun 2018 03:27:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=3t/tSV81hC/7uDec/HwaysOvQrwkt/eQaaQY/eT4R6o=; b=HtRf9DimVUfxodx1JkrRFWdKiQQq7mJnXbmxFk1NQltYki04y7GfFsUUzDvr4Wmf2l fYw1Ubd4RK1JXWGu0gftxOXw3JmkC43vhxmHF6CpGXaZd8rWAkWOi77g9AxtwoJiLscg k8s6OET/+h0jdeuYZa9J/SsTQZAgqScnWjKfmwEtG8xI0M9jp+i+e9CaP3aRwjahUyx/ Xqmuj7omCz5iGLiB6VHcGwpPHpq2ES9Ip/CwdV/Ev1gwlAY9KJu1OaJVWcL7UYftCLXr DvcDlWjKL2TeSQgAD+kl3xm9X1Yr9yePTRdiB4IQTzknLGBUVCKIezrvnKAHpd25krIw zEJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=3t/tSV81hC/7uDec/HwaysOvQrwkt/eQaaQY/eT4R6o=; b=PjHWCz9i15eF+f1Ceb4pT8s+e4ALHaYn6YGWpmWkAnQgxTeIUEOwNtcfa5lFJFCuno jysRfcTA/JauelYDeMQkQkcQ+cXSS0jsfSKICc5GFjWRtSO86vhiG4wGq0/TeTEKd+/D 5JGzoWvgGirDEh60TVSEMLeSWwYoGi9JzpShXshk+B5M18yfSfRUGN3pLmjqHVbiHEAc UUW1n1gN02HwmTPk3eic8+ikNTN1eT/dNi+vOY2Ea535Wcy26Qg+ImUoryxecYFxCDE1 Nl8fAqoUiQHAveCvS99SHdNNode7mPYlV2UXrqgbSFGR7K29AbjceF6g2oKLz8gATI+n kZ5g== X-Gm-Message-State: APt69E1lrQXpTGzTHPyayTBXGb25S5BTF1+xubmpGjuCwUVooZ42/ZGK MIbXsCwFdROaHJTqR9lxYNLuJj5vNPvBWSWgad56yjbi X-Received: by 2002:aca:49c4:: with SMTP id w187-v6mr4255687oia.123.1528885653104; Wed, 13 Jun 2018 03:27:33 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ac9:4805:0:0:0:0:0 with HTTP; Wed, 13 Jun 2018 03:27:32 -0700 (PDT) From: Gj X Date: Wed, 13 Jun 2018 18:27:32 +0800 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Mailman-Approved-At: Wed, 13 Jun 2018 20:58:50 +0300 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] fix ftp hang up because not return AVRRROR_EOF X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" fix: if (s->state == DISCONNECTED) { use follow command hang up ./ffmpeg -loglevel level+debug -i ftp://chiwailam:"abcd1234!"@ 192.168.1.114/orgvideos/9926558478.avi -f null - ffmpeg version: libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 diff --git a/libavformat/ftp.c b/libavformat/ftp.c index 9aa7a45629..3474a0adbc 100644 --- a/libavformat/ftp.c +++ b/libavformat/ftp.c @@ -777,7 +777,11 @@ static int ftp_read(URLContext *h, unsigned char *buf, int size) { FTPContext *s = h->priv_data; int read, err, retry_done = 0; - + if(s->position >= s->filesize) + { + ff_dlog(h,"ftp protocol reach file end\n"); + return AVERROR_EOF; + } ff_dlog(h, "ftp protocol read %d bytes\n", size); retry: