From d58dcfb05980945e86d6fd79d0d4dcc8c61b5c93 Mon Sep 17 00:00:00 2001 From: ptrcnull Date: Tue, 8 Mar 2022 23:41:37 +0100 Subject: [PATCH] community/tvheadend: upgrade to 4.3 --- community/tvheadend/APKBUILD | 10 +- community/tvheadend/ffmpeg-4.0.patch | 122 ++++++++++++++++++ .../update-vendored-libhdhomerun.patch | 4 +- 3 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 community/tvheadend/ffmpeg-4.0.patch diff --git a/community/tvheadend/APKBUILD b/community/tvheadend/APKBUILD index 9577b8f8dc3..aa45e32c1bf 100644 --- a/community/tvheadend/APKBUILD +++ b/community/tvheadend/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Carlo Landmeter pkgname=tvheadend -pkgver=4.2.8 -pkgrel=5 +pkgver=4.3 +pkgrel=0 pkgdesc="TV Streaming server for linux" url="https://tvheadend.org/" arch="all" @@ -17,6 +17,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/tvheadend/tvheadend/archive/ $pkgname.initd gcc-10.patch update-vendored-libhdhomerun.patch + ffmpeg-4.0.patch " [ "$CARCH" = "riscv64" ] && options="$options textrels" @@ -53,8 +54,9 @@ package() { } sha512sums=" -e629ffe1802e76b5121d5c22d11be86640f17816a5e902ed4842b2fd21df506d00d9caebafd931d71995e9d9049cb675c032478c9bed4f1ce82fc3f255f6166f tvheadend-4.2.8.tar.gz +45c1144ad2c7f4a46c1748063115850e7d754427247718a9b93ad523fc5e4128d27eed1fc3376b785aa9109df8a5f37295086859312462c9b0c915fb63b02140 tvheadend-4.3.tar.gz 8b6463996b9635654cba4458e58cef2970e31c98c1469ccc694276e5542eec451a0859a972b6c056b53d97deb2cef55d701fb1ee3ca980b1606f9126a88ab64f tvheadend.initd 34ea7d896c68428a73e8a4e31f898c638f9b9867bc0a9e8a32dd6bbda7ffd3527889d8469113c2897020ceecb989020baf56cf7db99beadc19e6710e388007b4 gcc-10.patch -98d6fc78047b377992de1df65eb166e93c40aa13ba3eebbdc743c2d60d3ba6388f46975913c7877b9912e84a6b7395c4ed7d2e4fe32ea526331a2b8c6b94333f update-vendored-libhdhomerun.patch +46466f10c7d3f9cb743314f905c44e97ffd2f3001eb2b2b1c4c4bde54955896e42531a33cb5fcc1c623a28a3da6404d85b90359c17cb3623d0aef45314ea9b42 update-vendored-libhdhomerun.patch +d7b4130949712ec3d0d5702f00175628ddee6fc4df983e121135d9caf3c920141d1a4778f91f0a75f12f44e6a98fbbe682a47cd5fb8db5c0c6dfc10fddb73c2a ffmpeg-4.0.patch " diff --git a/community/tvheadend/ffmpeg-4.0.patch b/community/tvheadend/ffmpeg-4.0.patch new file mode 100644 index 00000000000..73ce37ac91d --- /dev/null +++ b/community/tvheadend/ffmpeg-4.0.patch @@ -0,0 +1,122 @@ +From cf6b0b3714a5830bc2201ad404bac97738c0c578 Mon Sep 17 00:00:00 2001 +From: ptrcnull +Date: Tue, 8 Mar 2022 23:47:25 +0100 +Subject: [PATCH] Fix building against FFmpeg 4 and newer + +https://github.com/FFmpeg/FFmpeg/commit/f5950b8fd61ec85e0ad8790bea56b37ceea19436 + +--- + src/muxer/muxer_libav.c | 2 +- + src/plumbing/transcoding.c | 21 ++++++++++----------- + 2 files changed, 11 insertions(+), 12 deletions(-) + +diff --git a/src/muxer/muxer_libav.c b/src/muxer/muxer_libav.c +index e62fbcdff..b1b3a3d23 100644 +--- a/src/muxer/muxer_libav.c ++++ b/src/muxer/muxer_libav.c +@@ -174,7 +174,7 @@ lav_muxer_add_stream(lav_muxer_t *lm, + } + + if(lm->lm_oc->oformat->flags & AVFMT_GLOBALHEADER) +- c->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + return 0; + } +diff --git a/src/plumbing/transcoding.c b/src/plumbing/transcoding.c +index 4fc05feab..dbce45836 100644 +--- a/src/plumbing/transcoding.c ++++ b/src/plumbing/transcoding.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -574,7 +573,7 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + octx->channels = as->aud_channels ? as->aud_channels : ictx->channels; + octx->channel_layout = transcode_get_channel_layout(&octx->channels, ocodec); + octx->bit_rate = as->aud_bitrate ? as->aud_bitrate : 0; +- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + if (!octx->sample_rate) { + tvherror(LS_TRANSCODE, "%04X: audio encoder has no suitable sample rate!", shortid(t)); +@@ -619,7 +618,7 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + break; + + case SCT_AAC: +- octx->flags |= CODEC_FLAG_BITEXACT; ++ octx->flags |= AV_CODEC_FLAG_BITEXACT; + // use 64 kbit per channel as default + if (octx->bit_rate == 0) { + octx->bit_rate = octx->channels * 64000; +@@ -630,10 +629,10 @@ transcoder_stream_audio(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + // use vbr with quality setting as default + // and also use a user specified bitrate < 16 kbit as quality setting + if (octx->bit_rate == 0) { +- octx->flags |= CODEC_FLAG_QSCALE; ++ octx->flags |= AV_CODEC_FLAG_QSCALE; + octx->global_quality = 4 * FF_QP2LAMBDA; + } else if (t->t_props.tp_abitrate < 16) { +- octx->flags |= CODEC_FLAG_QSCALE; ++ octx->flags |= AV_CODEC_FLAG_QSCALE; + octx->global_quality = t->t_props.tp_abitrate * FF_QP2LAMBDA; + octx->bit_rate = 0; + } +@@ -1289,12 +1288,12 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + else + octx->pix_fmt = AV_PIX_FMT_YUV420P; + +- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + if (t->t_props.tp_vbitrate < 64) { + // encode with specified quality and optimize for low latency + // valid values for quality are 2-31, smaller means better quality, use 5 as default +- octx->flags |= CODEC_FLAG_QSCALE; ++ octx->flags |= AV_CODEC_FLAG_QSCALE; + octx->global_quality = FF_QP2LAMBDA * + (t->t_props.tp_vbitrate == 0 ? 5 : MINMAX(t->t_props.tp_vbitrate, 2, 31)); + } else { +@@ -1340,7 +1339,7 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + else + octx->pix_fmt = AV_PIX_FMT_YUV420P; + +- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + // Default = "medium". We gain more encoding speed compared to the loss of quality when lowering it _slightly_. + // select preset according to system performance and codec type +@@ -1371,7 +1370,7 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt) + + case SCT_HEVC: + octx->pix_fmt = AV_PIX_FMT_YUV420P; +- octx->flags |= CODEC_FLAG_GLOBAL_HEADER; ++ octx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + + // on all hardware ultrafast (or maybe superfast) should be safe + // select preset according to system performance +@@ -2151,7 +2150,7 @@ transcoder_get_capabilities(int experimental) + if (!WORKING_ENCODER(p->id)) + continue; + +- if (((p->capabilities & CODEC_CAP_EXPERIMENTAL) && !experimental) || ++ if (((p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && !experimental) || + (p->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)) { + continue; + } +@@ -2166,7 +2165,7 @@ transcoder_get_capabilities(int experimental) + htsmsg_add_str(m, "name", p->name); + snprintf(buf, sizeof(buf), "%s%s", + p->long_name ?: "", +- (p->capabilities & CODEC_CAP_EXPERIMENTAL) ? ++ (p->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ? + " (Experimental)" : ""); + if (buf[0] != '\0') + htsmsg_add_str(m, "long_name", buf); +-- +2.35.1 + diff --git a/community/tvheadend/update-vendored-libhdhomerun.patch b/community/tvheadend/update-vendored-libhdhomerun.patch index 94e297b4604..784e6e83ab8 100644 --- a/community/tvheadend/update-vendored-libhdhomerun.patch +++ b/community/tvheadend/update-vendored-libhdhomerun.patch @@ -42,11 +42,11 @@ index dcce37d1bb..e8fa736ca3 100644 # Upstream Packages # ########################################################################### --LIBHDHR = libhdhomerun_20171221 +-LIBHDHR = libhdhomerun_20150826 +LIBHDHR = libhdhomerun_20180817 LIBHDHR_TB = $(LIBHDHR).tgz -LIBHDHR_URL = http://download.silicondust.com/hdhomerun/$(LIBHDHR_TB) --LIBHDHR_SHA1 = 6b019728eadea3af7a5686ed5ba44e970bca7365 +-LIBHDHR_SHA1 = 24ce6003b1e815ec4c642d180b621c1d524ca1cf +LIBHDHR_URL = https://download.silicondust.com/hdhomerun/$(LIBHDHR_TB) +LIBHDHR_SHA1 = 052868bde3a5713c55b4d060b77e0bc3a0d891d6