mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-14 03:10:47 +00:00
- Update to 4.2.3
- Fix various portlint warnings - Add missing LICENSE_FILE - Update pkg-descr to match recent upstream development The update was postponed a few times because early 4.2 releases had some serious regressions on FreeBSD. I know that there are still a few issues in the current release especially around IPTV and SAT>IP but they do not seem to be FreeBSD specific. If you run into regressions please let me know then we can still decide if we need to keep tvheadend 4.0 around. Thanks to all people for their patience and the people which helped during the testing phase especially Rainer and Heiko! Thanks to: Rainer Hurling <rhurlin@gwdg.de>, Heiko Kirschke <heiko.kirschke@posteo.de>
This commit is contained in:
parent
fa335f26e3
commit
cd52421acd
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449622
@ -2,17 +2,18 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= tvheadend
|
||||
PORTVERSION= 4.0.8
|
||||
PORTVERSION= 4.2.3
|
||||
DISTVERSIONPREFIX= v
|
||||
PORTREVISION= 5
|
||||
CATEGORIES= multimedia
|
||||
|
||||
MAINTAINER= decke@FreeBSD.org
|
||||
COMMENT= TV streaming server supporting DVB, IPTV and V4L
|
||||
COMMENT= TV streaming server supporting DVB, IPTV, SAT>IP and more
|
||||
|
||||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.md
|
||||
|
||||
BUILD_DEPENDS= bash:shells/bash \
|
||||
cmake:devel/cmake \
|
||||
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
|
||||
LIB_DEPENDS= libcurl.so:ftp/curl \
|
||||
liburiparser.so:net/uriparser
|
||||
@ -22,9 +23,9 @@ BROKEN_mips= fails to configure: No C compiler found
|
||||
BROKEN_mips64= fails to configure: No C compiler found
|
||||
BROKEN_powerpc64= fails to configure: No C compiler found
|
||||
|
||||
USES= execinfo gettext gmake pkgconfig python shebangfix ssl
|
||||
USE_GITHUB= yes
|
||||
|
||||
USES= execinfo gmake pkgconfig python shebangfix
|
||||
GNU_CONFIGURE= yes
|
||||
MAKE_JOBS_UNSAFE= yes
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
@ -45,7 +46,8 @@ SUB_LIST+= TVHUSER="${TVHUSER}" \
|
||||
TVHGROUP="${TVHGROUP}"
|
||||
|
||||
CONFIGURE_ENV+= PLATFORM=freebsd
|
||||
CONFIGURE_ARGS+=--disable-dvbscan --disable-zlib
|
||||
CONFIGURE_ARGS+=--disable-dvbscan --disable-zlib --disable-hdhomerun_static \
|
||||
--disable-bintray_cache --disable-ffmpeg_static --disable-pie
|
||||
CFLAGS+= -I${LOCALBASE}/include -Wno-conversion -Wno-int-to-pointer-cast
|
||||
LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo -lssl -lcrypto -lz
|
||||
|
||||
@ -73,27 +75,15 @@ TRANSCODING_CONFIGURE_ENABLE= libav
|
||||
|
||||
XMLTV_RUN_DEPENDS= p5-xmltv>=0:textproc/p5-xmltv
|
||||
|
||||
# CLANG also needs -Wno-microsoft which GCC 4.2 does not know
|
||||
CFLAGS+= -Wno-microsoft \
|
||||
-Wno-tautological-constant-out-of-range-compare
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} 's|0.0.0~unknown|${PORTVERSION}-${GH_TAGNAME}|' \
|
||||
${WRKSRC}/support/version
|
||||
@${REINPLACE_CMD} 's|-g||' \
|
||||
${WRKSRC}/Makefile
|
||||
@${REINPLACE_CMD} 's|-ldl||' \
|
||||
${WRKSRC}/Makefile
|
||||
# ignore gcc warnings on FreeBSD 9.X, and clang warnings on FreeBSD 10+
|
||||
@${REINPLACE_CMD} 's|-Werror||' \
|
||||
${WRKSRC}/Makefile
|
||||
# Remove -Wunused-result because gcc 4.2 on FreeBSD 9.x does not know it
|
||||
@${REINPLACE_CMD} 's|-Wunused-result||' \
|
||||
${WRKSRC}/Makefile
|
||||
# to suppress clang CC flags on FreeBSD 10+
|
||||
# @${REINPLACE_CMD} 's|clang|clang-options-disabled|' \
|
||||
# to enable clang CC flags, because clang is identified as 'cc' on FreeBSD 10+
|
||||
@${REINPLACE_CMD} 's|clang|cc|' \
|
||||
${WRKSRC}/Makefile
|
||||
|
||||
.include <bsd.port.mk>
|
||||
post-install:
|
||||
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/bin/tvheadend
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1464777173
|
||||
SHA256 (tvheadend-tvheadend-v4.0.8_GH0.tar.gz) = 04f485c25fcca604165622679e9e7be7aee7575d67f326f5ed8b4ceff63d8f4c
|
||||
SIZE (tvheadend-tvheadend-v4.0.8_GH0.tar.gz) = 15826229
|
||||
TIMESTAMP = 1501062908
|
||||
SHA256 (tvheadend-tvheadend-v4.2.3_GH0.tar.gz) = 2d289a1a8a0a960feba1da2da97c977a2b714d87adfdfaf00a53142e39d808e6
|
||||
SIZE (tvheadend-tvheadend-v4.2.3_GH0.tar.gz) = 21518785
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- Makefile.webui.orig 2015-09-25 13:57:59 UTC
|
||||
+++ Makefile.webui
|
||||
@@ -153,22 +153,22 @@ define GO_JS
|
||||
--- Makefile.webui.orig 2017-01-20 19:41:51.000000000 +0100
|
||||
+++ Makefile.webui 2017-02-08 10:35:04.215801000 +0100
|
||||
@@ -189,22 +189,22 @@
|
||||
$(VV)$(CSS_PY) --in="$^" utf-check
|
||||
$(VV)cat $^ > $@.tmp
|
||||
$(VV)$(RUN_JS) < $@.tmp > $@.tmp2
|
||||
@ -26,4 +26,4 @@
|
||||
+ @stat -f "%-35N %7b" $@
|
||||
endef
|
||||
|
||||
all:
|
||||
define merge-po
|
||||
|
@ -1,425 +0,0 @@
|
||||
https://github.com/tvheadend/tvheadend/commit/ea02889c149e3d2b80dcaed3d9ad976145bb92b0
|
||||
https://github.com/tvheadend/tvheadend/commit/c63371c8bf51928a6c965bdf17dd73555b7b9d54
|
||||
|
||||
--- Makefile.orig 2015-12-16 17:33:33 UTC
|
||||
+++ Makefile
|
||||
@@ -60,7 +60,7 @@ CFLAGS += -I${ROOTDIR}/libav_static/bui
|
||||
LDFLAGS_FFDIR = ${ROOTDIR}/libav_static/build/ffmpeg/lib
|
||||
LDFLAGS += ${LDFLAGS_FFDIR}/libavresample.a
|
||||
LDFLAGS += ${LDFLAGS_FFDIR}/libswresample.a
|
||||
-LDFLAGS += ${LDFLAGS_FFDIR}/libswscale.a
|
||||
+LDFLAGS += ${LDFLAGS_FFDIR}/libavfilter.a
|
||||
LDFLAGS += ${LDFLAGS_FFDIR}/libavutil.a
|
||||
LDFLAGS += ${LDFLAGS_FFDIR}/libavformat.a
|
||||
LDFLAGS += ${LDFLAGS_FFDIR}/libavcodec.a
|
||||
--- Makefile.ffmpeg.orig 2015-12-16 17:33:33 UTC
|
||||
+++ Makefile.ffmpeg
|
||||
@@ -60,7 +60,7 @@ FFMPEG_URL = http://ffmpeg.org/rele
|
||||
FFMPEG_SHA1 = 65470c9b967485f72f81758a7bad44cf7a1763db
|
||||
|
||||
EXTLIBS = libx264 libvorbis libvpx
|
||||
-COMPONENTS = avutil avformat avcodec swresample swscale avresample
|
||||
+COMPONENTS = avutil avformat avcodec swresample avfilter avresample
|
||||
PROTOCOLS = file
|
||||
DECODERS = mpeg2video mp2 ac3 eac3 h264 h264_vdpau aac aac_latm vorbis libvorbis
|
||||
ENCODERS = mpeg2video mp2 libx264 libvpx_vp8 libvpx_vp9 aac libaacplus vorbis libvorbis
|
||||
--- configure.orig 2015-12-16 17:33:33 UTC
|
||||
+++ configure
|
||||
@@ -395,7 +395,7 @@ else
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
- if $has_libav && ! check_pkg libswscale ">=2.3.100"; then
|
||||
+ if $has_libav && ! check_pkg libavfilter ">=4.0.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
@@ -421,7 +421,7 @@ else
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
- if $has_libav && ! check_pkg libswscale ">=2.1.2"; then
|
||||
+ if $has_libav && ! check_pkg libavfilter ">=4.0.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
--- src/libav.c.orig 2015-12-16 17:33:33 UTC
|
||||
+++ src/libav.c
|
||||
@@ -186,4 +186,5 @@ libav_init(void)
|
||||
av_log_set_callback(libav_log_callback);
|
||||
av_log_set_level(AV_LOG_VERBOSE);
|
||||
av_register_all();
|
||||
+ avfilter_register_all();
|
||||
}
|
||||
--- src/libav.h.orig 2015-12-16 17:33:33 UTC
|
||||
+++ src/libav.h
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
|
||||
#include <libavformat/avformat.h>
|
||||
+#include <libavfilter/avfilter.h>
|
||||
#include "tvheadend.h"
|
||||
|
||||
/*
|
||||
--- src/plumbing/transcoding.c.orig 2015-12-16 17:33:33 UTC
|
||||
+++ src/plumbing/transcoding.c
|
||||
@@ -19,12 +19,14 @@
|
||||
#include <unistd.h>
|
||||
#include <libavformat/avformat.h>
|
||||
#include <libavcodec/avcodec.h>
|
||||
-#include <libswscale/swscale.h>
|
||||
+#include <libavfilter/avfiltergraph.h>
|
||||
+#include <libavfilter/buffersink.h>
|
||||
+#include <libavfilter/buffersrc.h>
|
||||
+#include <libavutil/opt.h>
|
||||
#include <libavresample/avresample.h>
|
||||
#include <libavutil/opt.h>
|
||||
#include <libavutil/audio_fifo.h>
|
||||
#include <libavutil/dict.h>
|
||||
-#include <libavutil/audioconvert.h>
|
||||
|
||||
#if LIBAVUTIL_VERSION_MICRO >= 100 /* FFMPEG */
|
||||
#define USING_FFMPEG 1
|
||||
@@ -91,9 +93,12 @@ typedef struct video_stream {
|
||||
AVCodec *vid_ocodec;
|
||||
|
||||
AVFrame *vid_dec_frame;
|
||||
- struct SwsContext *vid_scaler;
|
||||
AVFrame *vid_enc_frame;
|
||||
|
||||
+ AVFilterGraph *flt_graph;
|
||||
+ AVFilterContext *flt_bufsrcctx;
|
||||
+ AVFilterContext *flt_bufsinkctx;
|
||||
+
|
||||
int16_t vid_width;
|
||||
int16_t vid_height;
|
||||
|
||||
@@ -952,6 +957,114 @@ send_video_packet(transcoder_t *t, trans
|
||||
|
||||
}
|
||||
|
||||
+/* create a simple deinterlacer-scaler video filter chain */
|
||||
+static int
|
||||
+create_video_filter(video_stream_t *vs, transcoder_t *t,
|
||||
+ AVCodecContext *ictx, AVCodecContext *octx)
|
||||
+{
|
||||
+ AVFilterInOut *flt_inputs, *flt_outputs;
|
||||
+ AVFilter *flt_bufsrc, *flt_bufsink;
|
||||
+ char opt[128];
|
||||
+ int err;
|
||||
+
|
||||
+ err = 1;
|
||||
+ flt_inputs = flt_outputs = NULL;
|
||||
+ flt_bufsrc = flt_bufsink = NULL;
|
||||
+
|
||||
+ if (vs->flt_graph)
|
||||
+ avfilter_graph_free(&vs->flt_graph);
|
||||
+
|
||||
+ vs->flt_graph = avfilter_graph_alloc();
|
||||
+ if (!vs->flt_graph)
|
||||
+ return err;
|
||||
+
|
||||
+ flt_inputs = avfilter_inout_alloc();
|
||||
+ if (!flt_inputs)
|
||||
+ goto out_err;
|
||||
+
|
||||
+ flt_outputs = avfilter_inout_alloc();
|
||||
+ if (!flt_outputs)
|
||||
+ goto out_err;
|
||||
+
|
||||
+ flt_bufsrc = avfilter_get_by_name("buffer");
|
||||
+ flt_bufsink = avfilter_get_by_name("buffersink");
|
||||
+ if (!flt_bufsrc || !flt_bufsink) {
|
||||
+ tvherror("transcode", "%04X: libav default buffers unknown", shortid(t));
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+ memset(opt, 0, sizeof(opt));
|
||||
+ snprintf(opt, sizeof(opt), "video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
|
||||
+ ictx->width,
|
||||
+ ictx->height,
|
||||
+ ictx->pix_fmt,
|
||||
+ ictx->time_base.num,
|
||||
+ ictx->time_base.den,
|
||||
+ ictx->sample_aspect_ratio.num,
|
||||
+ ictx->sample_aspect_ratio.den);
|
||||
+
|
||||
+ err = avfilter_graph_create_filter(&vs->flt_bufsrcctx, flt_bufsrc, "in",
|
||||
+ opt, NULL, vs->flt_graph);
|
||||
+ if (err < 0) {
|
||||
+ tvherror("transcode", "%04X: fltchain IN init error", shortid(t));
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+ err = avfilter_graph_create_filter(&vs->flt_bufsinkctx, flt_bufsink,
|
||||
+ "out", NULL, NULL, vs->flt_graph);
|
||||
+ if (err < 0) {
|
||||
+ tvherror("transcode", "%04X: fltchain OUT init error", shortid(t));
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+ flt_outputs->name = av_strdup("in");
|
||||
+ flt_outputs->filter_ctx = vs->flt_bufsrcctx;
|
||||
+ flt_outputs->pad_idx = 0;
|
||||
+ flt_outputs->next = NULL;
|
||||
+ flt_inputs->name = av_strdup("out");
|
||||
+ flt_inputs->filter_ctx = vs->flt_bufsinkctx;
|
||||
+ flt_inputs->pad_idx = 0;
|
||||
+ flt_inputs->next = NULL;
|
||||
+
|
||||
+ /* add filters: yadif to deinterlace and a scaler */
|
||||
+ memset(opt, 0, sizeof(opt));
|
||||
+ snprintf(opt, sizeof(opt), "yadif,scale=%dx%d",
|
||||
+ octx->width,
|
||||
+ octx->height);
|
||||
+ err = avfilter_graph_parse_ptr(vs->flt_graph,
|
||||
+ opt,
|
||||
+ &flt_inputs,
|
||||
+ &flt_outputs,
|
||||
+ NULL);
|
||||
+ if (err < 0) {
|
||||
+ tvherror("transcode", "%04X: failed to init filter chain", shortid(t));
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+ err = avfilter_graph_config(vs->flt_graph, NULL);
|
||||
+ if (err < 0) {
|
||||
+ tvherror("transcode", "%04X: failed to config filter chain", shortid(t));
|
||||
+ goto out_err;
|
||||
+ }
|
||||
+
|
||||
+ avfilter_inout_free(&flt_inputs);
|
||||
+ avfilter_inout_free(&flt_outputs);
|
||||
+
|
||||
+ return 0; /* all OK */
|
||||
+
|
||||
+out_err:
|
||||
+ if (flt_inputs)
|
||||
+ avfilter_inout_free(&flt_inputs);
|
||||
+ if (flt_outputs)
|
||||
+ avfilter_inout_free(&flt_outputs);
|
||||
+ if (vs->flt_graph) {
|
||||
+ avfilter_graph_free(&vs->flt_graph);
|
||||
+ vs->flt_graph = NULL;
|
||||
+ }
|
||||
+
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -962,9 +1075,7 @@ transcoder_stream_video(transcoder_t *t,
|
||||
AVCodecContext *ictx, *octx;
|
||||
AVDictionary *opts;
|
||||
AVPacket packet, packet2;
|
||||
- AVPicture deint_pic;
|
||||
- uint8_t *buf, *deint;
|
||||
- int length, len, ret, got_picture, got_output, got_ref;
|
||||
+ int length, ret, got_picture, got_output, got_ref;
|
||||
video_stream_t *vs = (video_stream_t*)ts;
|
||||
streaming_message_t *sm;
|
||||
th_pkt_t *pkt2;
|
||||
@@ -980,7 +1091,6 @@ transcoder_stream_video(transcoder_t *t,
|
||||
icodec = vs->vid_icodec;
|
||||
ocodec = vs->vid_ocodec;
|
||||
|
||||
- buf = deint = NULL;
|
||||
opts = NULL;
|
||||
|
||||
got_ref = 0;
|
||||
@@ -1061,7 +1171,7 @@ transcoder_stream_video(transcoder_t *t,
|
||||
switch (ts->ts_type) {
|
||||
case SCT_MPEG2VIDEO:
|
||||
octx->codec_id = AV_CODEC_ID_MPEG2VIDEO;
|
||||
- octx->pix_fmt = PIX_FMT_YUV420P;
|
||||
+ octx->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
octx->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
|
||||
// Default settings for quantizer. Best quality unless changed by the streaming profile.
|
||||
@@ -1089,7 +1199,7 @@ transcoder_stream_video(transcoder_t *t,
|
||||
|
||||
case SCT_VP8:
|
||||
octx->codec_id = AV_CODEC_ID_VP8;
|
||||
- octx->pix_fmt = PIX_FMT_YUV420P;
|
||||
+ octx->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
|
||||
av_dict_set(&opts, "quality", "realtime", 0);
|
||||
|
||||
@@ -1120,7 +1230,7 @@ transcoder_stream_video(transcoder_t *t,
|
||||
|
||||
case SCT_H264:
|
||||
octx->codec_id = AV_CODEC_ID_H264;
|
||||
- octx->pix_fmt = PIX_FMT_YUV420P;
|
||||
+ octx->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
octx->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
|
||||
// Qscale difference between I-frames and P-frames.
|
||||
@@ -1177,79 +1287,53 @@ transcoder_stream_video(transcoder_t *t,
|
||||
transcoder_stream_invalidate(ts);
|
||||
goto cleanup;
|
||||
}
|
||||
- }
|
||||
-
|
||||
- len = avpicture_get_size(ictx->pix_fmt, ictx->width, ictx->height);
|
||||
- deint = av_malloc(len);
|
||||
|
||||
- avpicture_fill(&deint_pic,
|
||||
- deint,
|
||||
- ictx->pix_fmt,
|
||||
- ictx->width,
|
||||
- ictx->height);
|
||||
-
|
||||
- if (avpicture_deinterlace(&deint_pic,
|
||||
- (AVPicture *)vs->vid_dec_frame,
|
||||
- ictx->pix_fmt,
|
||||
- ictx->width,
|
||||
- ictx->height) < 0) {
|
||||
- tvherror("transcode", "%04X: Cannot deinterlace frame", shortid(t));
|
||||
- transcoder_stream_invalidate(ts);
|
||||
- goto cleanup;
|
||||
+ if (create_video_filter(vs, t, ictx, octx)) {
|
||||
+ tvherror("transcode", "%04X: Video filter creation failed",
|
||||
+ shortid(t));
|
||||
+ transcoder_stream_invalidate(ts);
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
}
|
||||
|
||||
- len = avpicture_get_size(octx->pix_fmt, octx->width, octx->height);
|
||||
- buf = av_malloc(len + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
- memset(buf, 0, len);
|
||||
-
|
||||
- avpicture_fill((AVPicture *)vs->vid_enc_frame,
|
||||
- buf,
|
||||
- octx->pix_fmt,
|
||||
- octx->width,
|
||||
- octx->height);
|
||||
-
|
||||
- vs->vid_scaler = sws_getCachedContext(vs->vid_scaler,
|
||||
- ictx->width,
|
||||
- ictx->height,
|
||||
- ictx->pix_fmt,
|
||||
- octx->width,
|
||||
- octx->height,
|
||||
- octx->pix_fmt,
|
||||
- 1,
|
||||
- NULL,
|
||||
- NULL,
|
||||
- NULL);
|
||||
-
|
||||
- if (sws_scale(vs->vid_scaler,
|
||||
- (const uint8_t * const*)deint_pic.data,
|
||||
- deint_pic.linesize,
|
||||
- 0,
|
||||
- ictx->height,
|
||||
- vs->vid_enc_frame->data,
|
||||
- vs->vid_enc_frame->linesize) < 0) {
|
||||
- tvherror("transcode", "%04X: Cannot scale frame", shortid(t));
|
||||
+ /* push decoded frame into filter chain */
|
||||
+ if (av_buffersrc_add_frame(vs->flt_bufsrcctx, vs->vid_dec_frame) < 0) {
|
||||
+ tvherror("transcode", "%04X: filter input error", shortid(t));
|
||||
transcoder_stream_invalidate(ts);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
- vs->vid_enc_frame->format = octx->pix_fmt;
|
||||
- vs->vid_enc_frame->width = octx->width;
|
||||
- vs->vid_enc_frame->height = octx->height;
|
||||
+ /* and pull out a filtered frame */
|
||||
+ while (1) {
|
||||
+ ret = av_buffersink_get_frame(vs->flt_bufsinkctx, vs->vid_enc_frame);
|
||||
+ if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
|
||||
+ break;
|
||||
+ if (ret < 0) {
|
||||
+ tvherror("transcode", "%04X: filter output error", shortid(t));
|
||||
+ transcoder_stream_invalidate(ts);
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
|
||||
- vs->vid_enc_frame->pkt_pts = vs->vid_dec_frame->pkt_pts;
|
||||
- vs->vid_enc_frame->pkt_dts = vs->vid_dec_frame->pkt_dts;
|
||||
+ vs->vid_enc_frame->format = octx->pix_fmt;
|
||||
+ vs->vid_enc_frame->width = octx->width;
|
||||
+ vs->vid_enc_frame->height = octx->height;
|
||||
|
||||
- if (vs->vid_dec_frame->reordered_opaque != AV_NOPTS_VALUE)
|
||||
- vs->vid_enc_frame->pts = vs->vid_dec_frame->reordered_opaque;
|
||||
+ vs->vid_enc_frame->pkt_pts = vs->vid_dec_frame->pkt_pts;
|
||||
+ vs->vid_enc_frame->pkt_dts = vs->vid_dec_frame->pkt_dts;
|
||||
|
||||
- else if (ictx->coded_frame && ictx->coded_frame->pts != AV_NOPTS_VALUE)
|
||||
- vs->vid_enc_frame->pts = vs->vid_dec_frame->pts;
|
||||
+ if (vs->vid_dec_frame->reordered_opaque != AV_NOPTS_VALUE)
|
||||
+ vs->vid_enc_frame->pts = vs->vid_dec_frame->reordered_opaque;
|
||||
|
||||
- ret = avcodec_encode_video2(octx, &packet2, vs->vid_enc_frame, &got_output);
|
||||
- if (ret < 0) {
|
||||
- tvherror("transcode", "%04X: Error encoding frame", shortid(t));
|
||||
- transcoder_stream_invalidate(ts);
|
||||
- goto cleanup;
|
||||
+ else if (ictx->coded_frame && ictx->coded_frame->pts != AV_NOPTS_VALUE)
|
||||
+ vs->vid_enc_frame->pts = vs->vid_dec_frame->pts;
|
||||
+
|
||||
+ ret = avcodec_encode_video2(octx, &packet2, vs->vid_enc_frame, &got_output);
|
||||
+ if (ret < 0) {
|
||||
+ tvherror("transcode", "%04X: Error encoding frame", shortid(t));
|
||||
+ transcoder_stream_invalidate(ts);
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ av_frame_unref(vs->vid_enc_frame);
|
||||
}
|
||||
|
||||
if (got_output)
|
||||
@@ -1263,12 +1347,6 @@ transcoder_stream_video(transcoder_t *t,
|
||||
|
||||
av_free_packet(&packet);
|
||||
|
||||
- if(buf)
|
||||
- av_free(buf);
|
||||
-
|
||||
- if(deint)
|
||||
- av_free(deint);
|
||||
-
|
||||
if(opts)
|
||||
av_dict_free(&opts);
|
||||
|
||||
@@ -1548,15 +1626,17 @@ transcoder_destroy_video(transcoder_t *t
|
||||
if(vs->vid_dec_frame)
|
||||
av_free(vs->vid_dec_frame);
|
||||
|
||||
- if(vs->vid_scaler)
|
||||
- sws_freeContext(vs->vid_scaler);
|
||||
-
|
||||
if(vs->vid_enc_frame)
|
||||
av_free(vs->vid_enc_frame);
|
||||
|
||||
if (vs->vid_first_pkt)
|
||||
pkt_ref_dec(vs->vid_first_pkt);
|
||||
|
||||
+ if (vs->flt_graph) {
|
||||
+ avfilter_graph_free(&vs->flt_graph);
|
||||
+ vs->flt_graph = NULL;
|
||||
+ }
|
||||
+
|
||||
free(ts);
|
||||
}
|
||||
|
||||
@@ -1603,11 +1683,13 @@ transcoder_init_video(transcoder_t *t, s
|
||||
vs->vid_ictx->thread_count =
|
||||
vs->vid_octx->thread_count = transcoder_thread_count(t, sct);
|
||||
|
||||
- vs->vid_dec_frame = avcodec_alloc_frame();
|
||||
- vs->vid_enc_frame = avcodec_alloc_frame();
|
||||
+ vs->vid_dec_frame = av_frame_alloc();
|
||||
+ vs->vid_enc_frame = av_frame_alloc();
|
||||
|
||||
- avcodec_get_frame_defaults(vs->vid_dec_frame);
|
||||
- avcodec_get_frame_defaults(vs->vid_enc_frame);
|
||||
+ av_frame_unref(vs->vid_dec_frame);
|
||||
+ av_frame_unref(vs->vid_enc_frame);
|
||||
+
|
||||
+ vs->flt_graph = NULL; /* allocated in packet processor */
|
||||
|
||||
LIST_INSERT_HEAD(&t->t_stream_list, (transcoder_stream_t*)vs, ts_link);
|
||||
|
@ -1,10 +0,0 @@
|
||||
--- src/http.c.orig 2015-09-25 13:57:59 UTC
|
||||
+++ src/http.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <arpa/inet.h>
|
||||
+#include <sys/socket.h>
|
||||
|
||||
#include "tvheadend.h"
|
||||
#include "tcp.h"
|
62
multimedia/tvheadend/files/patch-src_main.c
Normal file
62
multimedia/tvheadend/files/patch-src_main.c
Normal file
@ -0,0 +1,62 @@
|
||||
Avoid build error with recent clang on FreeBSD 12-CURRENT.
|
||||
|
||||
CC src/main.o
|
||||
In file included from src/main.c:51:
|
||||
In file included from
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/dvr/dvr.h:27:
|
||||
/usr/local/include/profile.h:24:28: error: typedef redefinition with
|
||||
different types ('struct _profile_t *' vs
|
||||
'struct profile')
|
||||
typedef struct _profile_t *profile_t;
|
||||
^
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/profile.h:148:3:
|
||||
note: previous definition is here
|
||||
} profile_t;
|
||||
^
|
||||
In file included from src/main.c:51:
|
||||
In file included from
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/dvr/dvr.h:27:
|
||||
/usr/local/include/profile.h:45:20: error: conflicting types for
|
||||
'profile_init'
|
||||
long KRB5_CALLCONV profile_init
|
||||
^
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/profile.h:197:6:
|
||||
note: previous declaration is here
|
||||
void profile_init(void);
|
||||
^
|
||||
In file included from src/main.c:51:
|
||||
In file included from
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/dvr/dvr.h:27:
|
||||
/usr/local/include/profile.h:71:20: error: conflicting types for
|
||||
'profile_release'
|
||||
void KRB5_CALLCONV profile_release
|
||||
^
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/src/profile.h:159:20:
|
||||
note: previous definition is here
|
||||
static inline void profile_release( profile_t *pro )
|
||||
^
|
||||
3 errors generated.
|
||||
gmake[2]: *** [Makefile:631:
|
||||
/usr/ports/multimedia/tvheadend/work/tvheadend-4.2.2/build.freebsd/src/main.o]
|
||||
Error 1
|
||||
gmake[2]: Leaving directory
|
||||
|
||||
Reported by: Rainer Hurling <rhurlin@gwdg.de>
|
||||
--- src/main.c.orig 2017-07-01 07:22:23.000000000 +0000
|
||||
+++ src/main.c 2017-08-23 15:27:26.427162000 +0000
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "subscriptions.h"
|
||||
#include "service_mapper.h"
|
||||
#include "descrambler.h"
|
||||
+#include "profile.h"
|
||||
#include "dvr/dvr.h"
|
||||
#include "htsp_server.h"
|
||||
#include "satip/server.h"
|
||||
@@ -68,7 +69,6 @@
|
||||
#include "intlconv.h"
|
||||
#include "dbus.h"
|
||||
#include "libav.h"
|
||||
-#include "profile.h"
|
||||
#include "bouquet.h"
|
||||
#include "tvhtime.h"
|
||||
#include "packet.h"
|
@ -1,11 +0,0 @@
|
||||
--- src/satip/server.c.orig 2015-09-25 13:57:59 UTC
|
||||
+++ src/satip/server.c
|
||||
@@ -17,6 +17,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
+#include <sys/socket.h>
|
||||
+
|
||||
#include "tvheadend.h"
|
||||
#include "upnp.h"
|
||||
#include "settings.h"
|
@ -1,10 +0,0 @@
|
||||
--- src/spawn.c.orig 2015-09-25 13:57:59 UTC
|
||||
+++ src/spawn.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <syslog.h>
|
||||
#include <fcntl.h>
|
||||
#include <dirent.h>
|
||||
+#include <signal.h>
|
||||
|
||||
#include "tvheadend.h"
|
||||
#include "tvhpoll.h"
|
64
multimedia/tvheadend/files/patch-src_tcp.c
Normal file
64
multimedia/tvheadend/files/patch-src_tcp.c
Normal file
@ -0,0 +1,64 @@
|
||||
- DSCP cannot be modified on FreeBSD yet
|
||||
src/tcp.c:61:14: error: use of undeclared identifier 'IPTOS_DSCP_MASK'
|
||||
v = dscp & IPTOS_DSCP_MASK;
|
||||
|
||||
- Change include order for FreeBSD
|
||||
In file included from src/tcp.c:33:
|
||||
/usr/include/netinet/ip.h:69:17: error: field has incomplete type 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:9: note: forward declaration of 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:24: error: field has incomplete type 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:9: note: forward declaration of 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:181:19: error: field has incomplete type 'struct in_addr'
|
||||
struct in_addr ipt_addr;
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:9: note: forward declaration of 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:216:17: error: field has incomplete type 'struct in_addr'
|
||||
struct in_addr ippseudo_src; /* source internet address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:9: note: forward declaration of 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:217:17: error: field has incomplete type 'struct in_addr'
|
||||
struct in_addr ippseudo_dst; /* destination internet address */
|
||||
^
|
||||
/usr/include/netinet/ip.h:69:9: note: forward declaration of 'struct in_addr'
|
||||
struct in_addr ip_src,ip_dst; /* source and dest address */
|
||||
^
|
||||
--- src/tcp.c.orig 2017-01-20 19:41:51.000000000 +0100
|
||||
+++ src/tcp.c 2017-02-08 11:15:26.836727000 +0100
|
||||
@@ -30,8 +30,8 @@
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
-#include <netinet/ip.h>
|
||||
#include <netinet/in.h>
|
||||
+#include <netinet/ip.h>
|
||||
#include <netinet/tcp.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
int
|
||||
socket_set_dscp(int sockfd, uint32_t dscp, char *errbuf, size_t errbufsize)
|
||||
{
|
||||
+#ifdef IPTOS_DSCP_MASK
|
||||
int r, v;
|
||||
|
||||
v = dscp & IPTOS_DSCP_MASK;
|
||||
@@ -65,6 +66,7 @@
|
||||
snprintf(errbuf, errbufsize, "IP_TOS failed: %s", strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
30
multimedia/tvheadend/files/patch-src_wrappers.c
Normal file
30
multimedia/tvheadend/files/patch-src_wrappers.c
Normal file
@ -0,0 +1,30 @@
|
||||
--- src/wrappers.c.orig 2017-05-16 11:15:24.000000000 +0000
|
||||
+++ src/wrappers.c 2017-06-21 18:00:42.352871000 +0000
|
||||
@@ -290,6 +290,19 @@
|
||||
} while (r > 0);
|
||||
}
|
||||
|
||||
+#ifdef PLATFORM_FREEBSD
|
||||
+int64_t
|
||||
+tvh_usleep(int64_t us)
|
||||
+{
|
||||
+ return usleep(us);
|
||||
+}
|
||||
+
|
||||
+int64_t
|
||||
+tvh_usleep_abs(int64_t us)
|
||||
+{
|
||||
+ return usleep(us - getfastmonoclock());
|
||||
+}
|
||||
+#else
|
||||
int64_t
|
||||
tvh_usleep(int64_t us)
|
||||
{
|
||||
@@ -323,6 +336,7 @@
|
||||
return val;
|
||||
return r ? -r : 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* qsort
|
@ -1,5 +1,6 @@
|
||||
A TV streaming server for Linux and FreeBSD supporting
|
||||
DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video
|
||||
(V4L) as input sources.
|
||||
A TV streaming server and recorder for Linux, FreeBSD and
|
||||
Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T,
|
||||
IPTV, SAT>IP, HDHomeRune and other formats through the unix
|
||||
pipe as input sources.
|
||||
|
||||
WWW: https://tvheadend.org/
|
||||
|
@ -2,9 +2,10 @@
|
||||
|
||||
For the first start in your /etc/rc.conf:
|
||||
tvheadend_enable="YES"
|
||||
tvheadend_flags="-C"
|
||||
|
||||
The second line can be removed after the first start.
|
||||
If you plan to use webcamd you need to add tvheadend to the webcamd group.
|
||||
|
||||
pw usermod tvheadend -G webcamd
|
||||
|
||||
Patches, feedback and help are always welcome!
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
bin/tvheadend
|
||||
man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/data/conf/descrambler
|
||||
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyeng
|
||||
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyit
|
||||
%%DATADIR%%/data/conf/epggrab/opentv/dict/skynz
|
||||
@ -13,81 +14,6 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/data/conf/epggrab/opentv/prov/skyuk
|
||||
%%DATADIR%%/data/conf/fastscan
|
||||
%%DATADIR%%/data/conf/satellites
|
||||
%%DATADIR%%/docs/docresources/accessconfig.png
|
||||
%%DATADIR%%/docs/docresources/accessconfigexample.png
|
||||
%%DATADIR%%/docs/docresources/autorec.png
|
||||
%%DATADIR%%/docs/docresources/autorecpopup.png
|
||||
%%DATADIR%%/docs/docresources/channeltab.png
|
||||
%%DATADIR%%/docs/docresources/configcapmt.png
|
||||
%%DATADIR%%/docs/docresources/configcwc.png
|
||||
%%DATADIR%%/docs/docresources/configdvbmux.png
|
||||
%%DATADIR%%/docs/docresources/configdvbmuxsched.png
|
||||
%%DATADIR%%/docs/docresources/configdvbnetwork.png
|
||||
%%DATADIR%%/docs/docresources/configdvbservices.png
|
||||
%%DATADIR%%/docs/docresources/configdvbtab.png
|
||||
%%DATADIR%%/docs/docresources/configdvrtab1.png
|
||||
%%DATADIR%%/docs/docresources/configdvrtab2.png
|
||||
%%DATADIR%%/docs/docresources/configdvrtab3.png
|
||||
%%DATADIR%%/docs/docresources/configgeneraltab1.png
|
||||
%%DATADIR%%/docs/docresources/configgeneraltab2.png
|
||||
%%DATADIR%%/docs/docresources/configtabs.png
|
||||
%%DATADIR%%/docs/docresources/configtimeshifttab.png
|
||||
%%DATADIR%%/docs/docresources/configtvadapters.png
|
||||
%%DATADIR%%/docs/docresources/configtvhlog.png
|
||||
%%DATADIR%%/docs/docresources/dvrautorecentries.png
|
||||
%%DATADIR%%/docs/docresources/dvrlog.png
|
||||
%%DATADIR%%/docs/docresources/dvrlog2.png
|
||||
%%DATADIR%%/docs/docresources/dvrlog3.png
|
||||
%%DATADIR%%/docs/docresources/dvrlog4.png
|
||||
%%DATADIR%%/docs/docresources/dvrlogentry.png
|
||||
%%DATADIR%%/docs/docresources/epg.png
|
||||
%%DATADIR%%/docs/docresources/epg2.png
|
||||
%%DATADIR%%/docs/docresources/epg3.png
|
||||
%%DATADIR%%/docs/docresources/failedrecordings1.png
|
||||
%%DATADIR%%/docs/docresources/failedrecordings2.png
|
||||
%%DATADIR%%/docs/docresources/finishedrecordings1.png
|
||||
%%DATADIR%%/docs/docresources/finishedrecordings2.png
|
||||
%%DATADIR%%/docs/docresources/muxbylocation.png
|
||||
%%DATADIR%%/docs/docresources/tagstab.png
|
||||
%%DATADIR%%/docs/docresources/timeschedules.png
|
||||
%%DATADIR%%/docs/docresources/tvheadendlogo.png
|
||||
%%DATADIR%%/docs/docresources/upcomingrecordings1.png
|
||||
%%DATADIR%%/docs/docresources/upcomingrecordings2.png
|
||||
%%DATADIR%%/docs/docresources/xmltvtab.png
|
||||
%%DATADIR%%/docs/html/autorec.html
|
||||
%%DATADIR%%/docs/html/config.html
|
||||
%%DATADIR%%/docs/html/config_access.html
|
||||
%%DATADIR%%/docs/html/config_bouquet.html
|
||||
%%DATADIR%%/docs/html/config_caclient.html
|
||||
%%DATADIR%%/docs/html/config_channels.html
|
||||
%%DATADIR%%/docs/html/config_dvb.html
|
||||
%%DATADIR%%/docs/html/config_dvr.html
|
||||
%%DATADIR%%/docs/html/config_epggrab.html
|
||||
%%DATADIR%%/docs/html/config_esfilter.html
|
||||
%%DATADIR%%/docs/html/config_iptv.html
|
||||
%%DATADIR%%/docs/html/config_misc.html
|
||||
%%DATADIR%%/docs/html/config_muxes.html
|
||||
%%DATADIR%%/docs/html/config_muxsched.html
|
||||
%%DATADIR%%/docs/html/config_networks.html
|
||||
%%DATADIR%%/docs/html/config_services.html
|
||||
%%DATADIR%%/docs/html/config_streamprofile.html
|
||||
%%DATADIR%%/docs/html/config_tags.html
|
||||
%%DATADIR%%/docs/html/config_timeshift.html
|
||||
%%DATADIR%%/docs/html/config_tvadapters.html
|
||||
%%DATADIR%%/docs/html/config_tvhlog.html
|
||||
%%DATADIR%%/docs/html/dvr.html
|
||||
%%DATADIR%%/docs/html/dvr_autorec.html
|
||||
%%DATADIR%%/docs/html/dvr_failed.html
|
||||
%%DATADIR%%/docs/html/dvr_finished.html
|
||||
%%DATADIR%%/docs/html/dvr_timerec.html
|
||||
%%DATADIR%%/docs/html/dvr_upcoming.html
|
||||
%%DATADIR%%/docs/html/dvrlog.html
|
||||
%%DATADIR%%/docs/html/epg.html
|
||||
%%DATADIR%%/docs/html/faq.html
|
||||
%%DATADIR%%/docs/html/features.html
|
||||
%%DATADIR%%/docs/html/install.html
|
||||
%%DATADIR%%/docs/html/overview.html
|
||||
%%DATADIR%%/docs/html/sysreq.html
|
||||
%%DATADIR%%/src/webui/static/app/acleditor.js
|
||||
%%DATADIR%%/src/webui/static/app/caclient.js
|
||||
%%DATADIR%%/src/webui/static/app/chconf.js
|
||||
@ -98,21 +24,30 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/app/epg.js
|
||||
%%DATADIR%%/src/webui/static/app/epggrab.js
|
||||
%%DATADIR%%/src/webui/static/app/esfilter.js
|
||||
%%DATADIR%%/src/webui/static/app/ext-access.css
|
||||
%%DATADIR%%/src/webui/static/app/ext-blue.css
|
||||
%%DATADIR%%/src/webui/static/app/ext-gray.css
|
||||
%%DATADIR%%/src/webui/static/app/ext.css
|
||||
%%DATADIR%%/src/webui/static/app/extensions.js
|
||||
%%DATADIR%%/src/webui/static/app/i18n-post.js
|
||||
%%DATADIR%%/src/webui/static/app/i18n.js
|
||||
%%DATADIR%%/src/webui/static/app/idnode.js
|
||||
%%DATADIR%%/src/webui/static/app/marked.js
|
||||
%%DATADIR%%/src/webui/static/app/mpegts.js
|
||||
%%DATADIR%%/src/webui/static/app/namespace.js
|
||||
%%DATADIR%%/src/webui/static/app/servicemapper.js
|
||||
%%DATADIR%%/src/webui/static/app/status.js
|
||||
%%DATADIR%%/src/webui/static/app/tableeditor.js
|
||||
%%DATADIR%%/src/webui/static/app/timeshift.js
|
||||
%%DATADIR%%/src/webui/static/app/tvadapters.js
|
||||
%%DATADIR%%/src/webui/static/app/tvheadend.js
|
||||
%%DATADIR%%/src/webui/static/app/tvhlog.js
|
||||
%%DATADIR%%/src/webui/static/app/wizard.js
|
||||
%%DATADIR%%/src/webui/static/checkcolumn/CheckColumn.js
|
||||
%%DATADIR%%/src/webui/static/extjs/adapter/ext/ext-base-debug.js
|
||||
%%DATADIR%%/src/webui/static/extjs/adapter/ext/ext-base.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/Spinner.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/SpinnerField.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/css/Spinner.css
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/GridFilters.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/css/GridFilters.css
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/css/RangeMenu.css
|
||||
@ -130,6 +65,8 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/images/sort_filtered_desc.gif
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/menu/ListMenu.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/gridfilters/menu/RangeMenu.js
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/images/spinner-split.gif
|
||||
%%DATADIR%%/src/webui/static/extjs/examples/ux/images/spinner.gif
|
||||
%%DATADIR%%/src/webui/static/extjs/ext-all-debug.js
|
||||
%%DATADIR%%/src/webui/static/extjs/ext-all.js
|
||||
%%DATADIR%%/src/webui/static/extjs/resources/css/debug.css
|
||||
@ -1018,19 +955,28 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/extjs/resources/images/yourtheme/window/right-corners.psd
|
||||
%%DATADIR%%/src/webui/static/extjs/resources/images/yourtheme/window/top-bottom.png
|
||||
%%DATADIR%%/src/webui/static/extjs/resources/images/yourtheme/window/top-bottom.psd
|
||||
%%DATADIR%%/src/webui/static/htslogo.png
|
||||
%%DATADIR%%/src/webui/static/icons/abort.png
|
||||
%%DATADIR%%/src/webui/static/icons/accept.png
|
||||
%%DATADIR%%/src/webui/static/icons/acl.png
|
||||
%%DATADIR%%/src/webui/static/icons/add.png
|
||||
%%DATADIR%%/src/webui/static/icons/application_form.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_branch.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_down.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_join.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_left.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_out.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_right.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_switch.png
|
||||
%%DATADIR%%/src/webui/static/icons/arrow_up.png
|
||||
%%DATADIR%%/src/webui/static/icons/auto_rec.png
|
||||
%%DATADIR%%/src/webui/static/icons/award_star_bronze_3.png
|
||||
%%DATADIR%%/src/webui/static/icons/award_star_gold_3.png
|
||||
%%DATADIR%%/src/webui/static/icons/award_star_silver_3.png
|
||||
%%DATADIR%%/src/webui/static/icons/baseconf.png
|
||||
%%DATADIR%%/src/webui/static/icons/bell.png
|
||||
%%DATADIR%%/src/webui/static/icons/bouquets.png
|
||||
%%DATADIR%%/src/webui/static/icons/brick.png
|
||||
%%DATADIR%%/src/webui/static/icons/broadcast_details.png
|
||||
%%DATADIR%%/src/webui/static/icons/bullet_add.png
|
||||
%%DATADIR%%/src/webui/static/icons/cancel.png
|
||||
%%DATADIR%%/src/webui/static/icons/cancel_button.png
|
||||
%%DATADIR%%/src/webui/static/icons/channel_tags.png
|
||||
@ -1051,6 +997,7 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/epg.png
|
||||
%%DATADIR%%/src/webui/static/icons/exclamation.png
|
||||
%%DATADIR%%/src/webui/static/icons/eye.png
|
||||
%%DATADIR%%/src/webui/static/icons/fetch_images.png
|
||||
%%DATADIR%%/src/webui/static/icons/film.png
|
||||
%%DATADIR%%/src/webui/static/icons/film_edit.png
|
||||
%%DATADIR%%/src/webui/static/icons/film_key.png
|
||||
@ -1059,7 +1006,10 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/general.png
|
||||
%%DATADIR%%/src/webui/static/icons/group.png
|
||||
%%DATADIR%%/src/webui/static/icons/help.png
|
||||
%%DATADIR%%/src/webui/static/icons/imdb.png
|
||||
%%DATADIR%%/src/webui/static/icons/imgcacheconf.png
|
||||
%%DATADIR%%/src/webui/static/icons/information.png
|
||||
%%DATADIR%%/src/webui/static/icons/ip_block.png
|
||||
%%DATADIR%%/src/webui/static/icons/key.png
|
||||
%%DATADIR%%/src/webui/static/icons/layers.png
|
||||
%%DATADIR%%/src/webui/static/icons/linked.gif
|
||||
@ -1068,6 +1018,7 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/networks.png
|
||||
%%DATADIR%%/src/webui/static/icons/newspaper.png
|
||||
%%DATADIR%%/src/webui/static/icons/other_filters.png
|
||||
%%DATADIR%%/src/webui/static/icons/pass.png
|
||||
%%DATADIR%%/src/webui/static/icons/pci.png
|
||||
%%DATADIR%%/src/webui/static/icons/plugin.png
|
||||
%%DATADIR%%/src/webui/static/icons/progress-bg-green.gif
|
||||
@ -1076,11 +1027,13 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/rec.png
|
||||
%%DATADIR%%/src/webui/static/icons/recordingtab.png
|
||||
%%DATADIR%%/src/webui/static/icons/reseticon.png
|
||||
%%DATADIR%%/src/webui/static/icons/satipsrvconf.png
|
||||
%%DATADIR%%/src/webui/static/icons/save.png
|
||||
%%DATADIR%%/src/webui/static/icons/scheduled.png
|
||||
%%DATADIR%%/src/webui/static/icons/service_mapper.png
|
||||
%%DATADIR%%/src/webui/static/icons/services.png
|
||||
%%DATADIR%%/src/webui/static/icons/sound.png
|
||||
%%DATADIR%%/src/webui/static/icons/sound_mute.png
|
||||
%%DATADIR%%/src/webui/static/icons/stop.png
|
||||
%%DATADIR%%/src/webui/static/icons/stop_rec.png
|
||||
%%DATADIR%%/src/webui/static/icons/stream.png
|
||||
@ -1090,6 +1043,7 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/tag_blue.png
|
||||
%%DATADIR%%/src/webui/static/icons/teletext.png
|
||||
%%DATADIR%%/src/webui/static/icons/television.png
|
||||
%%DATADIR%%/src/webui/static/icons/thetvdb.png
|
||||
%%DATADIR%%/src/webui/static/icons/tick.png
|
||||
%%DATADIR%%/src/webui/static/icons/time_schedules.png
|
||||
%%DATADIR%%/src/webui/static/icons/timeshift.png
|
||||
@ -1099,11 +1053,207 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/icons/wand.png
|
||||
%%DATADIR%%/src/webui/static/icons/watch_tv.png
|
||||
%%DATADIR%%/src/webui/static/icons/world.png
|
||||
%%DATADIR%%/src/webui/static/icons/world_add.png
|
||||
%%DATADIR%%/src/webui/static/icons/wrench.png
|
||||
%%DATADIR%%/src/webui/static/img/bg-header.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/access_entry/new.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/access_entry/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/before_begin/schematic.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/bouquet/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/bouquet/detach.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/bouquet/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/caclient/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/caclient_capmt/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/channel/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/channel/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/channeltag/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/config/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/debugging/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrautorec/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrautorec/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrconfig/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrentry/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrentry/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrtimerec/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/dvrtimerec/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epg/autorec.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epg/series_link.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epg/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epgconf/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epggrabber_channel/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/epggrabber_modules/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/filters/example.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/filters/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/abort.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/accept.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/acl.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/application_form.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_branch.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_down.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_join.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_left.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_out.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_right.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_switch.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/arrow_up.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/auto_rec.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/award_star_bronze_3.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/award_star_gold_3.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/award_star_silver_3.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/baseconf.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/bell.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/bouquets.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/brick.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/broadcast_details.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/cancel.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/cancel_button.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/channel_tags.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/channels.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/clean.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/clock.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/connections.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/control_pause.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/control_play.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/control_stop.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/debug.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/delete.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/download.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/drive.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/dvr.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/dvrprofiles.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/edit.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/epg.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/exclamation.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/eye.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/fetch_images.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/film.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/film_edit.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/film_key.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/find.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/full_screen.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/general.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/group.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/help.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/imdb.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/imgcacheconf.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/information.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/ip_block.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/key.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/layers.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/linked.gif
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/mux_schedulers.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/muxes.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/networks.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/newspaper.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/other_filters.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/pass.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/pci.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/plugin.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/progress-bg-green.gif
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/progress-bg-orange.gif
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/progress-bg-red.gif
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/rec.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/recordingtab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/reseticon.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/satipsrvconf.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/save.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/scheduled.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/service_mapper.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/services.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/sound.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/sound_mute.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/stop.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/stop_rec.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/stream.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/subscriptions.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/subtitle.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/tag.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/tag_blue.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/teletext.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/television.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/thetvdb.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/tick.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/time_schedules.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/timeshift.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/tv_cards.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/undo.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/upcoming_rec.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/wand.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/watch_tv.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/world.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/world_add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/icons/wrench.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/imagecache/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/index/logo.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/ipblocking/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/linuxdvb_frontend_dvbc/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/linuxdvb_frontend_dvbs/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/linuxdvb_frontend_dvbt/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_mux/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_mux_sched/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_network/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/add_service.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/map_all.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/map_selected.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/service_filter.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/service_info.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/mpegts_service/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/overview/screenshot.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/passwd/add.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/passwd/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/profile/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/satip_client/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/satip_server/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/service_mapper/dialog.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/status_connections/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/status_service_mapper/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/status_stream/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/status_subscriptions/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/timeshift/tab.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/tv_adapters/params.png
|
||||
%%DATADIR%%/src/webui/static/img/doc/tv_adapters/tree.png
|
||||
%%DATADIR%%/src/webui/static/img/epg.png
|
||||
%%DATADIR%%/src/webui/static/img/error.png
|
||||
%%DATADIR%%/src/webui/static/img/logo.png
|
||||
%%DATADIR%%/src/webui/static/img/logobig.png
|
||||
%%DATADIR%%/src/webui/static/img/logomid.png
|
||||
%%DATADIR%%/src/webui/static/img/spinner_black_bg.gif
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ach.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ady.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ar.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.bg.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.cs.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.da.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.de.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.en_GB.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.en_US.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.es.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.et.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.fa.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.fi.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.fr.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.he.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.hr.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.hu.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.it.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ko.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.lt.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.lv.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.nl.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.no.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.pl.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.pt.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ro.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.ru.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.sk.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.sl.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.sq.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.sv.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.tr.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.uk.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.zh-Hans.js.gz
|
||||
%%DATADIR%%/src/webui/static/intl/tvh.zh.js.gz
|
||||
%%DATADIR%%/src/webui/static/livegrid/livegrid-all.js
|
||||
%%DATADIR%%/src/webui/static/livegrid/resources/css/ext-ux-livegrid.css
|
||||
%%DATADIR%%/src/webui/static/livegrid/resources/images/loading.gif
|
||||
@ -1126,7 +1276,9 @@ man/man1/tvheadend.1.gz
|
||||
%%DATADIR%%/src/webui/static/tv.js
|
||||
%%DATADIR%%/src/webui/static/tvh-tv.css.gz
|
||||
%%DATADIR%%/src/webui/static/tvh-tv.js.gz
|
||||
%%DATADIR%%/src/webui/static/tvh.css.gz
|
||||
%%DATADIR%%/src/webui/static/tvh.access.css.gz
|
||||
%%DATADIR%%/src/webui/static/tvh.blue.css.gz
|
||||
%%DATADIR%%/src/webui/static/tvh.gray.css.gz
|
||||
%%DATADIR%%/src/webui/static/tvh.js.gz
|
||||
%%DATADIR%%/src/webui/static/xcheckbox/xcheckbox.css
|
||||
%%DATADIR%%/src/webui/static/xcheckbox/xcheckbox.js
|
||||
|
Loading…
Reference in New Issue
Block a user