[mythtv] Decision on FFmpeg repository

John P Poet jppoet at gmail.com
Wed May 16 16:58:54 UTC 2018


On Wed, May 16, 2018 at 10:54 AM Peter Bennett <pb.mythtv at gmail.com> wrote:

> I would like to get a decision on what to do about a couple of FFmpeg
> questions:
>
> 1. Use FFmpeg master or release branch? My recommendation is to use master.
> - the FFmpeg website recommends using master for those who are compiling
> FFmpeg themselves. It states that the release branches are for those who
> rely on downloaded prebuilt packages
> (https://ffmpeg.org/download.html#repositories).
> - Only master has the recent mediacodec changes which I need for android.
> - If we sync to master, we can use a better approach for the repository
> (question 2 below).
>
> 2. What method should we use for storing and syncing with FFmpeg source?
> Options are:
> a. Reapply patches to the source from FFmpeg, resolve conflicts, and
> copy the source over what we have in MythTV (current process). This can
> be very time-consuming.
>
> b. Use a subtree in the MythTV repository.
> - This will not work if we use a release branch (question 1).
> - When resyncing, we can do a git merge of the subtree from FFmpeg.
> - We can cherry-pick changes needed without resyncing everything.
> - We can sync to any required commit, we don't need to go all the way to
> the latest commit.
> - git log shows FFmpeg commits intermingled with MythTV. You can use
> "git log -- mythtv" which eliminates those.
> - This imports some 90,000 extra commits from FFmpeg.
>
> You can see an example of the subtree in use at
> https://github.com/bennettpeter/mythtv/tree/ffmpeg-subtree or clone that
> repo and look at the ffmpeg-subtree branch.
>
> c. Keep our own customized FFmpeg repository with patches applied.
> - This will not work if we use a release branch (question 1).
> - When resyncing, do a git pull or merge on the private FFmpeg
> repository. Then copy the entire source over the MythTV FFmpeg source.
> - We can cherry-pick changes needed without resyncing everything.
> - We can sync to any required commit, we don't need to go all the way to
> the latest commit.
> - git log in MythTV does not show all the FFmpeg commits.
> - git log in the private FFmpeg repository shows records of our patches
> along with all the FFmpeg commits.
> - We can perform periodic pulls into the private FFmpeg repository
> without affecting MythTV. This will make the eventual copying into
> MythTV quicker and easier.
> - Any FFmpeg patches that we apply between copying into MythTV must be
> applied in both MythTV and FFmpeg repositories, or apply them in the
> private FFmpeg repository and then wait for the next copy into MythTV.
>
> You can see an example of FFmpeg with patches applied at
> https://github.com/bennettpeter/FFmpeg
>

Since you are doing the work, Peter, I think you get a stronger vote that
the rest of us.

My personal vote would be for 2(c), but 2(b) would be okay.  I don't like
2(a).

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20180516/2630ade6/attachment.html>


More information about the mythtv-dev mailing list