From patchwork Fri Aug 31 05:20:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodger Combs X-Patchwork-Id: 10186 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp345448jap; Thu, 30 Aug 2018 22:28:37 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYEU0njSKnrYTm1TAGz5tblMs0LDKbA1j8w4tKLwWkt9cNw5nK0CPJzq5nzSEtt2yrpr3zN X-Received: by 2002:a1c:f001:: with SMTP id a1-v6mr3819825wmb.160.1535693317081; Thu, 30 Aug 2018 22:28:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535693317; cv=none; d=google.com; s=arc-20160816; b=zX/m0nqsC+K506eAXSzOQxhDlrLa2JvnX1rhRZykdQekGLEojiMAnLelEPt4F7qxoL hXFBg6vWHg1+9ffi07sexaw5GE2NUNWgvMYe4fI+W1KQ3s0uck7N8jWz0qLlfh+0W5NK KMiT1AC4uzq9jVjHrZrSCzDW7zyR+JWRaRO95StZ7rwp0c7GMttTuvrGi10l1QSQlhwH fvlylhTA8f1R0mY2Npbt20qAjdUFa/UVJ1y9o5ul4u7rX90qaXR0FmI/HASLyWZ2IZHK UAHhuPPj9Vi9MRGO9E8bLrHQRDVHu3hSKm8Nc3l5lGNcTeiZ1b+AW1WpcfxTWjlqSCQb 3csA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=B89Tck3GL/EsNrIDd4uzfyOmxYmVRNJkjp9V09s56Ys=; b=L8AqJbcA4ikoAQc3ZKJQU1ZELvIRNoa99PiTyg0kb1TgCoKRIvqH/4Y1tyP27balAV LhGTKs7uOjW5Fii2w6boC+PX/vKH08f/x+qnrSWZ4UnpG5I1oBzd7rhCLjBvoFr+9eaI z6fAOznIgmFj2oR6ssOlvWXaQB9teiZ4nSCfQSaM+izZ5HcPzgd4+/qpEynQpPtMNeAp fuMp3fL8QnMkAG35RSlEm2PKg4OtSUT+aQKG5BDeav4o0vM7RutwVdV+CoappkMFupTc Sj4C6vH7QvQ79wjwZs2otdslcdsQIbgbIeV5OUKCCS3OHGu/+y92vuePfNBc4DloatJ3 LFmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=EsM+TpWM; 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 123-v6si2141113wmm.15.2018.08.30.22.28.36; Thu, 30 Aug 2018 22:28:37 -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=EsM+TpWM; 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 CEB7768999A; Fri, 31 Aug 2018 08:28:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f171.google.com (mail-io0-f171.google.com [209.85.223.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF0E6689834 for ; Fri, 31 Aug 2018 08:28:23 +0300 (EEST) Received: by mail-io0-f171.google.com with SMTP id r196-v6so9531789iod.0 for ; Thu, 30 Aug 2018 22:28:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=+irvs8HJsKUrEOgXjTygrDAgbG6Rqucw9vI3qEq3nC4=; b=EsM+TpWM5WNIsvtqsgl5CdRKmRRNU26+6uOqhf/Ze4bIZ4/gfRrdtsygr4C/rdKJPO vpB0xnIXmX6KB5aMPwbb7YKLH9a6hiot7CGndJer5qNa/0/0eRx24YioiC9r3IMB8PRC aLy1NrXt2Ewn+blI+1kauUZIgG3WK73xCxJQf2+UUdGSAgKseM7w5ZhKghf2jKhjypDx /X6gawKNwaraXgbWOK1AE2zrN+BbFo3jFBoidJq0QvddSIzP6tDJqFPL6o6pHlqEaHtR zrCrS0Aq0fDgAY/zAHMRaP0n7paOClPtXstrP1h0yxK4ZmwS8ErB3oEBuhKWZCdNbAsC Q0Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=+irvs8HJsKUrEOgXjTygrDAgbG6Rqucw9vI3qEq3nC4=; b=YNrFNEsp+2r1fAfWA8lQCQO6fnkyAe7SWYcYISBqZgt6qHXJcL+bPqj5cWe/yqTs0P BXf9PndJFf4IGiFT35FsqQ0R8W3LY5l1DK8GFmVQYJBL/U+aaV84oGxmWm+wUZ1TLN5c AC6V1RglC6jgUPqZYtsHRID3bOTQcAs0qype+a8kGZ+OHHOzGaGqxokV35QMjKvuBKK5 s3ObYosYoFZpc1nVmNcdm8aRXvH0/u9w0UV2GVpG6WN1DZumHFk3mOZYkmqyHKo2Sfok EeZ0rwj6c0fo/mRaDfCD9mUp3WmoneaHh4WdfOaYes3BXkdjhDYUK9Ukp1hHn8WaMqMc xtjQ== X-Gm-Message-State: APzg51Dh6DKEJt6I/RlJcx1XuUmdZGLlLQHrxmEnuo74ej7GCc6SMXHD V759bDEYJHA2LJmy7hEHZr1z4UIf X-Received: by 2002:a6b:e00d:: with SMTP id z13-v6mr10863923iog.70.1535692836271; Thu, 30 Aug 2018 22:20:36 -0700 (PDT) Received: from MacBook-Pro.localdomain ([71.201.155.37]) by smtp.gmail.com with ESMTPSA id k18-v6sm3702783iom.73.2018.08.30.22.20.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 30 Aug 2018 22:20:34 -0700 (PDT) From: Rodger Combs To: ffmpeg-devel@ffmpeg.org Date: Fri, 31 Aug 2018 00:20:30 -0500 Message-Id: <20180831052030.86840-1-rodger.combs@gmail.com> X-Mailer: git-send-email 2.18.0 Subject: [FFmpeg-devel] [PATCH] lavf/mpegtsdec: fix AVPacket.pos when FEC/DVHS/BDAV data is present 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" We previously set pos to several bytes before the actual packet sync byte, which meant that seeking to pos relied on resync working, which can fail if there are 0x47 bytes in the additional data. The resync issue should probably also be fixed separately. --- libavformat/mpegts.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index a5cb17ac16..881708b42d 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2581,10 +2581,9 @@ static int handle_packet(MpegTSContext *ts, const uint8_t *packet) } else { int ret; - // Note: The position here points actually behind the current packet. if (tss->type == MPEGTS_PES) { if ((ret = tss->u.pes_filter.pes_cb(tss, p, p_end - p, is_start, - pos - ts->raw_packet_size)) < 0) + pos - TS_PACKET_SIZE)) < 0) return ret; } }