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 9A459465DB for ; Thu, 22 Jun 2023 14:20:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 984A968C16E; Thu, 22 Jun 2023 17:19:59 +0300 (EEST) Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8508268BE2D for ; Thu, 22 Jun 2023 17:19:53 +0300 (EEST) Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-54fd4a7ce25so1137850a12.0 for ; Thu, 22 Jun 2023 07:19:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687443591; x=1690035591; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RdpXLTmjJ5E3NQ0bnwCOb52+bCWuvSCMe76PxXg8eps=; b=a4JDMW2RJ4bjRs/M6Zv+o5NxN4QFEhx9uHzrDwsEKwPs2/AUDTMJIZbx8yDw6LSwEA yO4HtfR84uPMXSTEfpDeHZM7squ/Apz39rzmRv3rDuEZg64kKpJy5VueC0FCDlPnDjnv FePpk5bQZiGzq5nrkY3lw0rQ8P3rz8+V+GU8byJJVvbIEUlXy41CA3hI4DInwxR+ZWeU XKdKL44dm8GSrf2nsiZeT19SPlUvuEVEBEQ4YaMI6SxtNocS/AuZwwS9cYZmOHkED1XE qIp0pz0WO2LMEK776Iek2NFYq10hS0BU5Nr5oy50YQZS8Y1kAWrP8z8/xHpz/KoQYJea ZqWg== X-Gm-Message-State: AC+VfDxm+oF3K+g9+aA3w07wfIBDVsPpN2s88g1uQkIx9/xsaBSFcIoB lqBHNrzpd9+2WtGiY/dhw2fKi8wTdrQ= X-Google-Smtp-Source: ACHHUZ4mF7rFzP6K8PYI/5fvpLz9Y3sgJjqe/CWRHp0YHijgMROZLCS/xz0/lUVVgbqiKuTpl+KQGg== X-Received: by 2002:a05:6a20:8f04:b0:121:d102:248c with SMTP id b4-20020a056a208f0400b00121d102248cmr12839501pzk.6.1687443589825; Thu, 22 Jun 2023 07:19:49 -0700 (PDT) Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com. [209.85.210.182]) by smtp.gmail.com with ESMTPSA id g9-20020a170902740900b001b54a88e6adsm5407514pll.309.2023.06.22.07.19.48 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 22 Jun 2023 07:19:49 -0700 (PDT) Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-6664ac3be47so1385043b3a.0 for ; Thu, 22 Jun 2023 07:19:48 -0700 (PDT) X-Received: by 2002:a05:6a00:1daa:b0:668:7351:ca8d with SMTP id z42-20020a056a001daa00b006687351ca8dmr13338123pfw.3.1687443588511; Thu, 22 Jun 2023 07:19:48 -0700 (PDT) MIME-Version: 1.0 References: <20230620050932.85936-1-toots@rastageeks.org> <168733633551.21886.11704774345114900976@lain.khirnov.net> In-Reply-To: <168733633551.21886.11704774345114900976@lain.khirnov.net> From: Romain Beauxis Date: Thu, 22 Jun 2023 09:19:36 -0500 X-Gmail-Original-Message-ID: Message-ID: To: FFmpeg development discussions and patches , Romain Beauxis , anton@khirnov.net Content-Type: multipart/mixed; boundary="000000000000ac56bf05feb8931a" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] libavformat/mpegts.c: fix hardcoded 5-bytes skip for metadata streams. 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --000000000000ac56bf05feb8931a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le mer. 21 juin 2023 =C3=A0 03:32, Anton Khirnov a =C3= =A9crit : > > Quoting toots@rastageeks.org (2023-06-20 07:09:33) > > From: Romain Beauxis > > > > Before the introduction of AV_CODEC_ID_TIMED_ID3 for timed_id3 metadata streams > > in mpegts (commit 4a4437c0fbc8f7afe0c533070395a42e56b4ee75), AV_CODEC_ID_SMPTE_KLV > > was the only existing codec for metadata. > > > > It seems that this codec has a 5-bytes metadata header[1] that, for some reason, > > was always skipped when decoding data packets. > > > > However, when working with a AV_CODEC_ID_TIMED_ID3 streams, this results in the > > 5 first bytes of the payload being cut-off, which includes essential informations > > such as the ID3 tag version. > > > > This patch fixes the issue by keeping the 5-bytes skip only for AV_CODEC_ID_SMPTE_KLV > > streams. > > > > To test: > > 1. download this file: https://www.dropbox.com/s/jy8sih3pe8qskxb/bla.ts?dl=3D1 > > > > This file was download from: http://playertest.longtailvideo.com/adaptive/wowzaid3/playlist.m3u8 > > > > 2. run this command: > > ffprobe -show_streams -select_streams 0 -show_packets -show_private_data \ > > -show_data /path/to/bla.ts > > > > Before: > > [PACKET] > > codec_type=3Ddata > > stream_index=3D0 > > pts=3D494646418 > > pts_time=3D5496.071311 > > dts=3D494646418 > > dts_time=3D5496.071311 > > duration=3DN/A > > duration_time=3DN/A > > size=3D21 > > pos=3D482784 > > flags=3DK__ > > data=3D > > 00000000: 0000 0000 1054 4954 3200 0000 0600 0003 .....TIT2....... > > 00000010: 7465 7374 00 test. > > > > After: > > [PACKET] > > codec_type=3Ddata > > stream_index=3D0 > > pts=3D494646418 > > pts_time=3D5496.071311 > > dts=3D494646418 > > dts_time=3D5496.071311 > > duration=3DN/A > > duration_time=3DN/A > > size=3D26 > > pos=3D482784 > > flags=3DK__ > > data=3D > > 00000000: 4944 3304 0000 0000 0010 5449 5432 0000 ID3.......TIT2.. > > 00000010: 0006 0000 0374 6573 7400 .....test. > > A FATE test for this would be nice. Here's a patch attached, along with the sample that should go into fate-suite/mpegts/id3.ts The output has been verified with a local ffprobe build: packet|codec_type=3Ddata|stream_index=3D0|pts=3D126000|pts_time=3D1.400000|= dts=3D126000|dts_time=3D1.400000|duration=3DN/A|duration_time=3DN/A|size=3D= 26|pos=3D564|flags=3DK__|data=3D\n00000000: 4944 3304 0000 0000 0010 5449 5432 0000 ID3.......TIT2..\n00000010: 0006 0000 0374 6573 7400 .....test.\n|side_data|side_data_type=3DMPEGTS Stream ID|id=3D189 packet|codec_type=3Ddata|stream_index=3D0|pts=3D577350|pts_time=3D6.415000|= dts=3D577350|dts_time=3D6.415000|duration=3DN/A|duration_time=3DN/A|size=3D= 26|pos=3D1316|flags=3DK__|data=3D\n00000000: 4944 3304 0000 0000 0010 5449 5432 0000 ID3.......TIT2..\n00000010: 0006 0000 0374 6573 7400 .....test.\n|side_data|side_data_type=3DMPEGTS Stream ID|id=3D189 stream|index=3D0|codec_name=3Dtimed_id3|profile=3Dunknown|codec_type=3Ddata= |codec_tag_string=3DID3 |codec_tag=3D0x20334449|ts_packetsize=3D188|id=3D0x100|r_frame_rate=3D0/0|a= vg_frame_rate=3D0/0|time_base=3D1/90000|start_pts=3D126000|start_time=3D1.4= 00000|duration_ts=3D451350|duration=3D5.015000|bit_rate=3DN/A|max_bit_rate= =3DN/A|bits_per_raw_sample=3DN/A|nb_frames=3DN/A|nb_read_frames=3DN/A|nb_re= ad_packets=3D2|extradata=3D\n|disposition:default=3D0|disposition:dub=3D0|d= isposition:original=3D0|disposition:comment=3D0|disposition:lyrics=3D0|disp= osition:karaoke=3D0|disposition:forced=3D0|disposition:hearing_impaired=3D0= |disposition:visual_impaired=3D0|disposition:clean_effects=3D0|disposition:= attached_pic=3D0|disposition:timed_thumbnails=3D0|disposition:captions=3D0|= disposition:descriptions=3D0|disposition:metadata=3D0|disposition:dependent= =3D0|disposition:still_image=3D0 format|filename=3Did3.ts|nb_streams=3D1|nb_programs=3D1|format_name=3Dmpegt= s|start_time=3D1.400000|duration=3D5.015000|size=3D1504|bit_rate=3D2399|pro= be_score=3D2 > -- > Anton Khirnov --000000000000ac56bf05feb8931a Content-Type: application/octet-stream; name="timed_id3_fate_test.patch" Content-Disposition: attachment; filename="timed_id3_fate_test.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj78acbj0 Y29tbWl0IGNhMDQ3MmVlZWJlNDc4YjdlYjZlN2QxZGM0MzUxMDM3Zjg4MTE3MjgKQXV0aG9yOiBS b21haW4gQmVhdXhpcyA8dG9vdHNAcmFzdGFnZWVrcy5vcmc+CkRhdGU6ICAgVGh1IEp1biAyMiAw OToxNDoxOCAyMDIzIC0wNTAwCgogICAgQWRkIEZBVEUgdGVzdCBmb3IgdGltZWQgaWQzIGRlbXV4 LgoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ZhdGUvZGVtdXgubWFrIGIvdGVzdHMvZmF0ZS9kZW11eC5t YWsKaW5kZXggZDhmYzY4YWY4OC4uYWNlOGZhMGI1MiAxMDA2NDQKLS0tIGEvdGVzdHMvZmF0ZS9k ZW11eC5tYWsKKysrIGIvdGVzdHMvZmF0ZS9kZW11eC5tYWsKQEAgLTE1Nyw2ICsxNTcsOSBAQCBm YXRlLXh3bWEtZGVtdXg6IENNRCA9IGNyYyAtaSAkKFRBUkdFVF9TQU1QTEVTKS94d21hL2VyZ29u Lnh3bWEgLWM6YSBjb3B5CiBGQVRFX0ZGUFJPQkVfREVNVVgtJChDT05GSUdfTVBFR1RTX0RFTVVY RVIpICs9IGZhdGUtdHMtZGVtdXgKIGZhdGUtdHMtZGVtdXg6IENNRCA9IGZmcHJvYmVfZGVtdXgg JChUQVJHRVRfU0FNUExFUykvYWMzL21wM2FjMzI1LTQ4NjQtc21hbGwudHMKIAorRkFURV9GRlBS T0JFX0RFTVVYLSQoQ09ORklHX01QRUdUU19ERU1VWEVSKSArPSBmYXRlLXRzLXRpbWVkLWlkMy1k ZW11eAorZmF0ZS10cy10aW1lZC1pZDMtZGVtdXg6IENNRCA9IGZmcHJvYmVfZGVtdXggJChUQVJH RVRfU0FNUExFUykvbXBlZ3RzL2lkMy50cworCiBGQVRFX1NBTVBMRVNfREVNVVggKz0gJChGQVRF X1NBTVBMRVNfREVNVVgteWVzKQogRkFURV9TQU1QTEVTX0ZGTVBFRyArPSAkKEZBVEVfU0FNUExF U19ERU1VWCkKIEZBVEVfRkZQUk9CRV9ERU1VWCAgICs9ICQoRkFURV9GRlBST0JFX0RFTVVYLXll cykKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL3RzLXRpbWVkLWlkMy1kZW11eCBiL3Rlc3Rz L3JlZi9mYXRlL3RzLXRpbWVkLWlkMy1kZW11eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi45MjJjYTE3ZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcmVmL2ZhdGUv dHMtdGltZWQtaWQzLWRlbXV4CkBAIC0wLDAgKzEsNiBAQAorcGFja2V0fGNvZGVjX3R5cGU9ZGF0 YXxzdHJlYW1faW5kZXg9MHxwdHM9MTI2MDAwfHB0c190aW1lPTEuNDAwMDAwfGR0cz0xMjYwMDB8 ZHRzX3RpbWU9MS40MDAwMDB8ZHVyYXRpb249Ti9BfGR1cmF0aW9uX3RpbWU9Ti9BfHNpemU9MjZ8 cG9zPTU2NHxmbGFncz1LX198ZGF0YV9oYXNoPUNSQzMyOjQ2OWY0NzRifHNpZGVfZGF0YXxzaWRl X2RhdGFfdHlwZT1NUEVHVFMgU3RyZWFtIElEfGlkPTE4OQorCitwYWNrZXR8Y29kZWNfdHlwZT1k YXRhfHN0cmVhbV9pbmRleD0wfHB0cz01NzczNTB8cHRzX3RpbWU9Ni40MTUwMDB8ZHRzPTU3NzM1 MHxkdHNfdGltZT02LjQxNTAwMHxkdXJhdGlvbj1OL0F8ZHVyYXRpb25fdGltZT1OL0F8c2l6ZT0y Nnxwb3M9MTMxNnxmbGFncz1LX198ZGF0YV9oYXNoPUNSQzMyOjQ2OWY0NzRifHNpZGVfZGF0YXxz aWRlX2RhdGFfdHlwZT1NUEVHVFMgU3RyZWFtIElEfGlkPTE4OQorCitzdHJlYW18aW5kZXg9MHxj b2RlY19uYW1lPXRpbWVkX2lkM3xwcm9maWxlPXVua25vd258Y29kZWNfdHlwZT1kYXRhfGNvZGVj X3RhZ19zdHJpbmc9SUQzIHxjb2RlY190YWc9MHgyMDMzNDQ0OXx0c19wYWNrZXRzaXplPTE4OHxp ZD0weDEwMHxyX2ZyYW1lX3JhdGU9MC8wfGF2Z19mcmFtZV9yYXRlPTAvMHx0aW1lX2Jhc2U9MS85 MDAwMHxzdGFydF9wdHM9MTI2MDAwfHN0YXJ0X3RpbWU9MS40MDAwMDB8ZHVyYXRpb25fdHM9NDUx MzUwfGR1cmF0aW9uPTUuMDE1MDAwfGJpdF9yYXRlPU4vQXxtYXhfYml0X3JhdGU9Ti9BfGJpdHNf cGVyX3Jhd19zYW1wbGU9Ti9BfG5iX2ZyYW1lcz1OL0F8bmJfcmVhZF9mcmFtZXM9Ti9BfG5iX3Jl YWRfcGFja2V0cz0yfGRpc3Bvc2l0aW9uOmRlZmF1bHQ9MHxkaXNwb3NpdGlvbjpkdWI9MHxkaXNw b3NpdGlvbjpvcmlnaW5hbD0wfGRpc3Bvc2l0aW9uOmNvbW1lbnQ9MHxkaXNwb3NpdGlvbjpseXJp Y3M9MHxkaXNwb3NpdGlvbjprYXJhb2tlPTB8ZGlzcG9zaXRpb246Zm9yY2VkPTB8ZGlzcG9zaXRp b246aGVhcmluZ19pbXBhaXJlZD0wfGRpc3Bvc2l0aW9uOnZpc3VhbF9pbXBhaXJlZD0wfGRpc3Bv c2l0aW9uOmNsZWFuX2VmZmVjdHM9MHxkaXNwb3NpdGlvbjphdHRhY2hlZF9waWM9MHxkaXNwb3Np dGlvbjp0aW1lZF90aHVtYm5haWxzPTB8ZGlzcG9zaXRpb246Y2FwdGlvbnM9MHxkaXNwb3NpdGlv bjpkZXNjcmlwdGlvbnM9MHxkaXNwb3NpdGlvbjptZXRhZGF0YT0wfGRpc3Bvc2l0aW9uOmRlcGVu ZGVudD0wfGRpc3Bvc2l0aW9uOnN0aWxsX2ltYWdlPTAKK2Zvcm1hdHxmaWxlbmFtZT1pZDMudHN8 bmJfc3RyZWFtcz0xfG5iX3Byb2dyYW1zPTF8Zm9ybWF0X25hbWU9bXBlZ3RzfHN0YXJ0X3RpbWU9 MS40MDAwMDB8ZHVyYXRpb249NS4wMTUwMDB8c2l6ZT0xNTA0fGJpdF9yYXRlPTIzOTl8cHJvYmVf c2NvcmU9Mgo= --000000000000ac56bf05feb8931a Content-Type: application/octet-stream; name="id3.ts" Content-Disposition: attachment; filename="id3.ts" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj78bwkx1 R0AREABC8CUAAcEAAP8B/wAB/IAUSBIBBkZGbXBlZwlTZXJ2aWNlMDF3fEPK//////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////9HQAAQAACwDQABwQAAAAHwACqxBLL///////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////0dQABAAArAhAAHBAADhAPAAFeEA8A8m Df//SUQzIP9JRDMgAA/MLDnc//////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////R0EAMI9Q AAB7DH4A//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////wAAAb0AIoSABSEAB9hhSUQzBAAAAAAAEFRJVDIA AAAGAAADdGVzdABHQBERAELwJQABwQAA/wH/AAH8gBRIEgEGRkZtcGVnCVNlcnZpY2UwMXd8Q8r/ //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////0dAABEAALANAAHBAAAAAfAAKrEEsv////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////R1AAEQACsCEAAcEA AOEA8AAV4QDwDyYN//9JRDMg/0lEMyAAD8wsOdz///////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////9HQQAxj1AAA+yXfgD///////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////AAABvQAihIAFIQAjno1JRDME AAAAAAAQVElUMgAAAAYAAAN0ZXN0AA== --000000000000ac56bf05feb8931a Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --000000000000ac56bf05feb8931a--