[mythtv] FFmpeg cleanup

Peter Bennett pb.mythtv at gmail.com
Wed Feb 9 19:42:55 UTC 2022

On 2/7/22 1:53 PM, Scott Theisen wrote:
> On 2/7/22 12:02, Peter Bennett wrote:
>> You have a pull request in MythTV/mythtv for ffmpeg cleanup, and also 
>> one in mythTV/FFmpeg for reversions.
>> I would also like to start merging the latest FFmpeg master in 
>> preparation for FFmpeg 5.0. My process is to merge from FFmpeg/FFmpeg 
>> master into MythTV/FFmpeg master up to the point where FFmpeg creates 
>> release/5.0, then create release/5.0 in MythTV/FFmpeg. Once 
>> everything is successfully merged, then copy the FFmpeg contents into 
>> MythTV, ffmpeg-resync branch. ffmpeg-resync branch will be deleted 
>> and recreated from master.
>> In order to make bisecting FFmpeg changes easier I would like to try 
>> multiple cherry-pick or rebase instead of merge into our FFmpeg so 
>> that there is a single line history of commits.
>> This process necessarily loses all changes that have been committed 
>> to MythTV/mythtv/external/FFmpeg.
>> The ffmpeg cleanup pull request contains changes to 
>> MythTV/mythtv/external/FFmpeg which will be lost. Are all of those 
>> changes contained in the reversions pull request?
> All the changes to external/FFmpeg in 
> https://github.com/MythTV/mythtv/pull/416 are also in 
> https://github.com/MythTV/FFmpeg/pull/1 the reversions PR.
> git diff reversions rebase/4.4m3
> The only differences are from the extra two upstream commits that I 
> branched after.
>> Do you recommend applying your pull requests before starting the 
>> merge, rebase or cherry-pick of FFmpeg master into our FFmpeg?
> The FFmpeg PR is equivalent to rebase/4.4m3 so I would recommend 
> applying the MythTV PR first, so I can then rebase and squash those 
> commits back onto release/4.4.
> Then I'll rebase onto FFmpeg's release/5.0.
> I am also working on harmonizing mpegts-mythtv.(h|c) with 
> mpegts.(h|c).  See 
> https://github.com/ulmus-scott/FFmpeg/commits/harmonize .
> git diff --no-index --color-moved libavformat/mpegts.c 
> libavformat/mpegts-mythtv.c
> I decided since most of the functions using the old packet API were 
> unmodified by MythTV, it would be easier to just copy the versions 
> from FFmpeg 4.4.  Unfortunately, most of the MythTV modifications are 
> buried under 17 years of updates.
> Regards,
> Scott
The pull request for ffmpeg cleanup has 73 commits. I will start going 
through them starting at the first and cherry-picking them into MythTV 
master. I will exclude any changes to the ffmpeg directory, as those 
will be made in the MythTV/FFmpeg repository. If any of the changes to 
MythTV are dependent on corresponding FFmpeg changes I will leave them 
until later.

The MythTV/FFmpeg repository changes will need to be made against 
MythTV/FFmpeg/master, not against 4.4 or 5.0, so that subsequent changes 
from FFmpeg/FFmpeg/master can be incorporated over them into 
MythTV/FFmpeg/master. I plan to cherry-pick the FFmpeg/FFmpeg/master 
changes into MythTV/FFmpeg/master so that there is a linear history that 
can be bisected if necessary.

I prefer not to squash commits, so that they can be bisected and bad 
commits can be reverted.

Does this sound OK to you?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20220209/3f670391/attachment.htm>

More information about the mythtv-dev mailing list