[mythtv] FFmpeg plans
Peter Bennett
pb.mythtv at gmail.com
Fri May 11 17:51:26 UTC 2018
In my own copy of MythTV repository, I tried using a subtree to include
FFmpeg. I hit up against a few problems -
I had wanted to try importing a particular commit from FFmpeg, but I was
unable to do that. I could only import the latest version of a branch.
Also I could see no way of cherry-picking FFmpeg commits into our copy.
git subtree add -P mythtv/external/FFmpeg
https://github.com/FFmpeg/FFmpeg.git 7e3a070 --squash
fatal: Couldn't find remote ref 7e3a070
I tried adding it as a remote, with the same result
git remote add ffmpeg https://github.com/FFmpeg/FFmpeg.git
git fetch ffmpeg
git subtree add -P mythtv/external/FFmpeg ffmpeg 7e3a070 --squash
fatal: Couldn't find remote ref 7e3a070
If you replace the commit id with a branch name it works
git subtree add -P mythtv/external/FFmpeg
https://github.com/FFmpeg/FFmpeg.git release/4.0 --squash
worked
I do not want to be forever constrained to only updating to the latest
commit of a branch in FFmpeg.
I have now created my own copy of FFmpeg repository and applied our
changes to that. Perhaps this is a better solution. We could maintain an
ffmpeg repository in MythTV and either copy from it as needed after
merging from the main FFmpeg, or else use a subtree based on our own
FFmpeg. We could create a mythtv-master branch in the private FFmpeg for
the subtree, and merge or cherry-pick to that as needed. This way we
would a better workfolw and accurate tracking of who contributed changes
in future. Currently the tracking of contributions to MythTV's copy of
FFmpeg is inaccurate, incorrectly showing most things having been
contributed by the various people who have done the FFmpeg resync.
We could also make a submodule instead of a subtree from our private
FFmpeg, but that means that people who access MythTV source would have
to run an explicit command to pull in the submodule data and to pull in
updates from it when needed.
On the current merge:
I am using FFmpeg master as of yesterday. The recent fixes to mediacodec
are not in the release branch. After applying the MythTV modifications
(5680 lines of patches) there were 12 files with conflicts. Most were
easy to fix, but FFmpeg has redesigned the code for registering demuxers
so I had to make some changes to the code for registering
ff_mythtv_mpegts_demuxer and ff_mythtv_mpegtsraw_demuxer.
It now has compile errors in the mythtv-mpegts demuxer code caused by
undeclared functions and macros, presumably deprecated things removed
from FFmpeg. I will have to fix these. The mythtv-mpegts demuxer code
also uses a lot of deprecated functions.
Peter
More information about the mythtv-dev
mailing list