summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2018-09-02 12:27:54 +0100
committerJames Le Cuirot <chewi@gentoo.org>2018-09-02 12:43:10 +0100
commit739b54d63d1152757c3367ac57f249b751caa990 (patch)
tree035d984220d1c2f52a0e41b20bbe8e96a5e2b729 /media-tv/tvheadend/files
parentmedia-tv/tvheadend: Fix systemd service unit (diff)
downloadgentoo-739b54d63d1152757c3367ac57f249b751caa990.tar.gz
gentoo-739b54d63d1152757c3367ac57f249b751caa990.tar.bz2
gentoo-739b54d63d1152757c3367ac57f249b751caa990.zip
media-tv/tvheadend: Version bump to 4.2.6
Closes: https://bugs.gentoo.org/665086 Package-Manager: Portage-2.3.48, Repoman-2.3.10
Diffstat (limited to 'media-tv/tvheadend/files')
-rw-r--r--media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch115
-rw-r--r--media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch110
2 files changed, 225 insertions, 0 deletions
diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch
new file mode 100644
index 000000000000..eaec90eabcef
--- /dev/null
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-ffmpeg_3.5.patch
@@ -0,0 +1,115 @@
+diff -up ./src/muxer/muxer_libav.c.orig ./src/muxer/muxer_libav.c
+--- ./src/muxer/muxer_libav.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/muxer/muxer_libav.c 2018-01-23 14:24:07.923509542 +0100
+@@ -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 -up ./src/plumbing/transcoding.c.orig ./src/plumbing/transcoding.c
+--- ./src/plumbing/transcoding.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/plumbing/transcoding.c 2018-01-23 14:43:14.873964416 +0100
+@@ -19,7 +19,7 @@
+ #include <unistd.h>
+ #include <libavformat/avformat.h>
+ #include <libavcodec/avcodec.h>
+-#include <libavfilter/avfiltergraph.h>
++#include <libavfilter/avfilter.h>
+ #include <libavfilter/buffersink.h>
+ #include <libavfilter/buffersrc.h>
+ #include <libavutil/opt.h>
+@@ -574,7 +574,7 @@ transcoder_stream_audio(transcoder_t *t,
+ 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 +619,7 @@ transcoder_stream_audio(transcoder_t *t,
+ 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 +630,10 @@ transcoder_stream_audio(transcoder_t *t,
+ // 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;
+ }
+@@ -1048,7 +1048,7 @@ create_video_filter(video_stream_t *vs,
+ AVCodecContext *ictx, AVCodecContext *octx)
+ {
+ AVFilterInOut *flt_inputs, *flt_outputs;
+- AVFilter *flt_bufsrc, *flt_bufsink;
++ const AVFilter *flt_bufsrc, *flt_bufsink;
+ enum AVPixelFormat pix_fmts[] = { 0, AV_PIX_FMT_NONE };
+ char opt[128];
+ int err;
+@@ -1289,12 +1289,12 @@ transcoder_stream_video(transcoder_t *t,
+ 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 +1340,7 @@ transcoder_stream_video(transcoder_t *t,
+ 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 +1371,7 @@ transcoder_stream_video(transcoder_t *t,
+
+ 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
+@@ -2177,7 +2177,7 @@ transcoder_get_capabilities(int experime
+ 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;
+ }
+@@ -2192,7 +2192,7 @@ transcoder_get_capabilities(int experime
+ 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);
diff --git a/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch
new file mode 100644
index 000000000000..1891808e4077
--- /dev/null
+++ b/media-tv/tvheadend/files/tvheadend-4.2.5-gcc8.patch
@@ -0,0 +1,110 @@
+diff -up ./src/dvr/dvr_rec.c.orig ./src/dvr/dvr_rec.c
+--- ./src/dvr/dvr_rec.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/dvr/dvr_rec.c 2018-03-08 17:15:06.479877783 +0100
+@@ -669,7 +669,7 @@ static int
+ pvr_generate_filename(dvr_entry_t *de, const streaming_start_t *ss)
+ {
+ char filename[PATH_MAX];
+- char path[PATH_MAX];
++ char path[PATH_MAX + 1];
+ char ptmp[PATH_MAX];
+ char number[16];
+ char tmp[MAX(PATH_MAX, 512)];
+diff -up ./src/epgdb.c.orig ./src/epgdb.c
+--- ./src/epgdb.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/epgdb.c 2018-03-08 17:15:06.479877783 +0100
+@@ -470,7 +470,7 @@ static int _epg_write_sect ( sbuf_t *sb,
+
+ static void epg_save_tsk_callback ( void *p, int dearmed )
+ {
+- char tmppath[PATH_MAX];
++ char tmppath[PATH_MAX + 4];
+ char path[PATH_MAX];
+ sbuf_t *sb = p;
+ size_t size = sb->sb_ptr, orig;
+diff -up ./src/epggrab/module/eit.c.orig ./src/epggrab/module/eit.c
+--- ./src/epggrab/module/eit.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/epggrab/module/eit.c 2018-03-08 17:15:06.480877787 +0100
+@@ -50,8 +50,8 @@ typedef struct eit_private
+
+ typedef struct eit_event
+ {
+- char uri[257];
+- char suri[257];
++ char uri[529];
++ char suri[529];
+
+ lang_str_t *title;
+ lang_str_t *summary;
+diff -up ./src/imagecache.c.orig ./src/imagecache.c
+--- ./src/imagecache.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/imagecache.c 2018-03-08 17:15:06.481877791 +0100
+@@ -252,7 +252,7 @@ imagecache_image_fetch ( imagecache_imag
+ {
+ int res = 1, r;
+ url_t url;
+- char tpath[PATH_MAX] = "", path[PATH_MAX];
++ char tpath[PATH_MAX + 4] = "", path[PATH_MAX];
+ tvhpoll_event_t ev;
+ tvhpoll_t *efd = NULL;
+ http_client_t *hc = NULL;
+diff -up ./src/input/mpegts/dvb_psi.c.orig ./src/input/mpegts/dvb_psi.c
+--- ./src/input/mpegts/dvb_psi.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/dvb_psi.c 2018-03-08 17:15:06.482877795 +0100
+@@ -678,7 +678,7 @@ static int
+ dvb_freesat_add_service
+ ( dvb_bat_id_t *bi, dvb_freesat_region_t *fr, mpegts_service_t *s, uint32_t lcn )
+ {
+- char name[96], src[64];
++ char name[96], src[126];
+ if (!fr->bouquet) {
+ strcpy(name, "???");
+ if (idnode_is_instance(&bi->mm->mm_id, &dvb_mux_dvbs_class))
+diff -up ./src/input/mpegts/dvb_support.c.orig ./src/input/mpegts/dvb_support.c
+--- ./src/input/mpegts/dvb_support.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/dvb_support.c 2018-03-08 17:15:06.483877799 +0100
+@@ -853,7 +853,7 @@ dvb_str2val(qam);
+
+ const char *dvb_bw2str(int p)
+ {
+- static char __thread buf[16];
++ static char __thread buf[17];
+ const char *res = dvb_common2str(p);
+ if (res)
+ return res;
+diff -up ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c
+--- ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/linuxdvb/linuxdvb_satconf.c 2018-03-08 17:15:06.484877803 +0100
+@@ -185,7 +185,7 @@ linuxdvb_satconf_class_orbitalpos_set
+ linuxdvb_satconf_t *ls = p;
+ int c = *(int*)linuxdvb_satconf_class_orbitalpos_get(p);
+ int n = *(int*)v;
+- char buf[20];
++ char buf[22];
+
+ if (n == c)
+ return 0;
+diff -up ./src/input/mpegts/scanfile.c.orig ./src/input/mpegts/scanfile.c
+--- ./src/input/mpegts/scanfile.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/input/mpegts/scanfile.c 2018-03-08 17:23:20.200963915 +0100
+@@ -331,7 +331,7 @@ scanfile_create_network
+ {
+ scanfile_region_t *reg = NULL;
+ scanfile_network_t *net;
+- char buf[256], buf2[256], buf3[256], *str;
++ char buf[256], buf2[263], buf3[270], *str;
+ int opos;
+
+ /* Region */
+diff -up ./src/settings.c.orig ./src/settings.c
+--- ./src/settings.c.orig 2017-12-18 09:57:28.000000000 +0100
++++ ./src/settings.c 2018-03-08 17:15:06.484877803 +0100
+@@ -129,7 +129,7 @@ void
+ hts_settings_save(htsmsg_t *record, const char *pathfmt, ...)
+ {
+ char path[PATH_MAX];
+- char tmppath[PATH_MAX];
++ char tmppath[PATH_MAX + 4];
+ int fd;
+ va_list ap;
+ htsbuf_queue_t hq;