From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C7E854A349 for ; Tue, 26 Mar 2024 20:18:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EE24068D684; Tue, 26 Mar 2024 22:18:15 +0200 (EET) Received: from mail-pf1-f226.google.com (mail-pf1-f226.google.com [209.85.210.226]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1CCBE68D5D5 for ; Tue, 26 Mar 2024 22:18:09 +0200 (EET) Received: by mail-pf1-f226.google.com with SMTP id d2e1a72fcca58-6e6b3dc3564so4239224b3a.2 for ; Tue, 26 Mar 2024 13:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proxyid.net; s=google; t=1711484288; x=1712089088; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Mx0/ccFotIlWb0I4tkfaHNI/K8feG557YsdbNgIdFaM=; b=fXtAMl/CtaLC6DZKTQgd4Va6MDXZNMMONiRFLn50wt7Ds7lpx6A5JNUlEoe7eQhvs2 1fUKWQ+LIJq27P7+3BSo/ZxQCsEL1ODKzVIJl7hzwlfYnG1OZxOSscMSmiOLBagcBZBm eki4pWUYRdl13QDQrQmKGb0yyLAZhYdsW85mCgkTUDGV0YGSN7ShWl83Oqt0sg1LQcq6 9RlipBrYdbcG8jNOOyeyV5ME6bRHLkZQQrVmYvOWHwHLPe0WT8bLVCHxWlCsHtgqQ75f 1rbt5x4hUYDCZcU60U2iyTApv3GY/INj2APS0Sez5hQqIgNsOS1bYsMX6pOdITfR904L 5yZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711484288; x=1712089088; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Mx0/ccFotIlWb0I4tkfaHNI/K8feG557YsdbNgIdFaM=; b=ky9xplzlR2F1nGculEfzARM5TqHNeqVr6BKjAWSnMCm1SXsbFnldXX0laVtMKYsOYV Gm8xBbG+jX+zfvk2aA3AWT8AvFZaQewhJRy/ontHhSKJNr5VyZPSgiHFRvl3vFzcJFOY 5zqxp9CHchXP1pcv2gwtIkP/yESwLVKZbS77XSxafcBrXHUTcUQfxwr7to5Yamv6iGtU E46AZn4e2GAbXU8iLosNGw21uS2a7jLPeFRWep7P758XGM3AGRAUqcjrJ899lLyS6Qg3 8DSzwfW2UCeitruKaa9RWF1rhevTmY4T7m89H5FhbWiI4I/IL3mA1JUlv+fznAFILMNa bpyQ== X-Gm-Message-State: AOJu0YxTVL6R/rz6unNF92oVW3DXZ5MBmQN/JQc3VEp1Yg0YIgZGJGyk R+VZT/bgQrBw5nmUwvrYlpA9B4WP4xGVflQVb4O9UJMaSLsS1HM4NlvsclsdqIsoeuDkTo0tQB0 flb3285uSXh/eOOLZBNusZTK0ei91rb0+Cwdp0vZ8 X-Google-Smtp-Source: AGHT+IGA5Q9uk8ClIRd6gou0p5dU1qHHSmsWZqoP2bMdwGQJ8q7aBybc84/lG+sHxOUV8bG3mS7DIr3KGTJi X-Received: by 2002:a05:6a21:61e:b0:1a3:d406:4344 with SMTP id ll30-20020a056a21061e00b001a3d4064344mr2086359pzb.32.1711484287969; Tue, 26 Mar 2024 13:18:07 -0700 (PDT) Received: from wsx-cc1-001.. (c-76-141-249-38.hsd1.il.comcast.net. [76.141.249.38]) by smtp-relay.gmail.com with ESMTPS id z5-20020aa78885000000b006ea6d8c7771sm510768pfe.20.2024.03.26.13.18.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 13:18:07 -0700 (PDT) X-Relaying-Domain: proxyid.net From: Marth64 To: ffmpeg-devel@ffmpeg.org Date: Tue, 26 Mar 2024 15:17:49 -0500 Message-Id: <20240326201749.1543553-1-marth64@proxyid.net> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/dvdvideodec: remove `if ((ret = ...) < 0)` pattern 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: Marth64 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Recent advice plus my own experience agree that this pattern is error-prone. Instead, set `ret` in its own line and do the error validation after. Also, explicitly return 0 on success in dvdvideo_chapters_setup_preindex() Signed-off-by: Marth64 --- libavformat/dvdvideodec.c | 132 +++++++++++++++++++++++++------------- 1 file changed, 86 insertions(+), 46 deletions(-) diff --git a/libavformat/dvdvideodec.c b/libavformat/dvdvideodec.c index c94e7f7fe6..000f9c5c9b 100644 --- a/libavformat/dvdvideodec.c +++ b/libavformat/dvdvideodec.c @@ -900,7 +900,7 @@ static int dvdvideo_chapters_setup_preindex(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; - int ret = 0, interrupt = 0; + int ret, interrupt = 0; int nb_chapters = 0, last_ptt = c->opt_chapter_start; uint64_t cur_chapter_offset = 0, cur_chapter_duration = 0; DVDVideoPlaybackState state = {0}; @@ -909,9 +909,10 @@ static int dvdvideo_chapters_setup_preindex(AVFormatContext *s) int nav_event; if (c->opt_chapter_start == c->opt_chapter_end) - return ret; + return 0; - if ((ret = dvdvideo_play_open(s, &state)) < 0) + ret = dvdvideo_play_open(s, &state); + if (ret < 0) return ret; if (state.pgc->nr_of_programs == 1) @@ -1058,7 +1059,7 @@ static int dvdvideo_video_stream_setup(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; - int ret = 0; + int ret; DVDVideoVTSVideoStreamEntry entry = {0}; video_attr_t video_attr; @@ -1068,14 +1069,11 @@ static int dvdvideo_video_stream_setup(AVFormatContext *s) else video_attr = c->vts_ifo->vtsi_mat->vts_video_attr; - if ((ret = dvdvideo_video_stream_analyze(s, video_attr, &entry)) < 0 || - (ret = dvdvideo_video_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS)) < 0) { - - av_log(s, AV_LOG_ERROR, "Unable to add video stream\n"); + ret = dvdvideo_video_stream_analyze(s, video_attr, &entry); + if (ret < 0) return ret; - } - return 0; + return dvdvideo_video_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS); } static int dvdvideo_audio_stream_analyze(AVFormatContext *s, audio_attr_t audio_attr, @@ -1219,7 +1217,7 @@ static int dvdvideo_audio_stream_add_all(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; - int ret = 0; + int ret; int nb_streams; if (c->opt_menu) @@ -1241,8 +1239,9 @@ static int dvdvideo_audio_stream_add_all(AVFormatContext *s) if (!(c->play_state.pgc->audio_control[i] & 0x8000)) continue; - if ((ret = dvdvideo_audio_stream_analyze(s, audio_attr, c->play_state.pgc->audio_control[i], - &entry)) < 0) + ret = dvdvideo_audio_stream_analyze(s, audio_attr, c->play_state.pgc->audio_control[i], + &entry); + if (ret < 0) goto break_error; /* IFO structures can declare duplicate entries for the same startcode */ @@ -1250,7 +1249,8 @@ static int dvdvideo_audio_stream_add_all(AVFormatContext *s) if (s->streams[j]->id == entry.startcode) continue; - if ((ret = dvdvideo_audio_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS)) < 0) + ret = dvdvideo_audio_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS); + if (ret < 0) goto break_error; continue; @@ -1302,7 +1302,8 @@ static int dvdvideo_subp_stream_add(AVFormatContext *s, DVDVideoPGCSubtitleStrea st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE; st->codecpar->codec_id = AV_CODEC_ID_DVD_SUBTITLE; - if ((ret = ff_dvdclut_palette_extradata_cat(entry->clut, FF_DVDCLUT_CLUT_SIZE, st->codecpar)) < 0) + ret = ff_dvdclut_palette_extradata_cat(entry->clut, FF_DVDCLUT_CLUT_SIZE, st->codecpar); + if (ret < 0) return ret; if (entry->lang_iso) @@ -1326,12 +1327,13 @@ static int dvdvideo_subp_stream_add_internal(AVFormatContext *s, uint32_t offset subp_attr_t subp_attr, enum DVDVideoSubpictureViewport viewport) { - int ret = 0; + int ret; DVDVideoPGCSubtitleStreamEntry entry = {0}; entry.viewport = viewport; - if ((ret = dvdvideo_subp_stream_analyze(s, offset, subp_attr, &entry)) < 0) + ret = dvdvideo_subp_stream_analyze(s, offset, subp_attr, &entry); + if (ret < 0) goto end_error; /* IFO structures can declare duplicate entries for the same startcode */ @@ -1339,7 +1341,8 @@ static int dvdvideo_subp_stream_add_internal(AVFormatContext *s, uint32_t offset if (s->streams[i]->id == entry.startcode) return 0; - if ((ret = dvdvideo_subp_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS)) < 0) + ret = dvdvideo_subp_stream_add(s, &entry, AVSTREAM_PARSE_HEADERS); + if (ret < 0) goto end_error; return 0; @@ -1363,7 +1366,7 @@ static int dvdvideo_subp_stream_add_all(AVFormatContext *s) for (int i = 0; i < nb_streams; i++) { - int ret = 0; + int ret; uint32_t subp_control; subp_attr_t subp_attr; video_attr_t video_attr; @@ -1387,29 +1390,35 @@ static int dvdvideo_subp_stream_add_all(AVFormatContext *s) /* 4:3 */ if (!video_attr.display_aspect_ratio) { - if ((ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 24, subp_attr, - DVDVIDEO_SUBP_VIEWPORT_FULLSCREEN)) < 0) + ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 24, subp_attr, + DVDVIDEO_SUBP_VIEWPORT_FULLSCREEN); + if (ret < 0) return ret; continue; } /* 16:9 */ - if (( ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 16, subp_attr, - DVDVIDEO_SUBP_VIEWPORT_WIDESCREEN)) < 0) + ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 16, subp_attr, + DVDVIDEO_SUBP_VIEWPORT_WIDESCREEN); + if (ret < 0) return ret; /* 16:9 letterbox */ - if (video_attr.permitted_df == 2 || video_attr.permitted_df == 0) - if ((ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 8, subp_attr, - DVDVIDEO_SUBP_VIEWPORT_LETTERBOX)) < 0) + if (video_attr.permitted_df == 2 || video_attr.permitted_df == 0) { + ret = dvdvideo_subp_stream_add_internal(s, subp_control >> 8, subp_attr, + DVDVIDEO_SUBP_VIEWPORT_LETTERBOX); + if (ret < 0) return ret; + } /* 16:9 pan-and-scan */ - if (video_attr.permitted_df == 1 || video_attr.permitted_df == 0) - if ((ret = dvdvideo_subp_stream_add_internal(s, subp_control, subp_attr, - DVDVIDEO_SUBP_VIEWPORT_PANSCAN)) < 0) + if (video_attr.permitted_df == 1 || video_attr.permitted_df == 0) { + ret = dvdvideo_subp_stream_add_internal(s, subp_control, subp_attr, + DVDVIDEO_SUBP_VIEWPORT_PANSCAN); + if (ret < 0) return ret; + } } return 0; @@ -1433,7 +1442,7 @@ static int dvdvideo_subdemux_read_data(void *opaque, uint8_t *buf, int buf_size) AVFormatContext *s = opaque; DVDVideoDemuxContext *c = s->priv_data; - int ret = 0; + int ret; int nav_event; if (c->play_end) @@ -1471,7 +1480,7 @@ static int dvdvideo_subdemux_open(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; extern const FFInputFormat ff_mpegps_demuxer; - int ret = 0; + int ret; if (!(c->mpeg_buf = av_mallocz(DVDVIDEO_BLOCK_SIZE))) return AVERROR(ENOMEM); @@ -1483,7 +1492,8 @@ static int dvdvideo_subdemux_open(AVFormatContext *s) if (!(c->mpeg_ctx = avformat_alloc_context())) return AVERROR(ENOMEM); - if ((ret = ff_copy_whiteblacklists(c->mpeg_ctx, s)) < 0) { + ret = ff_copy_whiteblacklists(c->mpeg_ctx, s); + if (ret < 0) { avformat_free_context(c->mpeg_ctx); c->mpeg_ctx = NULL; @@ -1506,7 +1516,7 @@ static int dvdvideo_read_header(AVFormatContext *s) { DVDVideoDemuxContext *c = s->priv_data; - int ret = 0; + int ret; if (c->opt_menu) { if (c->opt_region || @@ -1539,12 +1549,25 @@ static int dvdvideo_read_header(AVFormatContext *s) c->opt_pg = 1; } - if ((ret = dvdvideo_ifo_open(s)) < 0 || - (ret = dvdvideo_menu_open(s, &c->play_state)) < 0 || - (ret = dvdvideo_subdemux_open(s)) < 0 || - (ret = dvdvideo_video_stream_setup(s)) < 0 || - (ret = dvdvideo_audio_stream_add_all(s)) < 0) - return ret; + ret = dvdvideo_ifo_open(s); + if (ret < 0) + return ret; + + ret = dvdvideo_menu_open(s, &c->play_state); + if (ret < 0) + return ret; + + ret = dvdvideo_subdemux_open(s); + if (ret < 0) + return ret; + + ret = dvdvideo_video_stream_setup(s); + if (ret < 0) + return ret; + + ret = dvdvideo_audio_stream_add_all(s); + if (ret < 0) + return ret; return 0; } @@ -1568,17 +1591,34 @@ static int dvdvideo_read_header(AVFormatContext *s) } } - if ((ret = dvdvideo_ifo_open(s)) < 0) + ret = dvdvideo_ifo_open(s); + if (ret < 0) return ret; - if (!c->opt_pgc && c->opt_preindex && (ret = dvdvideo_chapters_setup_preindex(s)) < 0) + if (!c->opt_pgc && c->opt_preindex) { + ret = dvdvideo_chapters_setup_preindex(s); + if (ret < 0) + return ret; + } + + ret = dvdvideo_play_open(s, &c->play_state); + if (ret < 0) return ret; - if ((ret = dvdvideo_play_open(s, &c->play_state)) < 0 || - (ret = dvdvideo_subdemux_open(s)) < 0 || - (ret = dvdvideo_video_stream_setup(s)) < 0 || - (ret = dvdvideo_audio_stream_add_all(s)) < 0 || - (ret = dvdvideo_subp_stream_add_all(s)) < 0) + ret = dvdvideo_subdemux_open(s); + if (ret < 0) + return ret; + + ret = dvdvideo_video_stream_setup(s); + if (ret < 0) + return ret; + + ret = dvdvideo_audio_stream_add_all(s); + if (ret < 0) + return ret; + + ret = dvdvideo_subp_stream_add_all(s); + if (ret < 0) return ret; if (!c->opt_pgc && !c->opt_preindex) -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".