Permalink
...
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
tvheadend/tvheadend
1MAK1/tvheadend
7eggert/tvheadend
Alex1234/tvheadend
BarDweller/tvheadend
Baswazz/tvheadend
BtbN/tvheadend
Cjcr/tvheadend
DannySkjodt/tvheadend
Denstis/tvheadend
EkASs/tvheadend
ElFeo/tvheadend
EnzoF1/tvheadend
EricV/tvheadend
EvertYing/tvheadend
Glandos/tvheadend
Glenn-1990/tvheadend
Gui13/tvheadend
Gujs/tvheadend
HuntieDK/tvheadend
InfiniteLoupe/tvheadend
InuSasha/tvheadend
JF6/tvheadend
Jalle19/tvheadend
MZman/tvheadend
Mathieu-Coupe/tvheadend
Navaneethsen/tvheadend
Oggymator/tvheadend
RoboSK/tvheadend
RyanTech/tvheadend
TELE-TWIN/tvheadend
TRat/tvheadend
ViGill/tvheadend
WHT/tvheadend
Zeppen/tvheadend
abdu1989/tvheadend
ackalker/tvheadend
acmyo/tvheadend
adamsutton/tvheadend
aguycalledandreas/tvheadend
airking/tvheadend
andoma/tvheadend
andyb2000/tvheadend
angelz07/tvheadend
ant-thomas/tvheadend
atiti/tvheadend
ayoucai/tvheadend
aznboi665/tvheadend
bacek/tvheadend
barneyfred01/tvheadend
benkibbey/tvheadend
bennykill/tvheadend
bennysj/tvheadend
bigtarget/tvheadend-1
bowman-gh/tvheadend
brendanpan/tvheadend
bshtein/tvheadend
bugoy/tvheadend
buzzzzer/tvheadend
c-ong/tvheadend
cdplayer/tvheadend
charrea6/tvheadend
cheelio/tvheadend
cohe6423/tvheadend
craigbeat/tvheadend
cub69/tvheadend
dahool84/tvheadend
davidpayne/tvheadend
deanzhang/tvheadend
dickontoo/tvheadend
dkonerma/tvheadend
dr4g0nsr/tvheadend
edenhill/tvheadend
ekins/tvheadend
elupus/tvheadend
energy6/tvheadend
etmtvdp/tvheadend
fabio123/tvheadend
fatbard/tvheadend
fmeerkoetter/tvheadend
freelyfree/tvheadend
galarosa/tvheadend
gokl/tvheadend
gusax/tvheadend
happysir/tvheadend
hmflash/tvheadend
hmronline/tvheadend
hosttor/tvheadend
hradec/tvheadend
innbox/tvheadend
jancona/tvheadend
jangeador/tvheadend
jaredquinn/tvheadend
jdierkse/tvheadend
jhernberg/tvheadend
jmarcet/tvheadend
joergschiller/tvheadend
joeusercz/tvheadend
john-tornblom/tvheadend
jonlar/tvheadend
jsm174/tvheadend
jstoffel33/tvheadend
juanmasg/tvheadend
julianscheel/tvheadend
jurrabi/tvheadend
jvdp/tvheadend
katuma/tvheadend
kendrak24/tvheadend
killerops/tvheadend
kiram9/tvheadend
klapray/tvheadend
konst13/tvheadend
laurimyllari/tvheadend
lekma/tvheadend
liamf/tvheadend
linniksa/tvheadend
linuxstb/tvheadend
liorm/tvheadend
ljalves/tvheadend
lugx/tvheadend
lunds/tvheadend
manio/tvheadend
martinfobian/tvheadend
mcanthony/tvheadend
mftvrocks/tvheadend
mikkle/tvheadend
mikrohard/tvheadend
mjprins/tvheadend
mkeyzer/tvheadend
mla2/tvheadend
mmrvka/tvheadend
mobilipia/tvheadend
morphis/tvheadend
mossroy/tvheadend
mrmachine/tvheadend
ncopa/tvheadend
ncorrare/tvheadend
nemphys/tvheadend
ngilles/tvheadend
nicraMarcin/tvheadend
nmaclean/tvheadend
notz/tvheadend
nricciar/tvheadend
nzchris/tvheadend
oneadvent/tvheadend
opdenkamp/tvheadend
oscar-b/tvheadend
pakar/tvheadend-hdhomerun
per/tvheadend
perexg/tvheadend
petriposio/tvheadend
phgriff/tvheadend
polini/tvheadend
puddingpimp/tvheadend
pvagner/tvheadend
raorn/tvheadend
raph666/tvheadend
realtimeprojects/tvheadend
rkunze/tvheadend
roman5566/tvheadend
romanlum/tvheadend
sangood/tvheadend
sbidoul/tvheadend
schlackbob/tvheadend
schmoko/tvheadend
sebafett/tvheadend
shahxeb/tvheadend
shanewfx/tvheadend
shljam/tvheadend
skazi0/tvheadend
skerit/tvheadend
sofakng/tvheadend
sowrdysalladen/tvheadend
statusquo00000/tvheadend
stev47/tvheadend
stevesmename/tvheadend
stoka/tvheadend
stv0g/tvheadend
swegener/tvheadend
tandrup/tvheadend
taukimus/tvheadend
thedylman/tvheadend
ths80/tvheadend
titoftit/tvheadend
tkoess/tvheadend
vichingo/tvheadend
vuolter/tvheadend
wader/tvheadend
wiplug/tvheadend
wmyrda/tvheadend
wphilips/tvheadend
wwttt2004/tvheadend
xbmc-cobradevil/tvheadend
xhaggi/tvheadend
zakalibit/tvheadend
zarath/tvheadend
zayer/tvheadend
zinonino/tvheadend
zipleen/tvheadend
zotona/tvheadend
Nothing to show
Choose a base branch
Choose a Head Repository
tvheadend/tvheadend
1MAK1/tvheadend
7eggert/tvheadend
Alex1234/tvheadend
BarDweller/tvheadend
Baswazz/tvheadend
BtbN/tvheadend
Cjcr/tvheadend
DannySkjodt/tvheadend
Denstis/tvheadend
EkASs/tvheadend
ElFeo/tvheadend
EnzoF1/tvheadend
EricV/tvheadend
EvertYing/tvheadend
Glandos/tvheadend
Glenn-1990/tvheadend
Gui13/tvheadend
Gujs/tvheadend
HuntieDK/tvheadend
InfiniteLoupe/tvheadend
InuSasha/tvheadend
JF6/tvheadend
Jalle19/tvheadend
MZman/tvheadend
Mathieu-Coupe/tvheadend
Navaneethsen/tvheadend
Oggymator/tvheadend
RoboSK/tvheadend
RyanTech/tvheadend
TELE-TWIN/tvheadend
TRat/tvheadend
ViGill/tvheadend
WHT/tvheadend
Zeppen/tvheadend
abdu1989/tvheadend
ackalker/tvheadend
acmyo/tvheadend
adamsutton/tvheadend
aguycalledandreas/tvheadend
airking/tvheadend
andoma/tvheadend
andyb2000/tvheadend
angelz07/tvheadend
ant-thomas/tvheadend
atiti/tvheadend
ayoucai/tvheadend
aznboi665/tvheadend
bacek/tvheadend
barneyfred01/tvheadend
benkibbey/tvheadend
bennykill/tvheadend
bennysj/tvheadend
bigtarget/tvheadend-1
bowman-gh/tvheadend
brendanpan/tvheadend
bshtein/tvheadend
bugoy/tvheadend
buzzzzer/tvheadend
c-ong/tvheadend
cdplayer/tvheadend
charrea6/tvheadend
cheelio/tvheadend
cohe6423/tvheadend
craigbeat/tvheadend
cub69/tvheadend
dahool84/tvheadend
davidpayne/tvheadend
deanzhang/tvheadend
dickontoo/tvheadend
dkonerma/tvheadend
dr4g0nsr/tvheadend
edenhill/tvheadend
ekins/tvheadend
elupus/tvheadend
energy6/tvheadend
etmtvdp/tvheadend
fabio123/tvheadend
fatbard/tvheadend
fmeerkoetter/tvheadend
freelyfree/tvheadend
galarosa/tvheadend
gokl/tvheadend
gusax/tvheadend
happysir/tvheadend
hmflash/tvheadend
hmronline/tvheadend
hosttor/tvheadend
hradec/tvheadend
innbox/tvheadend
jancona/tvheadend
jangeador/tvheadend
jaredquinn/tvheadend
jdierkse/tvheadend
jhernberg/tvheadend
jmarcet/tvheadend
joergschiller/tvheadend
joeusercz/tvheadend
john-tornblom/tvheadend
jonlar/tvheadend
jsm174/tvheadend
jstoffel33/tvheadend
juanmasg/tvheadend
julianscheel/tvheadend
jurrabi/tvheadend
jvdp/tvheadend
katuma/tvheadend
kendrak24/tvheadend
killerops/tvheadend
kiram9/tvheadend
klapray/tvheadend
konst13/tvheadend
laurimyllari/tvheadend
lekma/tvheadend
liamf/tvheadend
linniksa/tvheadend
linuxstb/tvheadend
liorm/tvheadend
ljalves/tvheadend
lugx/tvheadend
lunds/tvheadend
manio/tvheadend
martinfobian/tvheadend
mcanthony/tvheadend
mftvrocks/tvheadend
mikkle/tvheadend
mikrohard/tvheadend
mjprins/tvheadend
mkeyzer/tvheadend
mla2/tvheadend
mmrvka/tvheadend
mobilipia/tvheadend
morphis/tvheadend
mossroy/tvheadend
mrmachine/tvheadend
ncopa/tvheadend
ncorrare/tvheadend
nemphys/tvheadend
ngilles/tvheadend
nicraMarcin/tvheadend
nmaclean/tvheadend
notz/tvheadend
nricciar/tvheadend
nzchris/tvheadend
oneadvent/tvheadend
opdenkamp/tvheadend
oscar-b/tvheadend
pakar/tvheadend-hdhomerun
per/tvheadend
perexg/tvheadend
petriposio/tvheadend
phgriff/tvheadend
polini/tvheadend
puddingpimp/tvheadend
pvagner/tvheadend
raorn/tvheadend
raph666/tvheadend
realtimeprojects/tvheadend
rkunze/tvheadend
roman5566/tvheadend
romanlum/tvheadend
sangood/tvheadend
sbidoul/tvheadend
schlackbob/tvheadend
schmoko/tvheadend
sebafett/tvheadend
shahxeb/tvheadend
shanewfx/tvheadend
shljam/tvheadend
skazi0/tvheadend
skerit/tvheadend
sofakng/tvheadend
sowrdysalladen/tvheadend
statusquo00000/tvheadend
stev47/tvheadend
stevesmename/tvheadend
stoka/tvheadend
stv0g/tvheadend
swegener/tvheadend
tandrup/tvheadend
taukimus/tvheadend
thedylman/tvheadend
ths80/tvheadend
titoftit/tvheadend
tkoess/tvheadend
vichingo/tvheadend
vuolter/tvheadend
wader/tvheadend
wiplug/tvheadend
wmyrda/tvheadend
wphilips/tvheadend
wwttt2004/tvheadend
xbmc-cobradevil/tvheadend
xhaggi/tvheadend
zakalibit/tvheadend
zarath/tvheadend
zayer/tvheadend
zinonino/tvheadend
zipleen/tvheadend
zotona/tvheadend
Nothing to show
Choose a head branch
3
contributors
Commits on Sep 27, 2015
|
|
perexg |
webu/streaming: handle/generate ticket for /play redirects, fixes #3116
|
4f9edb1
|
Commits on Sep 29, 2015
Commits on Oct 01, 2015
|
|
perexg |
fix tvh_write() endless loop
|
675dbc7
|
Commits on Oct 07, 2015
|
|
perexg |
WEBUI: Fix the 'TV adapters' events (to refresh old values), fixes #3130
|
06ea964
|
Commits on Oct 08, 2015
|
|
perexg |
idnode: fix nasty idnode access check bug
|
755f1a9
|
Commits on Oct 09, 2015
|
|
perexg |
linuxdvb: accept '-a -1' parameter to completely disable linuxdvb input
|
03f954a
|
Commits on Oct 11, 2015
|
|
perexg |
main: fix the upstream backport (previous commit), fixes #3147
|
a1170f9
|
Commits on Oct 18, 2015
|
|
perexg |
subscription: add proper raw service cleanup, fixes instabilities
|
905c278
|
|||
|
|
perexg |
subscription: fix the wrong raw service removal
|
1462871
|
Commits on Oct 21, 2015
|
|
perexg |
DVR inotify: fix fundamental error when inotify filename is re-regist…
…ered |
f55871b
|
|||
|
|
perexg |
DVR: fix memory leak in dvr_inotify_add()
|
472131f
|
Commits on Oct 22, 2015
|
|
perexg |
capmt: fixed obvious bug - wrong condition - this causes many 'Do you…
… have OSCAM running?' messages |
6c51064
|
Commits on Oct 26, 2015
|
|
perexg |
linuxdvb: increase the input buffer size to 188000 by default
Signed-off-by: Jaroslav Kysela <perex@perex.cz> |
c8fe4c9
|
Commits on Oct 27, 2015
|
|
diraimondo + perexg |
new service with opentv EPG data for sky-it
service with sid=3635 doesn't exist anymore Signed-off-by: Jaroslav Kysela <perex@perex.cz> |
f93001c
|
|||
|
|
perexg |
coverity fixes
|
ba41286
|
|||
|
|
perexg |
Makefile.ffmpeg: update libvpx to 1.4.0
|
344504a
|
Commits on Oct 28, 2015
|
|
perexg |
fix spawn_parse_args() - endless loop - multiple spaces
|
c9623aa
|
Commits on Oct 29, 2015
|
|
perexg |
extension for spawn_parse_args - parse \b \f \n \r \t
|
f3b5662
|
|||
|
|
perexg |
fix spawn_parse_args() - for latest change
|
99ca008
|
|||
|
|
Glenn-1990 + perexg |
fix: htsp not informed when dvr changes
|
8a14e13
|
Commits on Nov 03, 2015
|
|
perexg |
epgdb: load - mmap - add SIGBUS recovery (when the file cannot be rea…
…d), fixes #3238 |
cfcc787
|
Commits on Nov 04, 2015
|
|
perexg |
dvb network: fix possible wrong memory access in dvb_network_get_orbi…
…tal_pos() |
2286905
|
|||
|
|
perexg |
main: fix tasklet memory leak
|
398e4fe
|
Commits on Nov 06, 2015
|
|
perexg |
mpegts table: mpegts_table_add - tableid must be different, too
|
e38730f
|
Commits on Nov 07, 2015
Commits on Nov 19, 2015
|
|
perexg |
htsmsg: add proper hmf_msg.hm_data initialization
|
49e4554
|
|||
|
|
perexg |
mkv muxer: handle EAGAIN in the write loop
|
31f477f
|
Commits on Nov 21, 2015
|
|
perexg |
support/css.py: don't use PWD but TVHDIR, fixes #3332
|
0233daf
|
Commits on Nov 27, 2015
|
|
perexg |
SAT>IP server: bind only to IPv4 (IPv6 support is not defined in SAT>…
…IP spec), fixes #3350 |
af1a36c
|
Commits on Nov 29, 2015
|
|
perexg |
SAT>IP server: handle rtsp_start() return code correctly
|
b4b42ea
|
Commits on Dec 08, 2015
|
|
perexg |
dvbpsi: parse LCNs for 0x83 tag when priv value is 0x3200,0x3201, fix…
…es #3398 |
406d086
|
Commits on Dec 13, 2015
|
|
perexg |
timeshift: correctly signal the end-of-data for RAM segment
|
e97fc07
|
Commits on Dec 14, 2015
|
|
perexg |
timeshift: fix the NULL cur_file 'deadlock', change to live mode when…
… end-of-buffers |
871f25e
|
Commits on Dec 16, 2015
|
|
perexg |
SAT>IP client: fix the timer race
See: perexg/satip-axe#36 |
d6f0086
|
|||
|
|
perexg |
Revert "DVR inotify: fix fundamental error when inotify filename is r…
…e-registered" This reverts commit f55871b. |
0499859
|
Unified
Split
Showing
with
318 additions
and 119 deletions.
- +3 −3 Makefile.ffmpeg
- +1 −1 data/conf/epggrab/opentv/prov/skyit
- +1 −1 src/channels.h
- +11 −13 src/descrambler/capmt.c
- +1 −1 src/dvr/dvr_config.c
- +2 −0 src/dvr/dvr_db.c
- +34 −3 src/epgdb.c
- +3 −0 src/htsmsg.c
- +2 −1 src/htsp_server.c
- +1 −1 src/idnode.c
- +5 −3 src/input/mpegts/dvb_psi.c
- +4 −0 src/input/mpegts/dvb_psi_lib.c
- +1 −1 src/input/mpegts/linuxdvb/linuxdvb_frontend.c
- +1 −2 src/input/mpegts/linuxdvb/linuxdvb_satconf.c
- +1 −0 src/input/mpegts/mpegts_network_dvb.c
- +2 −0 src/input/mpegts/mpegts_table.c
- +1 −0 src/input/mpegts/satip/satip.c
- +0 −3 src/input/mpegts/satip/satip_frontend.c
- +33 −15 src/main.c
- +2 −0 src/muxer/tvh/mkmux.c
- +35 −7 src/profile.c
- +3 −1 src/profile.h
- +8 −3 src/satip/rtp.c
- +6 −2 src/satip/rtsp.c
- +2 −2 src/satip/server.c
- +1 −1 src/satip/server.h
- +40 −8 src/service.c
- +5 −1 src/service.h
- +25 −5 src/spawn.c
- +22 −14 src/subscriptions.c
- +1 −0 src/subscriptions.h
- +7 −6 src/tcp.c
- +2 −2 src/tcp.h
- +13 −5 src/timeshift/timeshift_reader.c
- +3 −0 src/tvhlog.h
- +1 −0 src/webui/static/app/comet.js
- +1 −1 src/webui/static/app/idnode.js
- +31 −10 src/webui/webui.c
- +1 −0 src/wrappers.c
- +2 −3 support/css.py
View
6
Makefile.ffmpeg
| @@ -82,10 +82,10 @@ LIBX264_TB = $(LIBX264).tar.bz2 | ||
| LIBX264_URL = http://ftp.via.ecp.fr/pub/videolan/x264/snapshots/$(LIBX264_TB) | ||
| LIBX264_SHA1 = 24a3b20e2c49a112e40df9f64885cbd81250298a | ||
| -LIBVPX = libvpx-v1.3.0 | ||
| +LIBVPX = libvpx-1.4.0 | ||
| LIBVPX_TB = $(LIBVPX).tar.bz2 | ||
| -LIBVPX_URL = https://webm.googlecode.com/files/$(LIBVPX_TB) | ||
| -LIBVPX_SHA1 = 191b95817aede8c136cc3f3745fb1b8c50e6d5dc | ||
| +LIBVPX_URL = http://storage.googleapis.com/downloads.webmproject.org/releases/webm/$(LIBVPX_TB) | ||
| +LIBVPX_SHA1 = d05f4e9a9878886282ac9c9246f8fac080c94c8f | ||
| YASM = yasm-1.3.0 | ||
| YASM_TB = $(YASM).tar.gz | ||
View
2
data/conf/epggrab/opentv/prov/skyit
| @@ -4,7 +4,7 @@ | ||
| "genre": "skyit", | ||
| "nid": 64511, | ||
| "tsid": 5800, | ||
| - "sid": 3635, | ||
| + "sid": 3641, | ||
| "bouquetid": 0, | ||
| "channel" : [ | ||
| 17 | ||
View
2
src/channels.h
| @@ -192,7 +192,7 @@ void channel_save(channel_t *ch); | ||
| const char *channel_get_name ( channel_t *ch ); | ||
| int channel_set_name ( channel_t *ch, const char *name ); | ||
| -#define CHANNEL_SPLIT 1000000 | ||
| +#define CHANNEL_SPLIT ((int64_t)1000000) | ||
| static inline uint32_t channel_get_major ( int64_t chnum ) { return chnum / CHANNEL_SPLIT; } | ||
| static inline uint32_t channel_get_minor ( int64_t chnum ) { return chnum % CHANNEL_SPLIT; } | ||
View
24
src/descrambler/capmt.c
| @@ -496,7 +496,7 @@ capmt_connect(capmt_t *capmt, int i) | ||
| } | ||
| - if (fd) { | ||
| + if (fd >= 0) { | ||
| tvhlog(LOG_DEBUG, "capmt", "%s: Created socket %d", capmt_name(capmt), fd); | ||
| capmt->capmt_sock[i] = fd; | ||
| capmt->capmt_sock_reconnect[i]++; | ||
| @@ -753,18 +753,16 @@ capmt_send_stop(capmt_service_t *t) | ||
| static void | ||
| capmt_send_stop_descrambling(capmt_t *capmt) | ||
| { | ||
| - uint8_t buf[8]; | ||
| - | ||
| - buf[0] = 0x9F; | ||
| - buf[1] = 0x80; | ||
| - buf[2] = 0x3F; | ||
| - buf[3] = 0x04; | ||
| - | ||
| - buf[4] = 0x83; | ||
| - buf[5] = 0x02; | ||
| - buf[6] = 0x00; | ||
| - buf[7] = 0xFF; //wildcard demux id | ||
| - | ||
| + static uint8_t buf[8] = { | ||
| + 0x9F, | ||
| + 0x80, | ||
| + 0x3F, | ||
| + 0x04, | ||
| + 0x83, | ||
| + 0x02, | ||
| + 0x00, | ||
| + 0xFF, /* wildcard demux id */ | ||
| + }; | ||
| capmt_write_msg(capmt, 0, 0, buf, 8); | ||
| } | ||
View
2
src/dvr/dvr_config.c
| @@ -121,7 +121,7 @@ dvr_config_find_by_list(htsmsg_t *uuids, const char *name) | ||
| } | ||
| } | ||
| } else { | ||
| - if (cfg->dvr_enabled) | ||
| + if (cfg && cfg->dvr_enabled) | ||
| res = cfg; | ||
| } | ||
| if (!res) | ||
View
2
src/dvr/dvr_db.c
| @@ -1280,6 +1280,8 @@ dvr_entry_class_save(idnode_t *self) | ||
| dvr_entry_save(de); | ||
| if (dvr_entry_is_valid(de)) | ||
| dvr_entry_set_timer(de); | ||
| + | ||
| + htsp_dvr_entry_update(de); | ||
| } | ||
| static void | ||
View
37
src/epgdb.c
| @@ -21,6 +21,8 @@ | ||
| #include <sys/stat.h> | ||
| #include <unistd.h> | ||
| #include <pthread.h> | ||
| +#include <signal.h> | ||
| +#include <setjmp.h> | ||
| #include "tvheadend.h" | ||
| #include "queue.h" | ||
| @@ -144,6 +146,16 @@ _epgdb_v2_process( char **sect, htsmsg_t *m, epggrab_stats_t *stats ) | ||
| } | ||
| /* | ||
| + * Recovery | ||
| + */ | ||
| +static sigjmp_buf epg_mmap_env; | ||
| + | ||
| +static void epg_mmap_sigbus (int sig, siginfo_t *siginfo, void *ptr) | ||
| +{ | ||
| + siglongjmp(epg_mmap_env, 1); | ||
| +} | ||
| + | ||
| +/* | ||
| * Load data | ||
| */ | ||
| void epg_init ( void ) | ||
| @@ -154,6 +166,7 @@ void epg_init ( void ) | ||
| uint8_t *mem, *rp; | ||
| epggrab_stats_t stats; | ||
| int ver = EPG_DB_VERSION; | ||
| + struct sigaction act, oldact; | ||
| char *sect = NULL; | ||
| /* Find the right file (and version) */ | ||
| @@ -168,21 +181,37 @@ void epg_init ( void ) | ||
| tvhlog(LOG_DEBUG, "epgdb", "database does not exist"); | ||
| return; | ||
| } | ||
| + | ||
| + memset (&act, 0, sizeof(act)); | ||
| + act.sa_sigaction = epg_mmap_sigbus; | ||
| + act.sa_flags = SA_SIGINFO; | ||
| + if (sigaction(SIGBUS, &act, &oldact)) { | ||
| + tvhlog(LOG_ERR, "epgdb", "failed to install SIGBUS handler"); | ||
| + close(fd); | ||
| + return; | ||
| + } | ||
| /* Map file to memory */ | ||
| if ( fstat(fd, &st) != 0 ) { | ||
| tvhlog(LOG_ERR, "epgdb", "failed to detect database size"); | ||
| - return; | ||
| + goto end; | ||
| } | ||
| if ( !st.st_size ) { | ||
| tvhlog(LOG_DEBUG, "epgdb", "database is empty"); | ||
| - return; | ||
| + goto end; | ||
| } | ||
| remain = st.st_size; | ||
| rp = mem = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); | ||
| if ( mem == MAP_FAILED ) { | ||
| tvhlog(LOG_ERR, "epgdb", "failed to mmap database"); | ||
| - return; | ||
| + goto end; | ||
| + } | ||
| + | ||
| + if (sigsetjmp(epg_mmap_env, 1)) { | ||
| + tvhlog(LOG_ERR, "epgdb", "failed to read from mapped file"); | ||
| + if (mem) | ||
| + munmap(mem, st.st_size); | ||
| + goto end; | ||
| } | ||
| /* Process */ | ||
| @@ -244,6 +273,8 @@ void epg_init ( void ) | ||
| /* Close file */ | ||
| munmap(mem, st.st_size); | ||
| +end: | ||
| + sigaction(SIGBUS, &oldact, NULL); | ||
| close(fd); | ||
| } | ||
View
3
src/htsmsg.c
| @@ -298,6 +298,7 @@ htsmsg_add_msg(htsmsg_t *msg, const char *name, htsmsg_t *sub) | ||
| HMF_NAME_ALLOCED); | ||
| assert(sub->hm_data == NULL); | ||
| + f->hmf_msg.hm_data = NULL; | ||
| f->hmf_msg.hm_islist = sub->hm_islist; | ||
| TAILQ_MOVE(&f->hmf_msg.hm_fields, &sub->hm_fields, hmf_link); | ||
| free(sub); | ||
| @@ -321,6 +322,7 @@ htsmsg_add_msg_extname(htsmsg_t *msg, const char *name, htsmsg_t *sub) | ||
| f = htsmsg_field_add(msg, name, sub->hm_islist ? HMF_LIST : HMF_MAP, 0); | ||
| assert(sub->hm_data == NULL); | ||
| + f->hmf_msg.hm_data = NULL; | ||
| TAILQ_MOVE(&f->hmf_msg.hm_fields, &sub->hm_fields, hmf_link); | ||
| f->hmf_msg.hm_islist = sub->hm_islist; | ||
| free(sub); | ||
| @@ -711,6 +713,7 @@ htsmsg_field_get_msg ( htsmsg_field_t *f, int islist ) | ||
| free((void*)f->hmf_str); | ||
| f->hmf_type = m->hm_islist ? HMF_LIST : HMF_MAP; | ||
| f->hmf_msg.hm_islist = m->hm_islist; | ||
| + f->hmf_msg.hm_data = NULL; | ||
| TAILQ_MOVE(&f->hmf_msg.hm_fields, &m->hm_fields, hmf_link); | ||
| free(m); | ||
| } | ||
View
3
src/htsp_server.c
| @@ -2020,7 +2020,8 @@ htsp_method_subscribe(htsp_connection_t *htsp, htsmsg_t *in) | ||
| } | ||
| #endif | ||
| - pro = profile_find_by_list(htsp->htsp_granted_access->aa_profiles, profile_id, "htsp"); | ||
| + pro = profile_find_by_list(htsp->htsp_granted_access->aa_profiles, profile_id, | ||
| + "htsp", SUBSCRIPTION_PACKET | SUBSCRIPTION_HTSP); | ||
| profile_chain_init(&hs->hs_prch, pro, ch); | ||
| if (profile_chain_work(&hs->hs_prch, &hs->hs_input, timeshiftPeriod, 0)) { | ||
| tvhlog(LOG_ERR, "htsp", "unable to create profile chain '%s'", pro->pro_name); | ||
View
2
src/idnode.c
| @@ -564,7 +564,7 @@ idnode_perm(idnode_t *self, struct access *a, htsmsg_t *msg_to_write) | ||
| if (ic->ic_perm) | ||
| return self->in_class->ic_perm(self, a, msg_to_write); | ||
| if (ic->ic_perm_def) | ||
| - return access_verify2(a, self->in_class->ic_perm_def); | ||
| + return access_verify2(a, ic->ic_perm_def); | ||
| ic = ic->ic_super; | ||
| } | ||
| return 0; | ||
View
8
src/input/mpegts/dvb_psi.c
| @@ -1222,7 +1222,7 @@ dvb_nit_mux | ||
| break; | ||
| case 0x83: | ||
| if (priv == 0 || priv == 0x28 || priv == 0x29 || priv == 0xa5 || | ||
| - priv == 0x233A) goto lcn; | ||
| + priv == 0x233A || priv == 0x3200 || priv == 0x3201) goto lcn; | ||
| break; | ||
| case 0x86: | ||
| if (priv == 0) goto lcn; | ||
| @@ -2381,8 +2381,10 @@ static void dvb_time_update(const uint8_t *ptr, const char *srcname) | ||
| time_t t; | ||
| if (dvb_last_update + 1800 < dispatch_clock) { | ||
| t = dvb_convert_date(ptr, 0); | ||
| - tvhtime_update(t, srcname); | ||
| - dvb_last_update = dispatch_clock; | ||
| + if (t > 0) { | ||
| + tvhtime_update(t, srcname); | ||
| + dvb_last_update = dispatch_clock; | ||
| + } | ||
| } | ||
| } | ||
View
4
src/input/mpegts/dvb_psi_lib.c
| @@ -464,6 +464,10 @@ int dvb_table_remux | ||
| buf += l; | ||
| } | ||
| + if (ol <= 0) { | ||
| + free(obuf); | ||
| + return 0; | ||
| + } | ||
| *out = obuf; | ||
| return ol; | ||
| } | ||
View
2
src/input/mpegts/linuxdvb/linuxdvb_frontend.c
| @@ -1556,7 +1556,7 @@ linuxdvb_frontend_create | ||
| lfe->lfe_type = type; | ||
| strncpy(lfe->lfe_name, name, sizeof(lfe->lfe_name)); | ||
| lfe->lfe_name[sizeof(lfe->lfe_name)-1] = '\0'; | ||
| - lfe->lfe_ibuf_size = 18800; | ||
| + lfe->lfe_ibuf_size = 188000; | ||
| lfe->lfe_status_period = 1000; | ||
| lfe->lfe_pids_max = 32; | ||
| lfe = (linuxdvb_frontend_t*)mpegts_input_create0((mpegts_input_t*)lfe, idc, uuid, conf); | ||
View
3
src/input/mpegts/linuxdvb/linuxdvb_satconf.c
| @@ -827,8 +827,7 @@ int | ||
| linuxdvb_satconf_start_mux | ||
| ( linuxdvb_satconf_t *ls, mpegts_mux_instance_t *mmi ) | ||
| { | ||
| - int r; | ||
| - uint32_t f; | ||
| + int r, f; | ||
| linuxdvb_satconf_ele_t *lse = linuxdvb_satconf_find_ele(ls, mmi->mmi_mux); | ||
| linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)ls->ls_frontend; | ||
| dvb_mux_t *lm = (dvb_mux_t*)mmi->mmi_mux; | ||
View
1
src/input/mpegts/mpegts_network_dvb.c
| @@ -430,6 +430,7 @@ dvb_network_create_mux | ||
| satpos = dvb_network_get_orbital_pos(mn); | ||
| if (dvb_network_check_orbital_pos(satpos, dmc->u.dmc_fe_qpsk.orbital_pos)) { | ||
| LIST_FOREACH(mn, &mpegts_network_all, mn_global_link) { | ||
| + if (!idnode_is_instance(&mn->mn_id, &dvb_network_dvbs_class)) continue; | ||
| satpos = dvb_network_get_orbital_pos(mn); | ||
| if (satpos == INT_MAX) continue; | ||
| if (!dvb_network_check_orbital_pos(satpos, dmc->u.dmc_fe_qpsk.orbital_pos)) | ||
View
2
src/input/mpegts/mpegts_table.c
| @@ -199,6 +199,8 @@ mpegts_table_add | ||
| } else if (pid >= 0) { | ||
| if (mt->mt_pid != pid) | ||
| continue; | ||
| + if (mt->mt_table != tableid) | ||
| + continue; | ||
| if (mt->mt_callback != callback) | ||
| continue; | ||
| } else { | ||
View
1
src/input/mpegts/satip/satip.c
| @@ -191,6 +191,7 @@ satip_device_class_tunercfg_notify ( void *o ) | ||
| const idclass_t satip_device_class = | ||
| { | ||
| .ic_class = "satip_client", | ||
| + .ic_event = "satip_client", | ||
| .ic_caption = "SAT>IP Client", | ||
| .ic_save = satip_device_class_save, | ||
| .ic_get_childs = satip_device_class_get_childs, | ||
View
3
src/input/mpegts/satip/satip_frontend.c
| @@ -1459,9 +1459,6 @@ satip_frontend_input_thread ( void *aux ) | ||
| pthread_mutex_unlock(&lfe->sf_dvr_lock); | ||
| } | ||
| - /* Do not send the SMT_SIGNAL_STATUS packets - we are out of service */ | ||
| - gtimer_disarm(&lfe->sf_monitor_timer); | ||
| - | ||
| sbuf_free(&sb); | ||
| udp_multirecv_free(&um); | ||
Oops, something went wrong.
Showing you all comments on commits in this comparison.
|
@perexg This change ^^ is causing a compile error. The builds failing only on the |