[arch-commits] Commit in guvcview/trunk (PKGBUILD ffmpeg5.patch)

Antonio Rojas arojas at gemini.archlinux.org
Thu Jan 27 19:48:08 UTC 2022


    Date: Thursday, January 27, 2022 @ 19:48:08
  Author: arojas
Revision: 1117445

ffmpeg 5 rebuild

Added:
  guvcview/trunk/ffmpeg5.patch
Modified:
  guvcview/trunk/PKGBUILD

---------------+
 PKGBUILD      |   11 +++--
 ffmpeg5.patch |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-27 19:48:03 UTC (rev 1117444)
+++ PKGBUILD	2022-01-27 19:48:08 UTC (rev 1117445)
@@ -5,7 +5,7 @@
 pkgbase=guvcview
 pkgname=(guvcview guvcview-common guvcview-qt)
 pkgver=2.0.7
-pkgrel=3
+pkgrel=4
 pkgdesc='Simple interface for capturing and viewing video from v4l2 devices'
 arch=('x86_64')
 url='http://guvcview.sourceforge.net/'
@@ -14,9 +14,11 @@
 makedepends=('intltool')
 options=('!emptydirs')
 source=("https://downloads.sourceforge.net/$pkgbase/$pkgbase-src-$pkgver-2.tar.bz2"
-        '0001-Update-AppStream-metadata-to-a-newer-version.patch')
+        '0001-Update-AppStream-metadata-to-a-newer-version.patch'
+        'ffmpeg5.patch')
 sha256sums=('f0d1d7814597d42fddf1655f3654f74efd9f27e35bbe39ee4f0d42683de85c98'
-            'd9c65a9bf53eb28c48f9a9126035f5ebe520923124eae507d1cb2994e2a0d08f')
+            'd9c65a9bf53eb28c48f9a9126035f5ebe520923124eae507d1cb2994e2a0d08f'
+            'dbd24333d2a2ff02759e5bc21c0088382d093065a485376e8ee037809e066001')
 noextract=($pkgbase-src-$pkgver-2.tar.bz2) # missing root dir
 
 prepare() {
@@ -27,6 +29,9 @@
   # Update AppStream metadata to a newer version
   patch -Np1 -i ../0001-Update-AppStream-metadata-to-a-newer-version.patch
 
+  # Fix build with FFmpeg 5
+  patch -p1 -i ../ffmpeg5.patch
+
   autoreconf -fi
 
   cd ..

Added: ffmpeg5.patch
===================================================================
--- ffmpeg5.patch	                        (rev 0)
+++ ffmpeg5.patch	2022-01-27 19:48:08 UTC (rev 1117445)
@@ -0,0 +1,113 @@
+diff --git a/gview_encoder/audio_codecs.c b/gview_encoder/audio_codecs.c
+index 9050ac9..12f5850 100644
+--- a/gview_encoder/audio_codecs.c
++++ b/gview_encoder/audio_codecs.c
+@@ -409,7 +409,7 @@ int encoder_set_valid_audio_codec_list ()
+ 	int num_codecs = 0;
+ 	for ( ind = 0; ind < encoder_get_audio_codec_list_size(); ++ind)
+ 	{
+-		AVCodec *codec = avcodec_find_encoder(listSupCodecs[ind].codec_id);
++		const AVCodec *codec = avcodec_find_encoder(listSupCodecs[ind].codec_id);
+ 		if (!codec)
+ 		{
+ 			printf("ENCODER: no audio codec detected for %s\n", listSupCodecs[ind].description);
+diff --git a/gview_encoder/encoder.c b/gview_encoder/encoder.c
+index 8179bf0..fa10a89 100644
+--- a/gview_encoder/encoder.c
++++ b/gview_encoder/encoder.c
+@@ -223,7 +223,7 @@ void __attribute__ ((destructor)) gviewencoder_fini()
+  *
+  * returns: 1 - sample format is supported; 0 - is not supported
+  */
+-static int encoder_check_audio_sample_fmt(AVCodec *codec, enum AVSampleFormat sample_fmt)
++static int encoder_check_audio_sample_fmt(const AVCodec *codec, enum AVSampleFormat sample_fmt)
+ {
+ 	const enum AVSampleFormat *p = codec->sample_fmts;
+ 
+@@ -446,10 +446,6 @@ static encoder_video_context_t *encoder_video_init(encoder_context_t *encoder_ct
+ 
+ 	video_codec_data->codec_context = avcodec_alloc_context3(video_codec_data->codec);
+ 
+-	avcodec_get_context_defaults3 (
+-			video_codec_data->codec_context,
+-			video_codec_data->codec);
+-
+ 	if(video_codec_data->codec_context == NULL)
+ 	{
+ 		fprintf(stderr, "ENCODER: FATAL memory allocation failure (encoder_video_init): %s\n", strerror(errno));
+@@ -712,7 +708,6 @@ static encoder_audio_context_t *encoder_audio_init(encoder_context_t *encoder_ct
+ 	}
+ 
+ 	audio_codec_data->codec_context = avcodec_alloc_context3(audio_codec_data->codec);
+-	avcodec_get_context_defaults3 (audio_codec_data->codec_context, audio_codec_data->codec);
+ 
+ 	if(audio_codec_data->codec_context == NULL)
+ 	{
+diff --git a/gview_encoder/encoder.h b/gview_encoder/encoder.h
+index 11c9522..a5697c1 100644
+--- a/gview_encoder/encoder.h
++++ b/gview_encoder/encoder.h
+@@ -130,7 +130,7 @@
+  */
+ typedef struct _encoder_codec_data_t
+ {
+-	AVCodec *codec;
++	const AVCodec *codec;
+ 	AVDictionary *private_options;
+ 	AVCodecContext *codec_context;
+ 	AVFrame *frame;
+diff --git a/gview_encoder/video_codecs.c b/gview_encoder/video_codecs.c
+index ae86c3f..30e757b 100644
+--- a/gview_encoder/video_codecs.c
++++ b/gview_encoder/video_codecs.c
+@@ -974,7 +974,7 @@ int encoder_set_valid_video_codec_list ()
+ 	int num_codecs = 1; /*raw codec (no encoding) is always valid*/
+ 	for ( ind = 1; ind < encoder_get_video_codec_list_size(); ++ind)
+ 	{
+-		AVCodec *codec = avcodec_find_encoder(listSupCodecs[ind].codec_id);
++		const AVCodec *codec = avcodec_find_encoder(listSupCodecs[ind].codec_id);
+ 		if (!codec)
+ 		{
+ 			printf("ENCODER: no video codec detected for %s\n", listSupCodecs[ind].description);
+diff --git a/gview_v4l2core/jpeg_decoder.c b/gview_v4l2core/jpeg_decoder.c
+index 8e9cf6b..82ff633 100644
+--- a/gview_v4l2core/jpeg_decoder.c
++++ b/gview_v4l2core/jpeg_decoder.c
+@@ -1350,7 +1350,7 @@ void jpeg_close_decoder()
+ 
+ typedef struct _codec_data_t
+ {
+-	AVCodec *codec;
++	const AVCodec *codec;
+ 	AVCodecContext *context;
+ 	AVFrame *picture;
+ } codec_data_t;
+@@ -1409,7 +1409,6 @@ int jpeg_init_decoder(int width, int height)
+ 
+ #if LIBAVCODEC_VER_AT_LEAST(53,6)
+ 	codec_data->context = avcodec_alloc_context3(codec_data->codec);
+-	avcodec_get_context_defaults3 (codec_data->context, codec_data->codec);
+ #else
+ 	codec_data->context = avcodec_alloc_context();
+ 	avcodec_get_context_defaults(codec_data->context);
+diff --git a/gview_v4l2core/uvc_h264.c b/gview_v4l2core/uvc_h264.c
+index f526b1e..e3ff5f1 100644
+--- a/gview_v4l2core/uvc_h264.c
++++ b/gview_v4l2core/uvc_h264.c
+@@ -47,7 +47,7 @@ extern int verbosity;
+ 
+ typedef struct _h264_decoder_context_t
+ {
+-	AVCodec *codec;
++	const AVCodec *codec;
+ 	AVCodecContext *context;
+ 	AVFrame *picture;
+ 
+@@ -1004,7 +1004,6 @@ int h264_init_decoder(int width, int height)
+ 
+ #if LIBAVCODEC_VER_AT_LEAST(53,6)
+ 	h264_ctx->context = avcodec_alloc_context3(h264_ctx->codec);
+-	avcodec_get_context_defaults3 (h264_ctx->context, h264_ctx->codec);
+ #else
+ 	h264_ctx->context = avcodec_alloc_context();
+ 	avcodec_get_context_defaults(h264_ctx->context);



More information about the arch-commits mailing list