From patchwork Wed May 24 08:40:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Kucera X-Patchwork-Id: 3731 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.10.2 with SMTP id 2csp466740vsk; Wed, 24 May 2017 12:14:51 -0700 (PDT) X-Received: by 10.28.191.26 with SMTP id p26mr7434331wmf.54.1495653291021; Wed, 24 May 2017 12:14:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1495653290; cv=none; d=google.com; s=arc-20160816; b=wrnJbbDgXmrYHhOT4yNo2yPVbGxT7AHwFylwWVm2O0VMNe2j9ZyveD40aY6zzGejE8 sTJfDRFy6raHNUvdk1FiEqNzwHMt4VPbenzSHyNj4DvAfP7mspD7HzdaHB7E0jDBqkci aekg1m+EW2hHu3ayq1fYzrVx9aB10JBgGHbZyhu4aWX8PNJstwf+B173WfId29nr3gkE dTsFi+6czltcraGPlcjiHP+0y8oiu6DdGnK05UqLmJdWRxACjGr8+cINgyXusLxcCwXO Rduck0TuybS0JL93JrhyxBTX+l7nTTyS8OTx7mMUdSI+U3bv0+fRJBkTlwWyacAn8htX 3gdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:message-id:date:from:references:in-reply-to :mime-version:dkim-signature:delivered-to:arc-authentication-results; bh=KX+z8J0WmFJ5N2H9r3S22SQiqTlynRRTsQeAOyE1En4=; b=prKeraBXmHOSnb9BU7Zu+kzQWXqEYdiArM3ikxb1yeR21suPHqRfwIEGAUntqaEbJ0 kNmpEBBqHsoC6CfP4jqRvpdCUfqDzjz8M7uu41jHC+ztCd6/1BtM9b/R2WWwCzLr5Y4V zSVYXXt6jSRzlMxK8dvI6VLWtU5psuCYSPTZ65uIl9jcrl85sU7Dmro92jnfwWoHwVUw ACvlSrE2758Lf1UrUI5kK7iyZzvuSdTQpBtQJAbBJnXvtTd5sHQuMUf2bhct0hGl72Gj 1UPF/iznYA/psdCi2YPErJv+OctvXMfC2o8HIOG0cZYddEp2kWud98vXwX5YXKQKk7FO FpCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; 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=NONE 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 21si3596963wmk.61.2017.05.24.12.14.50; Wed, 24 May 2017 12:14:50 -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; 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=NONE 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 D1BAF689B7D; Wed, 24 May 2017 22:14:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f66.google.com (mail-wm0-f66.google.com [74.125.82.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A6FCA689A33 for ; Wed, 24 May 2017 11:40:06 +0300 (EEST) Received: by mail-wm0-f66.google.com with SMTP id g15so25882724wmc.2 for ; Wed, 24 May 2017 01:40:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=GMUJIHFYD0/q8ULbwkgae9X4j2Z0vZQsdKsqupIc9eQ=; b=lli7yPdP2MBj7+r/hsxUsqLSlIcsSBKbTg0kWl9N0/Omq8fjPE3Gt9NC+StMo4EhvP qt+kY/8Fv+6RsRgxe40UHfBj7K8l9lxnhNFMka7uDuOcaDobL3WOuWPuXdxeOO41zlvY Bu1EvlazGmG6cFqjidOJISFRe+/KANsCDPZrQ33B8oAXZBxBejl4snBFkt+KGx9L9BYQ O3DvRhpwwVe+r+g4FIcWPWKwpROewDSRUZJbc6xRYxtXxPXzgc3/0hDdZH7+is+wCFMK tOVJGlyWjIw+jBGV7NUhj1Efahl+ffXZ9ecEMLd+RwvNvUl1dQWGCkNa+uwo0w28Ilqq mq9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=GMUJIHFYD0/q8ULbwkgae9X4j2Z0vZQsdKsqupIc9eQ=; b=R7/twXJVex3h0tY+U/Wzhi/ztJ2QRanWJ5w5HDoi23fEY5E0CQoEfQr+qOiDKQk3cJ pg7DErF/3zLzC1DhX6Ov5+o9xaLBxG9oW6Wm/SlD32kKJzvnekXZISzww5/HGwGRvFOM W4H6cFsHlG3ev/SOJjr12qnXmxYdvpisk2sP18tJ+58QB4Ijs+wTc1D5luxXOCZ71SNE FUAtLajhd5DKeyGYUSyjcCGN4SiRzxlhKfF4Y3tL7QOhsVFCzREcfQd/tn5aKBA5Dtzf iL1t8Wro213ujiG2hTUfTRAxnQitpg98SSYbf8xz+4QeeALo/X6oz0/W4CXIWFEE4HFn xNpw== X-Gm-Message-State: AODbwcDemgdDgvgQqTW02qJgXxUEs6tr4Jq4vPsZUSSQEWCle3lkZ45s 2E+Yjhnh+bKjjZRRbgl93cqtla0QSylJ X-Received: by 10.223.133.200 with SMTP id 8mr18455329wru.94.1495615208307; Wed, 24 May 2017 01:40:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.161.152 with HTTP; Wed, 24 May 2017 01:40:07 -0700 (PDT) In-Reply-To: References: <20170523184402.25394-1-daniel.kucera@gmail.com> <20170524070216.GA1060297@phare.normalesup.org> From: =?UTF-8?Q?Daniel_Ku=C4=8Dera?= Date: Wed, 24 May 2017 10:40:07 +0200 Message-ID: To: FFmpeg development discussions and patches X-Mailman-Approved-At: Wed, 24 May 2017 22:14:42 +0300 Subject: Re: [FFmpeg-devel] [PATCH] udp: ignore UDP packets without payload 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" 2017-05-24 10:10 GMT+02:00 Daniel Kučera : > 2017-05-24 9:02 GMT+02:00 Nicolas George : >> >> Le quartidi 4 prairial, an CCXXV, Daniel Kucera a écrit : >> > Time to time some devices send UDP packets without payload. >> > ffmpeg previously exited on receiving such packet, this patch >> > fixes this behaviour. >> > >> > Signed-off-by: Daniel Kucera >> > --- >> > libavformat/udp.c | 6 +++++- >> > 1 file changed, 5 insertions(+), 1 deletion(-) >> >> I do not think this is correct: UDP is a packetized protocol, packet >> with empty payload are still packets, and meaningful for some protocols. >> >> Regards, >> >> -- >> Nicolas George > > > Maybe, but in libavformat/async.c is zero treated as EOF: > > ret = ring_generic_write(ring, (void *)h, to_copy, wrapped_url_read); > pthread_mutex_lock(&c->mutex); > if (ret <= 0) { > c->io_eof_reached = 1; > if (c->inner_io_error < 0) > c->io_error = c->inner_io_error; > } > > So what do you suggest? > > > S pozdravom / Best regards > Daniel Kucera. Even this patch works for me, do you think it's more suitable? s->eof_reached = 1; S pozdravom / Best regards Daniel Kucera. diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index 1667e9f08b..eeb229d45d 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -631,7 +631,7 @@ int avio_read(AVIOContext *s, unsigned char *buf, int size) if(s->read_packet) len = s->read_packet(s->opaque, buf, size); - if (len <= 0) { + if (len < 0) { /* do not modify buffer if EOF reached so that a seek back can be done without rereading data */