Dear James, Maybe you can advise how to handle this removal properly in Kodi?
15 серпня 2022 р. 21:49:19 UTC, Rogo <rog...@proton.me> написав(-ла): >Hi, > >since kodi in Debian is built against ffmpeg 5.1, TV playback is broken. >More specifically, kodi can no longer play video transport streams. > >One can reproduce this by playing a video from a ts file in kodi, e.g.: >$ ffmpeg -f lavfi -i testsrc -t 10 -c:v h264 test.ts >$ kodi test.ts > >This worked fine with kodi 19.4, which was built against ffmpeg 4.4, >but no longer shows the video in kodi 20, which is built against ffmpeg 5.1. > >The problem is that kodi tries to manually extract transport stream extradata >using parser->split in CDVDDemuxFFmpeg::ParsePacket [1], but all the split >functions were removed in ffmpeg 5.0 by [2]: >commit e5af9203098a889f36b759652615046254d45102 >Author: Andreas Rheinhardt <andreas.rheinha...@gmail.com> >Date: Sun Mar 7 00:28:14 2021 +0100 > > avcodec: Move all AVCodecParser.split functions to remove_extradata_bsf > > The remove_extradata bsf is the only user of these functions. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > Signed-off-by: James Almer <jamr...@gmail.com> > >Reverting this commit on top of ffmpeg 5.1 (and including startcode.h in >files then using avpriv_find_start_code) restores TV playback in kodi. > >As the example of kodi shows, these split functions are generally useful >for API users outside of ffmpeg itself. >Thus please restore them, e.g. by reverting this commit. > >Thanks, >Rogo > >1: >https://salsa.debian.org/multimedia-team/kodi-media-center/kodi/-/blob/1690349c890bdf941216218dd6b4f7b9c4204dc0/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp#L2260 >2: >https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/e5af9203098a889f36b759652615046254d45102 > -- Vasyl Gello ================================================== Certified SolidWorks Expert Mob.:+380 (98) 465 66 77 E-Mail: vasek.ge...@gmail.com ================================================== 호랑이는 죽어서 가죽을 남기고 사람은 죽어서 이름을 남긴다