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

"zhilizhao(赵志立)" quinkblack at foxmail.com
Wed Nov 9 04:22:44 EET 2022



> 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.


More information about the ffmpeg-devel mailing list