From patchwork Sun Apr 3 10:23:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: TADANO Tokumei X-Patchwork-Id: 35147 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c05:b0:7a:e998:b410 with SMTP id bw5csp1460272pzb; Sun, 3 Apr 2022 03:24:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzd7SRM6o4gkt1AUYU+AQ+y0bzyJS6rha8ToOsHI5EMeOr4wX+/y7K8VDIX3/4rR+JYNVfR X-Received: by 2002:a17:906:9b95:b0:6e0:6f6b:997 with SMTP id dd21-20020a1709069b9500b006e06f6b0997mr6378264ejc.367.1648981446172; Sun, 03 Apr 2022 03:24:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648981446; cv=none; d=google.com; s=arc-20160816; b=qEIl/UiQW1dy9dFdIG4dG/QKw2CI3uIgFKXgaO/WM6tmOrtbtApxhf+flyKbrUPnKC E979BF33f/kwK/yg234lS7+L3xLjULJc4ABgG030gtXH/547AbxhlDwBa9GJ9V47LPsr w6vyviRO9TubFE2OreSeDgR27kr38Pc4btJVKos2Np4HSW9rB8JV+mD05gj1+rvYGFtP dUya+6jo/OjpHQYu0nDYBQXIn9iBrt/VZs2vI/5/GZjMwJTCXWUVqXyp9iNDwYA2iDpT IeKdUUrk3oK6Yf6GTJXm9+aWaG+zjm2Z1gOGxGIx5FomugiQ6I1/nuNRRRueyf3hIIRr 9L0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:dkim-filter:delivered-to; bh=FVgrY3FM13HcZEYputtrjDLo6r9dR9t0m10r4+IX9Y8=; b=IiQuqcdA3Jpu7iBrvXDv8oSGNL0KBWjRj7ygSb5y55pfpb6i1m07eo0lLbwYluVC0k SKx4LCTh2JESiI+P7dQYY8OjbAcEcds9K80MSkL+GumTLX5PrK3PJfKxFOSgAjFKIIV4 5vjIk+h8oGAkKWKdpeCSzv0s3MfKjIslPW/5f/tqTtbPwMKhlFy1bMxVXH8I7XaDx10n 0cmzhvt23fFnkQ/fXM+Ll5q/J8AcWC5qSw2RyLGtghr3HKCr+1AH77BRNbig0AiXsJ0M Ypl7j1or/P/4ioGYZfK85DEEvSZ2t6YZqq6SA0N0QMbLKwSDd80PuHuFRgNoNgezIVhf pXpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=EeFR+IK8; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y18-20020a170906559200b006e123869851si4323742ejp.781.2022.04.03.03.24.05; Sun, 03 Apr 2022 03:24:06 -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=@nifty.com header.s=dec2015msa header.b=EeFR+IK8; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 01F9D68B1C6; Sun, 3 Apr 2022 13:24:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from conssluserg-02.nifty.com (conssluserg-02.nifty.com [210.131.2.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A4C8768005B for ; Sun, 3 Apr 2022 13:23:54 +0300 (EEST) Received: from osamu-pc.kimura.local (M106073025034.v4.enabler.ne.jp [106.73.25.34]) (authenticated) by conssluserg-02.nifty.com with ESMTP id 233ANOIb016526; Sun, 3 Apr 2022 19:23:28 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com 233ANOIb016526 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1648981408; bh=PeFAEA6Bn+7YWlLcJ/E+dKrK3JuGfe70dTHnJcwTaAo=; h=From:To:Cc:Subject:Date:From; b=EeFR+IK8Rf42UOieiOZzaj1/FKacumBJZpX/T8XxQWJFH0Y/R+MTSKUUebkAYaXYr G3p2YPVMvzAIb4lL1eQIE3kgfPuAQgtx+itE2FTdRnc12EOJeR+MmSRDPJm/mnrp0o zMZPKnu8gRNDQ8TS11a7BgcViNHL8ftt1SCr3R3N8JH+tL04RhWla3SvBH4IENo38F 65jAuFqikDu4Qgokyef1zirGpNmE/Maijh4SiVKgPy9ES1FTwnSXYA/Mj7HeZZUXjH 8Vufl1n0RipgjZdxQN/ian18UY86WAPlHbU3JQof2AiQtnDeo/qGXKvrLsFGu+tNk9 8Xooad3Z3l3/A== X-Nifty-SrcIP: [106.73.25.34] From: TADANO Tokumei To: ffmpeg-devel@ffmpeg.org Date: Sun, 3 Apr 2022 19:23:16 +0900 Message-Id: <20220403102316.189763-1-aimingoff@pc.nifty.jp> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavformat/mpegts.c: ignore a section with next flag 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 Cc: TADANO Tokumei Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: APfKtA6cIl87 'current_next_indicator' of 0 (next) on each section header indicates the service information is for immediate future one. ffmpeg doesn't need to parse it but current (1) one. ref: section 5.1.1 of DVB BlueBook A038 (EN 300 468) Signed-off-by: TADANO Tokumei --- libavformat/mpegts.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index ecffb01562..49f7735123 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -645,6 +645,7 @@ typedef struct SectionHeader { uint8_t tid; uint16_t id; uint8_t version; + uint8_t current_next; uint8_t sec_num; uint8_t last_sec_num; } SectionHeader; @@ -773,6 +774,7 @@ static int parse_section_header(SectionHeader *h, if (val < 0) return val; h->version = (val >> 1) & 0x1f; + h->current_next = val & 0x01; val = get8(pp, p_end); if (val < 0) return val; @@ -2332,6 +2334,8 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len return; if (h->tid != PMT_TID) return; + if (!h->current_next) + return; if (skip_identical(h, tssf)) return; @@ -2541,6 +2545,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len return; if (h->tid != PAT_TID) return; + if (!h->current_next) + return; if (ts->skip_changes) return; @@ -2679,6 +2685,8 @@ static void sdt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len return; if (h->tid != SDT_TID) return; + if (!h->current_next) + return; if (ts->skip_changes) return; if (skip_identical(h, tssf))