[mythtv] FFmpeg plans

Peter Bennett pb.mythtv at gmail.com
Sat Apr 28 20:08:19 UTC 2018


To David and other devs

I have separated the MythTV configure from the FFmpeg configure so that 
they no longer need to be merged when bringing in new FFmpeg versions. 
see ticket https://code.mythtv.org/trac/ticket/13259 . I will commit 
this to master shortly, once I see that no compile errors caused by this 
come from the build slaves and my testing is all successful.

I would like to propose that we incorporate FFmpeg master branch into 
MythTV instead of periodically merging release branches. Also I would 
like to merge the FFmpeg git into ours, so that bringing in FFmpeg 
updates becomes a git pull operation. I am not a git expert but I think 
this should work:

1. Delete mythtv/external/FFmpeg in mythtv
 From git root:
git rm -r mythtv/external/FFmpeg

2. Create a subtree of FFmpeg master
 From git root:
git subtree add -P mythtv/external/FFmpeg 
https://github.com/FFmpeg/FFmpeg.git master [--squash]

3. Apply our FFmpeg customizations and commit them.

4. Later, when we want to pull subsequent FFmpeg updates, run this
 From git root
git subtree pull -P mythtv/external/FFmpeg 
https://github.com/FFmpeg/FFmpeg.git master [--squash]

I will test this in the ffmpeg-resync branch first to make sure it all 
works.

Notes: Many articles recommend the --squash flag to suppress importing 
the history of the other project. Does anybody have opinions about this?

See 
https://www.atlassian.com/blog/git/alternatives-to-git-submodule-git-subtree 
and man git-subtree.

It is recommended but not necessary to separate commits to FFmpeg from 
commits to the rest of the system. This is mainly in case you need to 
submit updates back to the main FFmpeg repository, which we would not 
likely be doing.

Please let me have your opinions or comments on this. Also, let me know 
if I have missed something in git that may prevent this from working 
correctly.

Peter




More information about the mythtv-dev mailing list