[FFmpeg-devel] [PATCH] avformat: fix use of undeclared identifier error when compiling Chromium

揚帆起航 uioptt24 at gmail.com
Wed Nov 9 04:41:23 EET 2022


I encountered an error in the files included in this patch when compiling
Chromium. When I followed this patch to modify the ffmpeg file in the
Chromium source code, the compilation no longer reported errors.

Chromium regularly merges the latest revisions of ffmpeg through
Cherry-Pick. I also submitted this patch to Chromium before submitting it
to ffmpeg, but Chromium asked me to submit it to ffmpeg first

"zhilizhao(赵志立)" <quinkblack at foxmail.com> 於 2022年11月9日 週三 10:23 寫道:

>
>
> > On Nov 9, 2022, at 03:48, uioptt24 at gmail.com wrote:
> >
> > From: gz83 <uioptt24 at gmail.com>
> >
> > Cross-compiling Chromium on Ubuntu 22.04 will encounter errors related
> > to avformat, because Chromium regularly synchronizes upstream changes,
> > so now submit code directly to upstream
> > ---
> > libavformat/flac_picture.c |  3 ++-
> > libavformat/matroskadec.c  | 10 +++++-----
> > libavformat/mov.c          | 11 ++++++-----
> > libavformat/oggdec.c       |  1 +
> > libavformat/riff.c         |  1 +
> > 5 files changed, 15 insertions(+), 11 deletions(-)
> >
> > diff --git a/libavformat/flac_picture.c b/libavformat/flac_picture.c
> > index b33fee75b4..36d190fdc7 100644
> > --- a/libavformat/flac_picture.c
> > +++ b/libavformat/flac_picture.c
> > @@ -19,9 +19,10 @@
> >  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> 02110-1301 USA
> >  */
> >
> > -#include "libavutil/intreadwrite.h"
> > #include "libavcodec/bytestream.h"
> > +#include "libavcodec/defs.h"
> > #include "libavcodec/png.h"
> > +#include "libavutil/intreadwrite.h"
> > #include "avformat.h"
> > #include "demux.h"
> > #include "flac_picture.h"
> > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> > index d582f566a2..f7bb962941 100644
> > --- a/libavformat/matroskadec.c
> > +++ b/libavformat/matroskadec.c
> > @@ -34,6 +34,11 @@
> > #include <inttypes.h>
> > #include <stdio.h>
> >
> > +#include "libavcodec/bytestream.h"
> > +#include "libavcodec/defs.h"
> > +#include "libavcodec/flac.h"
> > +#include "libavcodec/mpeg4audio.h"
> > +#include "libavcodec/packet_internal.h"
> > #include "libavutil/avstring.h"
> > #include "libavutil/base64.h"
> > #include "libavutil/bprint.h"
> > @@ -50,11 +55,6 @@
> > #include "libavutil/time_internal.h"
> > #include "libavutil/spherical.h"
> >
> > -#include "libavcodec/bytestream.h"
> > -#include "libavcodec/flac.h"
> > -#include "libavcodec/mpeg4audio.h"
> > -#include "libavcodec/packet_internal.h"
> > -
> > #include "avformat.h"
> > #include "avio_internal.h"
> > #include "demux.h"
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index 1f436e21d6..39d2c71edb 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -29,6 +29,12 @@
> > #include <limits.h>
> > #include <stdint.h>
> >
> > +#include "libavcodec/ac3tab.h"
> > +#include "libavcodec/defs.h"
> > +#include "libavcodec/flac.h"
> > +#include "libavcodec/hevc.h"
> > +#include "libavcodec/mpegaudiodecheader.h"
> > +#include "libavcodec/mlp_parse.h"
> > #include "libavutil/attributes.h"
> > #include "libavutil/bprint.h"
> > #include "libavutil/channel_layout.h"
> > @@ -49,11 +55,6 @@
> > #include "libavutil/stereo3d.h"
> > #include "libavutil/timecode.h"
> > #include "libavutil/uuid.h"
> > -#include "libavcodec/ac3tab.h"
> > -#include "libavcodec/flac.h"
> > -#include "libavcodec/hevc.h"
> > -#include "libavcodec/mpegaudiodecheader.h"
> > -#include "libavcodec/mlp_parse.h"
> > #include "avformat.h"
> > #include "internal.h"
> > #include "avio_internal.h"
> > diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c
> > index 3b19e0bd89..c4321a9436 100644
> > --- a/libavformat/oggdec.c
> > +++ b/libavformat/oggdec.c
> > @@ -29,6 +29,7 @@
> >  */
> >
> > #include <stdio.h>
> > +#include "libavcodec/defs.h"
> > #include "libavutil/avassert.h"
> > #include "libavutil/intreadwrite.h"
> > #include "avio_internal.h"
> > diff --git a/libavformat/riff.c b/libavformat/riff.c
> > index 7319406b39..b1cac3171b 100644
> > --- a/libavformat/riff.c
> > +++ b/libavformat/riff.c
> > @@ -22,6 +22,7 @@
> > #include <stddef.h>
> > #include "config.h"
> > #include "config_components.h"
> > +#include "libavcodec/codec_id.h"
> > #include "libavutil/macros.h"
> > #include "avformat.h"
> > #include "internal.h"
> > --
> > 2.38.1.windows.1
> >
>
> Please explain why the patch is needed. If chromium rewrite the build
> system
> of FFmpeg, I don’t think FFmpeg should support it.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list