Jaroslav Kysela [Thu, 27 Mar 2014 10:27:17 +0000 (11:27 +0100)]
Do not rely on linux kernel's headers - preparing for network tuners (SAT-IP)
This is a complete migration to use the own mux configuration scheme without
the system limitations to allow write backends for the network tuners like
SAT-IP servers.
Adam Sutton [Sun, 16 Mar 2014 13:15:05 +0000 (13:15 +0000)]
iptv: update to multi-network API and remove fixed IPTV network
This has caused a few people confusion, maybe removing it will cause more!
I guess we'll see. However it does seem better to allow things to be created
like everything else.
Adam Sutton [Mon, 17 Mar 2014 17:40:37 +0000 (17:40 +0000)]
mpegts: make the mapping of network<->input N<->N
I've rejected doing this for ages, however there are real limitations with
not being able to do this. And I've specifically come across one while thinking
about how some IPTV changes would be handled.
This will probably result in a break to peoples config, I will try and mitigate
this.
Jaroslav Kysela [Sun, 16 Mar 2014 18:52:50 +0000 (19:52 +0100)]
Fix the service <-> channel mapping editor
- the channel entry should be saved after unlink (not before)
- the service or channel entry should be notified about changes
to keep the channel / service grids in sync
Jaroslav Kysela [Wed, 12 Mar 2014 16:05:59 +0000 (17:05 +0100)]
The sbuf allocation cleanups
This is an attempt to fix the nonoptimal memory allocations. The old
code tries to allocate new chunks based on maximum packet value, but
the streams contain mostly short chunks. Also, in some cases, we know
the fixed sbuf size, so use it.
Jaroslav Kysela [Wed, 5 Mar 2014 16:31:19 +0000 (17:31 +0100)]
PID lookup, streaming pad filter and sbuf alloc optimizations
There is high probability (because of the "nature" of TS streams) that
next PID will match previous one. This patch tries to do simple "caching"
of last PID to speedup PID lookups.
The streaming pad filter is handled faster way now.
Also, sbuf allocations routines are optimized (better sb_size prediction and
allocation routine is called only on demand - not all time).
Natanael Copa [Tue, 4 Mar 2014 15:22:45 +0000 (15:22 +0000)]
build: typecast NGREG to int
Fixes the following error with musl libc:
src/trap.c: In function 'traphandler':
src/trap.c:178:3: error: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Werror=format=]
snprintf(tmpbuf, sizeof(tmpbuf), "Register dump [%d]: ", NGREG);
^
Natanael Copa [Tue, 4 Mar 2014 12:32:34 +0000 (12:32 +0000)]
build: detect wordsize in a portable way
There are no standard that says that __WORDSIZE should be defined or
in what include file. So in case its not defined we fallback to a
POSIX compliant way to determine wordsize.
Natanael Copa [Tue, 4 Mar 2014 11:56:33 +0000 (11:56 +0000)]
build: check for gcc version independent of platform
Use the gcc specific __GNUC__ and __GNUC__ minor to determine gcc version
rather than using the GNU libc specific __GNUC_PREREQ.
This fixes the following compile error with musl libc:
src/descrambler/capmt.c:79:18: error: missing binary operator before token "("
#if __GNUC_PREREQ(4, 3)
^
Natanael Copa [Tue, 4 Mar 2014 11:49:34 +0000 (11:49 +0000)]
build: check for qsort_r independent of platform
Rather than check for specific glibc version on PLATFORM_LINUX, check
the existance of qsort_r.
This fixes the following compile error with musl libc:
CC src/main.o
In file included from src/main.c:39:0:
src/tvheadend.h:608:20: error: missing binary operator before token "("
#if !__GLIBC_PREREQ(2,8)
^
Jaroslav Kysela [Mon, 17 Feb 2014 10:43:01 +0000 (11:43 +0100)]
Graceful exit
It's necessary to do serious checks for the memory leaks using
tools like valgrind. This patch tries to implement a graceful
exit for all tvheadend components and free allocated memory.