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 ESMTPS id C4BCF4E217 for ; Tue, 29 Apr 2025 12:15:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A24F468AF86; Tue, 29 Apr 2025 15:15:34 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2103.outbound.protection.outlook.com [40.92.89.103]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04BDA687D0F for ; Tue, 29 Apr 2025 15:15:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RZqI1GWu92xkMIzpHv4200Fqd699CEdej2BdUg43bNFAj+YcWc7dSgvQZAkeljJpQBUDE/ougaE3Que67RmW8PHZckyObVMMbm8zLHRm2zuUE06lnpmTmAZ3ikMtLlz7iV1mbdD3uHaPtneIGwho+NnGv02+wW4kFz9KpS6UR5BwmPZiOc74R/9het6zIH0MrmMQKl/cu6fGnFGiBPCaVzhUAOkWxORFC0ItyIerUirn02V3uMudTCJu2H2Zw3J09ifYeYQDTAy1wod6NIfyBoY8MbdKBooeYq6Cs14TTKX/tVhHEGLRfVm3bdHjCnnP//bZu55rv0DLxih2KggEBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hbi0kMoYevL7LZXfZNZaKcv+PsxmCL827mdyzJbKi3k=; b=S+EHDeg1Lfr5WaNvn8Uiauk1YWl3ktu/KbYOwxkBgx+r9ZnQy0yA810Vo0U3x3J0pCc6+6NPuPEsnhN9pkE/CiOajsmAqYkBvL4r2AGsD+xvjnCYXZcN+77jbQB5svWz5Jh5hHXXHBeedDN2m7N1+Ukgr6IWyZ8tkqbGwB9K1w1n3dz07pYJmFZPTjhehOIFIa+uJ4+z/kOquteoEz1NbMaS96KZrEqSYj98P0u2UaBX9D8jHlBS9ur4+I6uJVlTiOmLLam3c55YN3VdVJwCo3eFUUq8YeM617O3h1w3ilzf3+jEtYNa+mo90Ku4dueRg6rBmlTBCAjEreJrVduUyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hbi0kMoYevL7LZXfZNZaKcv+PsxmCL827mdyzJbKi3k=; b=hCJ0s4mj26PPufBUtBMhNwd6K+74eVVhSLG1wAflVV4cmU1gtW7Q4ZzFIHrWWJpziV8UqBJYQKZgW6m7KETJmmSGBmtLzOnCf7R85z1FtqP5I+0pofuwWf6lq/5arU1RjgRqWkT4QLTd3Dh3sMRSaUboNU6dAsgR2KsbxcY4igGEt0nWIK/eBWNh2SmXWTh/CXmOu8PafssZeZL86ZguLgN4WiUtoZLKQcfB41+Jp3sfkKR2HGPa5mYr6jGmwSvUqrTHSTeD1mZHrW0d3v75AfXZy8C/72ok5yw4UNEUvpht68i+ojW1FlaWMwCihwwrokfbS837ejX4s+CfD7C3kA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU0P250MB0621.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:328::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.33; Tue, 29 Apr 2025 12:15:26 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.8678.028; Tue, 29 Apr 2025 12:15:26 +0000 Message-ID: Date: Tue, 29 Apr 2025 14:15:24 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: FR4P281CA0171.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b7::18) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU0P250MB0621:EE_ X-MS-Office365-Filtering-Correlation-Id: 06493d1c-33d4-475d-23c8-08dd871785de X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpI8tRyoOXaSUmOkLVCBKasIB89ZT32s48RY5MCV4LNvAYu85nNDlV8DvY7cSHpNbzBvfDfHCX0G9LFMHU7LsLCiocWKYNlkDuSn/o7lPlaTVfR3BDvMe8uy2gk4VWBVc72I4biqMcpAhOeXMUQJwep57N1I7N+sLD9aEPtwsjjcKHtZGnoVepAYxtaE1qF+7yc7IzsVhdlmo/HRHxvFlRCiNzl8F251bdpg76MirY4ebmwThmgC30HZMScQ5yyQC/s6mVuvrxhZfwh03RgxdUKvnhiGz1wAp+lpB8HWHGNFPER5HCuSTiuAEty8KArsJN+T+nXDhUvedUgiInt1s1xv3s7pu3pBkPf0oaCG2TWz65KdL3zrE1Nm/f04S42Y1BFWiJCc/d10dRU7SxESAAw6VkN6LXPOxP5nsAx6CV/DxLB/9YLyEcyVeIKbMVtszdP5ReLxWVhFQ6P2pJcK9+5XGYlUyq2zuMtGwhLGCkH2ZaDtO48SkFnlWozpXpMhEL+ricuT2gHXNDinxCObAmlmKQpqe0eBikPFaXULd9v4RM49O/oDlKoP7QiHhF8jYRCaxo7vyKHYUEKbYxWXIAYhaiJU2zWmyzkF69RznGqOIzjEvv4LxjJirECa7SYk/nk8XHx886bKNvQfYpD3TFZ5f1bxp/s3nt92BAYeza9dAj924QVSsMVwOTNmLtwTIzPOBRO2IcQPwIut95Ey9ujVGfqLTes6lJbJgqUbmHWa/iBsQG0f5D0zWdpAhgBkN8= X-Microsoft-Antispam: BCL:0; ARA:14566002|461199028|8060799006|19110799003|6090799003|5072599009|15080799006|7092599003|440099028|3412199025|13041999003|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bUg4T3F3QmZFUE1yZUgvVEk1SlArd3hqWFZBd0dVc0xWL0VxTk1kOWptbndW?= =?utf-8?B?Q0J1aHVrTnZmL3duNm0ybzVZM1N2QXdqNnlXY1dLUDR1cVdOVFg5aGdDSVFx?= =?utf-8?B?VFpKU2xyQXBCU3oxUVF0dU0wZGtodEZ3WW1wcXMrMWFlZ1J3UGRvRllLT1FM?= =?utf-8?B?a3NrWWQxSFh3UGhUZWo4V0VlK0lMZnpSNFMrYWZTK2pYQVE5UmhMenVOWnhh?= =?utf-8?B?RWtyb0dISS94Ukg1OVBaMWNySjlvUFVFU2RsU3FvT3pwUDA2SnZEaENsM1c2?= =?utf-8?B?RUMzUmp6cTVJQm9SWlJzRkp0M3BuazRRbHpLVStHZHhManllMExiMXVUSWtS?= =?utf-8?B?REkzZEVuL2Ryd1NWeUhRT1BGVjl3VFVOWFl4SURqeTVIOG53K2tkNkIyTmh6?= =?utf-8?B?aWhVbHZOUGdRMEpJY1FkNmwwaHc1SjZaZzVSbmJDK0RycHFldko2NXFtWlRI?= =?utf-8?B?bGh2Z25sWjhCMkNtMTBNQU1HYm5FcFNaWVNHcFdpWDNMdzNFMC9oV0tMY2hV?= =?utf-8?B?bE9NNFNVRjVKbXRDc1A0czE3bVpWTEwzVHc4M0lVS2NGS3o0eEkwa3g4UnFX?= =?utf-8?B?QVNJTjU3UU5lZ3FNRENLRktLM1BqREZSZXBUZ0xqUU9KNW5LdFNQOU1QNGN6?= =?utf-8?B?RGtIeEVJNXJsTWNpWXFzQ2E5aFlkZVc4T01wblhpWUxwL2Y4WHJDaGxLUFpZ?= =?utf-8?B?N3prUGxFRXlad3djajRGU0hnd3k2QWR6RnVnN0pYNkt1VEZpc1Z2OFFBdVc0?= =?utf-8?B?SWpNaG83V1NGekJ3SG5IYVZXZWxlS3FWSElqSTBDcjArK1NGZUprMnNTUFo3?= =?utf-8?B?ZzlycGJ2UGRwUExLUmRwdUNnRkFGdkZUOFVVV3h5V0p0cnhOUTBjMnV3cVFi?= =?utf-8?B?akFyb1pseE1QK3B1eTRVaHAxTldPemwrRlRKZXhkNjZEWFNya2FhRDJXbFhx?= =?utf-8?B?akMwU2ZuS2tabnZaZFFUZTkvVWNURVI5QUJPMTVPci9FR09VZnV6UVFHUHgv?= =?utf-8?B?NFZmNTRIbWlOTG5IWnh0KzQ1VXFvK1BkcEFhRlFvYVJYZkQyVWdoaHl0N0t4?= =?utf-8?B?NVdyTjlVV2lWR3dLd1kyNXF3VGx4NkZnV2ppWnQ2NXEybVJwZEVXZ3phMlcr?= =?utf-8?B?RVNrMkV2L0pVb1NibUxFR2JEbFBEWFZUN3V1emZXb0x2T2Flc2JnMHlKazIz?= =?utf-8?B?VWsrbS9uanlqNk1abUM0SjJRbjltYktiM0lXcGl2aFhCTHpXZUNBUWMvUVVR?= =?utf-8?B?eFdhWkpqWE9rTlMvaW8wd2UrbWExZUhZc2RJMHFnWFFMdTYvSnl4QS8xRGRa?= =?utf-8?B?UDdPcFZoZTJ5bjVWV3FXMVVVNlV6OWF2M2VhenJMdDNhWCszOFlJblRXSzJz?= =?utf-8?B?bjIvUjlYM2tRT1NZcGFaVzRiZ1k1VW9YM09CWWpzcnFUU0orZFZtTm1MK0Vv?= =?utf-8?B?R2RJNEMzQnk0d0FUYkxyTGpWMWlpMElGQlRCeXNNeUxaUE5zRUpDOWNrcnNr?= =?utf-8?B?ZjRxNmY4a0lwWWhYS0dUQ1JyT3JyU3dhTjNybDVobVhEdWY3NkhKSURqL2pR?= =?utf-8?B?ekRNVkgyaHFMTzBuWU5wemUvOC9aV2l5dXNIYlYwQU9zVUN0RnZYR2x6SDFR?= =?utf-8?B?M3gxYXJldTYxYkNEK2ZYaXYwSlR2cUE9PQ==?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDY2UGtQc1Z1ZDBIdFN2TVM0d2NpOGp0SVdoekl0OVRLNEI2WWVDcjVMVFdC?= =?utf-8?B?NG5kYXN2b25RRjVmVnVmbGptYjBHYS9ZZ2hGWGducE1LTTErR3RyMGRDcHdN?= =?utf-8?B?Q25TYkZEUjJGY25raVlKTzd1QmJ2LzlwM05zMVQ2S1gwbTJncmVtVk1MY2J2?= =?utf-8?B?QlVYWmZvaW90Qk5zYThaTU1LT3RzRkprWkVMV2sxd2JlUWZjUDJsSFlmTFN1?= =?utf-8?B?eGZrMFdJQWFobDBnTTZjUVZQUmxEWVB4L3FDekFnclBMRFAreGMxdW1sd1ZT?= =?utf-8?B?WlM2dmY4emE4RW8wZHV2WjFMMFZpOGFNOVFxNjQwV2JmUEZhYUVVL0crME5K?= =?utf-8?B?eTg1ODhGdnpKSFFKVWtPeEtuRHBhK3g0WjlHbCtYdUd4Wm14eitKdVFFOGtu?= =?utf-8?B?UVpPcWRTZ0FSUXVWcWQrcGpzUFhoaHhhUzczeWlaU3p2ZHEyc3o1b2FncHg0?= =?utf-8?B?QS9nS1dEbXZzc3BjRllmSU83Um5CYnU3cXZYZ2RQTFBiQ3AyOUZ4cFJ6M1M5?= =?utf-8?B?Qy9QaUxCTDlVMWlkNnVWVEJwZzZoM0E0ZlA1SVIvZVJub1pSa1ZWOElTYkFr?= =?utf-8?B?Q3JpT1U5WFJHRHV6RDIzamhvUkJsSkVDdFZVV29ReUlSUitOdXN6RjljYmFp?= =?utf-8?B?L0lZTnJ6ZEZhZWNHaGk4aGlUcXRVOGdNNlE4b2dqU3Z5Z1EvSVBiN2lraHhk?= =?utf-8?B?Ty9vK3lFcUJ4cnpSUGI3TkxieGwzQVEvMi9mOVplTnlGNlhQY2x1emZ4SDZw?= =?utf-8?B?eVloZzNjOW9SbWw0c1RiNzBGOEVES1NmZlVkUE1ZK0RRSEF5VktGZVIzejFN?= =?utf-8?B?aHUvc1Z1ZEdmOWt6WGl2MFRNRXprK0V1MklOS0pRdzFQeFZvNUZqQklkcHF2?= =?utf-8?B?MUM5L1hkN2lOWnQxemgzc3RwaHNWNDlucklCQllTMHlxdHVpTDRzOW5GSlpL?= =?utf-8?B?RW11KzR6UGs5SEZLc01tYTBBYURFWndzUkJUT1Qwc2FKVkhnWmRGZTlnbGNQ?= =?utf-8?B?T2QyTmk4bVlNU0tVK25QM1RnVi9tdVhZUGpTaVF1NHpDMVA3ZXNNVWo0SENH?= =?utf-8?B?bVNmZEJBSS8wRzZFWU5uNmpDZzR4SjdFR1RMaXhyQkdZendiQmlyQ3lRemE3?= =?utf-8?B?YURFNWVTZ3lXeDZvOVBVV2UxNk9KdFRiR2ZZaFViQkpzR3Qwemx2aXplV0dB?= =?utf-8?B?QjlMRGlHN24vVStvY0x5dFVDd1VNdjIvNjdldlEyME5scWtRUjY3blpRRENU?= =?utf-8?B?eXFaUnN0K0M0b250TUMxZGd4ajBZQ1RxbWFrOUxRNjFEbjJJQlRSclBUYXFk?= =?utf-8?B?RDZKNlFST3NIVkRxN21LT1pPMGlwVGpiZmpRejJvMWYyVWMweEFhem1oWmE4?= =?utf-8?B?Z3NucFhiWHYwV0I1VDk0cjdxM3lPMGxJR2N2MisvTHE1bnhJS1ozU0dtY1pE?= =?utf-8?B?R2RjclVtRERyMUEyZ21MNTNDdDhVZG0vUHJkaUZXbEF0YXhHdktZWjZyWFQ2?= =?utf-8?B?aC9keXlnYnRDSEtpempYOG5FWXJJRVdIYnc4bzhwVysxQkc5Q0tJUkYyOHZm?= =?utf-8?B?SGFMV29BakpyQkJ6YnI4d1FpMjFBQUEyRDZXWmFYOEVRNU1OOWlHMm1MQjJl?= =?utf-8?B?QXFzbmtiRWROVHcxbDh5QnE0ZVBHY25qbXNtdDZnM1ltNnNjZ281aE9OYnpt?= =?utf-8?B?S2Iwa0cwUEV2eVFNdjNWaWIxVFhhcmRaTVpFVDY0SnhIWk9zZ3dVb3llVm5O?= =?utf-8?Q?ZD7IHe2erbAw2GXmGbnVh3RdTWPkp/1LjxqexeT?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06493d1c-33d4-475d-23c8-08dd871785de X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2025 12:15:26.2171 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P250MB0621 Subject: Re: [FFmpeg-devel] [PATCH v3] avformat/hls: Return error code when read key file failed 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 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: Zhao Zhili: > From: Zhao Zhili > > --- > libavformat/hls.c | 47 ++++++++++++++++++++++++++++++++++------------- > 1 file changed, 34 insertions(+), 13 deletions(-) > > diff --git a/libavformat/hls.c b/libavformat/hls.c > index 6623c80309..fe908a563b 100644 > --- a/libavformat/hls.c > +++ b/libavformat/hls.c > @@ -1331,6 +1331,37 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf, > pls->is_id3_timestamped = (pls->id3_mpegts_timestamp != AV_NOPTS_VALUE); > } > > +static int read_key(HLSContext *c, struct playlist *pls, struct segment *seg) > +{ > + AVIOContext *pb = NULL; > + > + int ret = open_url(pls->parent, &pb, seg->key, &c->avio_opts, NULL, NULL); > + if (ret < 0) { > + av_log(pls->parent, AV_LOG_ERROR, "Unable to open key file %s, %s\n", > + seg->key, av_err2str(ret)); > + return ret; > + } > + > + ret = avio_read(pb, pls->key, sizeof(pls->key)); > + ff_format_io_close(pls->parent, &pb); > + if (ret != sizeof(pls->key)) { > + if (ret < 0) { > + av_log(pls->parent, AV_LOG_ERROR, "Unable to read key file %s, %s\n", > + seg->key, av_err2str(ret)); > + } else { > + av_log(pls->parent, AV_LOG_ERROR, "Unable to read key file %s, read bytes %d != %zu\n", SIZE_SPECIFIER Apart from that: Do we really need to two different log messages? > + seg->key, ret, sizeof(pls->key)); > + ret = AVERROR(AVERROR_INVALIDDATA); AVERROR() is wrong. > + } > + > + return ret; > + } > + > + av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); > + > + return 0; > +} > + > static int open_input(HLSContext *c, struct playlist *pls, struct segment *seg, AVIOContext **in) > { > AVDictionary *opts = NULL; > @@ -1352,19 +1383,9 @@ static int open_input(HLSContext *c, struct playlist *pls, struct segment *seg, > > if (seg->key_type == KEY_AES_128 || seg->key_type == KEY_SAMPLE_AES) { > if (strcmp(seg->key, pls->key_url)) { > - AVIOContext *pb = NULL; > - if (open_url(pls->parent, &pb, seg->key, &c->avio_opts, NULL, NULL) == 0) { > - ret = avio_read(pb, pls->key, sizeof(pls->key)); > - if (ret != sizeof(pls->key)) { > - av_log(pls->parent, AV_LOG_ERROR, "Unable to read key file %s\n", > - seg->key); > - } > - ff_format_io_close(pls->parent, &pb); > - } else { > - av_log(pls->parent, AV_LOG_ERROR, "Unable to open key file %s\n", > - seg->key); > - } > - av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); > + ret = read_key(c, pls, seg); > + if (ret < 0) > + goto cleanup; > } > } > _______________________________________________ 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".