From patchwork Sat Dec 2 00:42:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin NG X-Patchwork-Id: 6502 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp1804462jah; Fri, 1 Dec 2017 16:42:34 -0800 (PST) X-Google-Smtp-Source: AGs4zMYml8c52UfgqtmyySESxrM0mrsn73vLCG46zEgyhTraJNCDVgM5IkD+hzMGMI85Tfq3Dktf X-Received: by 10.223.170.143 with SMTP id h15mr7090243wrc.49.1512175354139; Fri, 01 Dec 2017 16:42:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512175354; cv=none; d=google.com; s=arc-20160816; b=vDvAXOEGGrpNGa0W4CMA9Id5m+vyUKgzGIdJsaikG8a4n29l47n6vdMcZtyv4iXyJr YSpMSj+OwBqi54Mn3hpekTXnWxEJL3Na+qJEL3Jk9uJpMOQMUR/Lc8Jw4Y3mxEzQfCiZ wp/Aw4nIedgDYqLsdaM0VNPgta7PifXTJsGt2DvWGsevkmFZR1UOV7TgKrlBX75uC5nY tLFg3Vb3NZ22hgeSNXPnS8JgQFlDO3w07Xx38WKx0RPrhcFk4L0R0BKZRUfYw3liu1pN wL10zftPq5G0mB9O3hL6zjvs9tiwXeqUdxwqHJdXggFjrHqDaOvvQQFCnbwzbGcMGEo5 YSXQ== 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:spamdiagnosticmetadata :spamdiagnosticoutput:content-language:accept-language:message-id :date:thread-index:thread-topic:to:from:dkim-signature:delivered-to :arc-authentication-results; bh=oZf/ixgPuxpNKZyQMoEP/hL3OVSttWmQjeYt2icdK8I=; b=tDEuD8aGCCfPx7VbFUbDMH5Aw3+nZpsIJ6zJdy0wIu92WhirKSvo5hb3vdbjiAXbGa PVnzUSPHXri83QmKY/Mx1rJ8/lb7vq7Sp5T4YUeJxKNRpinmyccioXrRzzrzt4w8wK4H UU0Ezo3OXrS0+kze1OAsEQSkAaPP9sEkTcudbPcT7FBayOSmILqe03tQRUmO+MUbtZzr NPPPUx+tsiAHyP/5OTHDuVFJWCikkLJXmorME5QSs5Qtigp50Bz+3AYVLsELYk+zIq5f xE0fOiQvBQFF/DJQ/EDJJgyzjr2byoW+I2tYh68C6rVIjm6VQu+55i9mbLEPSwim7sl8 R+vA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@hotmail.com header.s=selector1 header.b=nL5Pnlpi; 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=hotmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b4si6115575wrg.225.2017.12.01.16.42.33; Fri, 01 Dec 2017 16:42:34 -0800 (PST) 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=@hotmail.com header.s=selector1 header.b=nL5Pnlpi; 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=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 365E568A371; Sat, 2 Dec 2017 02:42:28 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-oln040092008057.outbound.protection.outlook.com [40.92.8.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C402B68A367 for ; Sat, 2 Dec 2017 02:42:20 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=7TneHYkeUlQAO68sy9CDag5aAdTyGiW9ieXK6/ibgwQ=; b=nL5PnlpigMhRHv9Pv9OPqj3ti08drI5dg2f+79xBiNZf5dxJ2a6MlYpqGC9LUhZZi+35P74ttwW8bkf6TAgd0UmxLUi6Dv2hlCdNK0powWEV1J6ntzIwDqsAKOquRXYpKaJ5+47AX4/BlC2GrpCvezOyEPS2lo33ncjH4cu3OZ9x5//4WFa9ggE6brJgQ5F4XSEMknFs9767TfB4CUmrjzp3W7ScIJdIcGUQcjGKn3beXTLn4t3bQ8BlBmT9A9NrN8C8iVYYbrSVtLT5O+xOVApWfEGM+vKCvmnnPDOAtfJhEg9TZGoj++aVD33ndJ5ZmbXSydYruFI9LkcgGbs3mA== Received: from DM3NAM03FT062.eop-NAM03.prod.protection.outlook.com (10.152.82.53) by DM3NAM03HT179.eop-NAM03.prod.protection.outlook.com (10.152.83.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.239.4; Sat, 2 Dec 2017 00:42:22 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com (10.152.82.51) by DM3NAM03FT062.mail.protection.outlook.com (10.152.83.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.282.5 via Frontend Transport; Sat, 2 Dec 2017 00:42:22 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com ([10.172.189.151]) by DM5PR22MB0681.namprd22.prod.outlook.com ([10.172.189.151]) with mapi id 15.20.0282.007; Sat, 2 Dec 2017 00:42:22 +0000 From: Colin NG To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] Fix for ticket 6796 (ffprobe show_frames ts dvbsubs infinate loop) Thread-Index: AQHTawZqFT4/LPcZIkaWy+tntIi5wA== Date: Sat, 2 Dec 2017 00:42:22 +0000 Message-ID: Accept-Language: en-CA, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:1B1C2E2F5D1EE24A084930E005467231D3AEE69231EEA12755440EF3C822EAFE; UpperCasedChecksum:9C6D1061DE64BBEC9C2D9D6F5B8F213B62DCBFE893B36401692DA5FF3164E923; SizeAsReceived:6957; Count:45 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [c3M5g1G2YJmy0y+cmxIQw3VszLIYYJb7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM3NAM03HT179; 6:Om3FlnQxEqBel8K1i5Y2TNdzctBlrCIDMAIdrkuNhQUsT0uGZf2gsdUymH/4D75VWmnlumPLl/eVsHApGAOxP+D3XHb4S0RHBEQ3d/pKRk8IXwsYon9IrsdOWbkw9aTw8yxrz1pwnTINPmnEJgaSCc1+DFQNL1rx/ZVk63pOENI7DKbA/h/J1naCwYDHUZNTWAuUI/CrQATRLhdqCpd495qkN6O2hRV5qW3MFZzkmnImfDmEDa5BUN/23x0Rqr6dBU/UTkXjvNG23HJKGOgPEgu/0PmHfQc+fQ5r1LZIAE4qXt3hB9qQoVb1btVci9/hlGVOEOuEr+g+S8sjay847LcfwgQ2pE0fxE8oh+n9xxk=; 5:wGQ/rk8LsnGgMgMTFTk2uJNdr5VP1zmoMRcfCtHMi/rDhcRdktDSj9mW0uDYFt0hnOvFoaIIp4XEDOv3Sg2tJbmUgSqeghUZfU4GieHRUIc3BV/vCFKYkid0xOhSjE0J6Rg8aiAQbpTtz0VM3Jrm7cUAtbo91YL7mEo8UIJalbM=; 24:tI9QUA1dP2s3HrpqgpkSy4wkuu+qwzSEeHw/rwukWNLb3mlyjLb8EBUPtad1UCm7ZeZ8ll1t6Qb0Am9MH7sIOcC+/zdcxNz0cbgUTFVIfSc=; 7:hryEWUusO/08WEHM/4wMvKouMX8fb81q6MiH0ZCIdhHS/OQgX4fXJGUeSrlB8NVZFTZancxNs+AxG+KLPF8Y6aC1qudO8TzKXnpkEnhmRu1MmHv7eeURFZ4aR/Nk9MGx+XfXDoZr38h76EV3R502Fl3+MwfVVw+a+Uwrvv/VLqAtekteZ0WilaE2nzDPW+I0zmKdsoZCYoiPGh0tzoYFFyVUFogKPfUvYhh5dd1/VDWDFKuLY/lDouaE5vurnWHz x-incomingheadercount: 45 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(201702181274)(2017031322404)(1601125374)(1603101448)(1701031045); SRVR:DM3NAM03HT179; x-ms-exchange-slblob-mailprops: q+fD6XS3/UJJ/GppRNpNEugPaSZbek+AlcPFMH9OXt8hjdi8Y8zOS6vP40boEQIGc8QxowdadwaGw4hPyzgrFsZYisvUmGKcxH9N4ALnGRB9I/YEHmpKIrhxYkfLuY5yFm3Pz+kGr7iaUyGhgXWvqx5d+haSwvxJv0/qQQ+i3xIS/KdITT3409zWgbmRQ7DKNempO1uDMUsqLcchOAG/4DPKxOkjAOf0YxogYi/+LDXKWWuWXHpVJnCeDfruDRPofYL5sOEG9RtA2oNDttUcGcpSa3xZYdcufLLZHdtd79GGq4inJhseW2Hv2WkII4B1q19q1HZQFMxpivFtul+/iSqbR4kmv8kOQWKDrxDPlp1r3yz8zNnjt9dbIxt14e6NJgsHqYBWaEMHnQbQW5IsHaoQTPx3nNRTEEpHLAA4PCgXuMPpqEf/nz542mvai1iy2KoNQ37WSkh/6EInJFQnflT6yF9W0T4hb4ve4fHO05Vm6xK9pBXdFdHlr/per2AgYxPDHez8ZoJos84WcB8makQAi8Q4bq9utlRqckHWCpaWUfxf6nZpgj3m3IV76gLRDaAcAgCzI3k4IUqSpHK9of43uXLJ9y5rfkHOKInCVQAsJAClqnFKSlIHkuSNCxctjBB8jaydcgKWI/qXFJOQBJcCMSci2FPOEyiDDvINspS6Y4u+P/FN+1plfBDXDLJrot5AeG/Mb2uED6Aajz4/Tg== x-ms-traffictypediagnostic: DM3NAM03HT179: x-ms-office365-filtering-correlation-id: 259c1458-5c1c-4ed3-8c2d-08d5391d8c8e x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:DM3NAM03HT179; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM3NAM03HT179; x-forefront-prvs: 0509245D29 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:DM3NAM03HT179; H:DM5PR22MB0681.namprd22.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 259c1458-5c1c-4ed3-8c2d-08d5391d8c8e X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2017 00:42:22.4967 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3NAM03HT179 Subject: [FFmpeg-devel] [PATCH] Fix for ticket 6796 (ffprobe show_frames ts dvbsubs infinate loop) 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 Cc: Colin NG Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- fftools/ffprobe.c | 2 ++ libavcodec/dvbsubdec.c | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 0e7a771..6ddd81e 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2280,6 +2280,7 @@ static av_always_inline int process_frame(WriterContext *w, break; default: *packet_new = 0; + break; } } else { *packet_new = 0; @@ -2290,6 +2291,7 @@ static av_always_inline int process_frame(WriterContext *w, if (got_frame) { int is_sub = (par->codec_type == AVMEDIA_TYPE_SUBTITLE); nb_streams_frames[pkt->stream_index]++; + got_frame = (par->codec_type == AVMEDIA_TYPE_SUBTITLE) ? 0: got_frame; if (do_show_frames) if (is_sub) show_subtitle(w, &sub, ifile->streams[pkt->stream_index].st, fmt_ctx); diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c index a657b1d..29997a2 100644 --- a/libavcodec/dvbsubdec.c +++ b/libavcodec/dvbsubdec.c @@ -1596,7 +1596,7 @@ static int dvbsub_display_end_segment(AVCodecContext *avctx, const uint8_t *buf, } static int dvbsub_decode(AVCodecContext *avctx, - void *data, int *data_size, + void *data, int *got_output, AVPacket *avpkt) { const uint8_t *buf = avpkt->data; @@ -1654,7 +1654,7 @@ static int dvbsub_decode(AVCodecContext *avctx, int ret = 0; switch (segment_type) { case DVBSUB_PAGE_SEGMENT: - ret = dvbsub_parse_page_segment(avctx, p, segment_length, sub, data_size); + ret = dvbsub_parse_page_segment(avctx, p, segment_length, sub, got_output); got_segment |= 1; break; case DVBSUB_REGION_SEGMENT: @@ -1676,7 +1676,7 @@ static int dvbsub_decode(AVCodecContext *avctx, got_dds = 1; break; case DVBSUB_DISPLAY_SEGMENT: - ret = dvbsub_display_end_segment(avctx, p, segment_length, sub, data_size); + ret = dvbsub_display_end_segment(avctx, p, segment_length, sub, got_output); if (got_segment == 15 && !got_dds && !avctx->width && !avctx->height) { // Default from ETSI EN 300 743 V1.3.1 (7.2.1) avctx->width = 720; @@ -1699,12 +1699,12 @@ static int dvbsub_decode(AVCodecContext *avctx, // segments then we need no further data. if (got_segment == 15) { av_log(avctx, AV_LOG_DEBUG, "Missing display_end_segment, emulating\n"); - dvbsub_display_end_segment(avctx, p, 0, sub, data_size); + dvbsub_display_end_segment(avctx, p, 0, sub, got_output); } end: if(ret < 0) { - *data_size = 0; + *got_output = 0; avsubtitle_free(sub); return ret; } else {