]> git.ipfire.org Git - thirdparty/tvheadend.git/log
thirdparty/tvheadend.git
8 years agosatip client: add possibility to select the data transfer mode per tuner, fixes ...
Jaroslav Kysela [Mon, 9 Oct 2017 12:26:54 +0000 (14:26 +0200)] 
satip client: add possibility to select the data transfer mode per tuner, fixes #4505

From: Mono Polimorph

8 years agosatip server: rectrict pids=all requests, fixes #4620
Jaroslav Kysela [Mon, 9 Oct 2017 12:21:28 +0000 (14:21 +0200)] 
satip server: rectrict pids=all requests, fixes #4620

From: Mono Polimorph

8 years agoidnode: partially revert the previous code in idnode_cmp_sort()
Jaroslav Kysela [Mon, 9 Oct 2017 08:21:14 +0000 (10:21 +0200)] 
idnode: partially revert the previous code in idnode_cmp_sort()

8 years agoidnode: fix sorting (slist_rend, idnode_get_display)
Jaroslav Kysela [Mon, 9 Oct 2017 08:17:22 +0000 (10:17 +0200)] 
idnode: fix sorting (slist_rend, idnode_get_display)

8 years agoiptv: auto - fix the url query filter, fixes #4658
Jaroslav Kysela [Mon, 9 Oct 2017 07:59:04 +0000 (09:59 +0200)] 
iptv: auto - fix the url query filter, fixes #4658

8 years agohtsbuf: remove double ;; in htsbuf_append_and_escape_url()
Jaroslav Kysela [Mon, 9 Oct 2017 07:24:56 +0000 (09:24 +0200)] 
htsbuf: remove double ;; in htsbuf_append_and_escape_url()

8 years agotranscode: do not pre-declare empty structs (it seems that older gcc does not like...
Jaroslav Kysela [Mon, 9 Oct 2017 06:58:33 +0000 (08:58 +0200)] 
transcode: do not pre-declare empty structs (it seems that older gcc does not like them), fixes #4634

8 years agohttp: xmltv export - escape icon URL, fixes #4659
Jaroslav Kysela [Mon, 9 Oct 2017 06:41:06 +0000 (08:41 +0200)] 
http: xmltv export - escape icon URL, fixes #4659

8 years agodvb psi: add freq list descriptor parsing, cleanups, fix extract_4byte()
Jaroslav Kysela [Sat, 7 Oct 2017 20:46:53 +0000 (22:46 +0200)] 
dvb psi: add freq list descriptor parsing, cleanups, fix extract_4byte()

8 years agoepg: log the grabber id in _epg_object_deserialize()
Jaroslav Kysela [Mon, 2 Oct 2017 18:20:18 +0000 (20:20 +0200)] 
epg: log the grabber id in _epg_object_deserialize()

8 years agodoozer.json: Remove git checkout hack
Andreas Smas [Thu, 5 Oct 2017 16:40:39 +0000 (09:40 -0700)] 
doozer.json: Remove git checkout hack

8 years agohtsp: fix the global_lock in htsp_file_destroy, fixes #4622
Jaroslav Kysela [Mon, 2 Oct 2017 07:08:39 +0000 (09:08 +0200)] 
htsp: fix the global_lock in htsp_file_destroy, fixes #4622

8 years agompegts: mux - move stop PID timer call to appropriate place, fixes #4643
Jaroslav Kysela [Mon, 2 Oct 2017 06:49:58 +0000 (08:49 +0200)] 
mpegts: mux - move stop PID timer call to appropriate place, fixes #4643

8 years agotrancode: omx - the string variables are not constants, fixes #4639
Jaroslav Kysela [Sat, 30 Sep 2017 17:33:58 +0000 (19:33 +0200)] 
trancode: omx - the string variables are not constants, fixes #4639

8 years agoepggrab: do not re-enable opentv grabber when user not enabled it, fixes #4633
Jaroslav Kysela [Fri, 29 Sep 2017 12:11:47 +0000 (14:11 +0200)] 
epggrab: do not re-enable opentv grabber when user not enabled it, fixes #4633

8 years agoopentv: opentv provider skyIT support new formats
anthonytex [Fri, 29 Sep 2017 10:04:07 +0000 (12:04 +0200)] 
opentv: opentv provider skyIT support new formats

Recently start to appear new description format so new regex are needed to correctly scarpe Episode/Season number and subtitle.

8 years agoidnode: compilation fix for last prop change
Jaroslav Kysela [Fri, 29 Sep 2017 07:40:50 +0000 (09:40 +0200)] 
idnode: compilation fix for last prop change

8 years agotranscoding: omx - fix typo, fixes #4636
Jaroslav Kysela [Fri, 29 Sep 2017 07:38:11 +0000 (09:38 +0200)] 
transcoding: omx - fix typo, fixes #4636

8 years agoprop: prop_sbuf / prop_ptr cleanups
Jaroslav Kysela [Fri, 29 Sep 2017 07:31:52 +0000 (09:31 +0200)] 
prop: prop_sbuf / prop_ptr cleanups

The prop get string callbacks should use static buffers. This
patch is trying to fix the problematic parts (mostly in dvr_db.c)
and also introduces prop_ptr to not allocate static pointer
in each string get callback.

The problems in dvb_db.c were serious, so tvh could crash or
invalid data are written to the config files.

Issue: #4636

8 years agowebui: Render upcoming recording duplicates with a line-through in grid. (#4632)
E.Smith [Tue, 26 Sep 2017 13:56:55 +0000 (14:56 +0100)] 
webui: Render upcoming recording duplicates with a line-through in grid. (#4632)

The advanced and expert views on the upcoming tab have a column for the
duplicate date. But on the basic view there is no indication of
duplicates unless you click information on the entry.

So we now render duplicates with a line-through. This makes it clear
they are duplicates that will not be recorded.

Issue: #4632

8 years agowebui: fix clear all stats button thinko
Mark Clarkstone [Wed, 27 Sep 2017 22:46:41 +0000 (23:46 +0100)] 
webui: fix clear all stats button thinko

8 years agoepggrab: remove all channels links when not enabled, fixes #4633
Jaroslav Kysela [Thu, 28 Sep 2017 16:55:34 +0000 (18:55 +0200)] 
epggrab: remove all channels links when not enabled, fixes #4633

8 years agotranscoding: fix memory leaks
Jaroslav Kysela [Mon, 25 Sep 2017 15:26:09 +0000 (17:26 +0200)] 
transcoding: fix memory leaks

8 years agoxmltv: Only parse number from display-name if config allows. (#4615)
E.Smith [Mon, 25 Sep 2017 00:41:42 +0000 (01:41 +0100)] 
xmltv: Only parse number from display-name if config allows. (#4615)

Earlier commit accidentally removed the check for configuration (chnum)
which means leading number would be stripped from xmltv names.

8 years agohtsp: move open syscall outside global_lock, issue #4624
Jaroslav Kysela [Mon, 25 Sep 2017 06:30:13 +0000 (08:30 +0200)] 
htsp: move open syscall outside global_lock, issue #4624

8 years agoeit: Add drop-down list for selecting xmltv scraper configuration. (#4626)
E.Smith [Sun, 24 Sep 2017 02:48:16 +0000 (03:48 +0100)] 
eit: Add drop-down list for selecting xmltv scraper configuration. (#4626)

Previously you had to enter text in the "scraper configuration to use"
drop-down on EPG grabber modules/Over the air module.

Now we populate a drop-down selection box by loading the configurations
and then getting their names. This is slight overhead compared to just
fb_scandir, but it is only used briefly during GUI configuration and
has the benefit of listing configurations that are valid in case the
user modified the configuration files and caused it to be invalid.

Issue: #4626

8 years agosettings: ignore files which ends with '~' in hts_settings_load_path()
Jaroslav Kysela [Sun, 24 Sep 2017 18:18:06 +0000 (20:18 +0200)] 
settings: ignore files which ends with '~' in hts_settings_load_path()

8 years agoeit: Rename Bulsatcom_39E to bg since it applies to DVB-T, C,and S. (#4577)
E.Smith [Sat, 9 Sep 2017 21:23:05 +0000 (22:23 +0100)] 
eit: Rename Bulsatcom_39E to bg since it applies to DVB-T, C,and S. (#4577)

Also fix incorrect test case of "episode 3" should be "3 episodes one-by-one".

8 years agoeit: Add initial test cases for Bulsatcom_39E. (#4577).
E.Smith [Sat, 9 Sep 2017 17:47:03 +0000 (18:47 +0100)] 
eit: Add initial test cases for Bulsatcom_39E. (#4577).

8 years agoeit: Add simple test harness for scraping EIT data. (#4577)
E.Smith [Sat, 9 Sep 2017 00:57:22 +0000 (01:57 +0100)] 
eit: Add simple test harness for scraping EIT data. (#4577)

This python script parses a scraper configuration file
from data/conf/epggrab/eit/scrape and a unit test file
from support/testdata/eitscrape.

The unit test contains numerous examples and the expected
scrape results, such as season and episode number.

The top of the test harness configuration file contains
some comments fields that are unparsed but help document
what environment the test harness is meant to be testing.

Issue: #4577.

8 years agodoozer: 'fix' dirty build issue (4).
Mark Clarkstone [Mon, 18 Sep 2017 18:21:37 +0000 (19:21 +0100)] 
doozer: 'fix' dirty build issue (4).

from (but modified): https://stackoverflow.com/questions/24533390/git-reset-files-with-typechange-status#27461055

8 years agowebui: add "Clear all statistics" button to Status -> Stream tab.
Mark Clarkstone [Tue, 19 Sep 2017 09:59:56 +0000 (10:59 +0100)] 
webui: add "Clear all statistics" button to Status -> Stream tab.

fixes #3759

8 years agowebui: sort (and group) many of the config settings, they were starting to look reall...
Mark Clarkstone [Tue, 19 Sep 2017 08:29:21 +0000 (09:29 +0100)] 
webui: sort (and group) many of the config settings, they were starting to look really messy.

8 years agofix storage space calculation
Daniel Becker [Thu, 21 Sep 2017 04:42:39 +0000 (21:42 -0700)] 
fix storage space calculation

The f_bfree and f_bavail members in struct statvfs are expressed in
units of f_frsize, not f_bsize (see the statvfs(2) manpage, e.g. here:
<https://linux.die.net/man/2/statvfs>). The two can differ quite
substantially, e.g. on ZFS.

8 years agoeit: Add extra eit episode scrape configurations (#4592)
E.Smith [Thu, 21 Sep 2017 00:30:55 +0000 (01:30 +0100)] 
eit: Add extra eit episode scrape configurations (#4592)

We include the regex from the opentv configuration for scraping
episode informationfor Italy, Australia and New Zealand with
minor changes to allow parsing by the Python test harness.
Also added additional Italian regex from the bug report.

Issue: #4592

8 years agoeit: Also scrape eit episode information from title and description (#4592)
E.Smith [Thu, 21 Sep 2017 00:20:05 +0000 (01:20 +0100)] 
eit: Also scrape eit episode information from title and description (#4592)

Previously we only searched the summary for scraping episode information,
but several countries also put the information in the title or description.
So we search each one in turn with the same regex and merge the results.

Issue: #4592

8 years agocwc: increase CWS_NETMSGSIZE to 1024 (like oscam)
Jaroslav Kysela [Sun, 24 Sep 2017 07:04:44 +0000 (09:04 +0200)] 
cwc: increase CWS_NETMSGSIZE to 1024 (like oscam)

8 years agoxmltv: Parse atsc style numbers. (#4615)
E.Smith [Sat, 23 Sep 2017 11:31:55 +0000 (12:31 +0100)] 
xmltv: Parse atsc style numbers. (#4615)

Previously we only parsed numbers of the format "445" and
forced the minor number to be zero. However atsc numbers
have a major and a minor so we now parse "39.1" as
major=39 minor=1.

Issue: #4615

8 years agoDVR: reconfigure muxer when streams changes, fixes #4538
Jaroslav Kysela [Sun, 24 Sep 2017 07:01:34 +0000 (09:01 +0200)] 
DVR: reconfigure muxer when streams changes, fixes #4538

8 years agoDVR: Add forced flag to allow to move 'data errors' to the finished recordings, fixes...
Jaroslav Kysela [Wed, 20 Sep 2017 07:51:56 +0000 (09:51 +0200)] 
DVR: Add forced flag to allow to move 'data errors' to the finished recordings, fixes #4603

8 years agoRevert "DVR: handle SM_CODE_USER_REQUEST as a successful case, fixes #4603"
Jaroslav Kysela [Wed, 20 Sep 2017 07:42:08 +0000 (09:42 +0200)] 
Revert "DVR: handle SM_CODE_USER_REQUEST as a successful case, fixes #4603"

This reverts commit 519a783747e8075714b4c95a7e216edb53f2e77b.

8 years agompegts dvb: distinguish correctly between DVB-C/ANNEX-B and ATSC-C/ANNEX-B networks...
Jaroslav Kysela [Wed, 20 Sep 2017 07:10:19 +0000 (09:10 +0200)] 
mpegts dvb: distinguish correctly between DVB-C/ANNEX-B and ATSC-C/ANNEX-B networks, fixes #4529

8 years agoDVR: fix for 'handle SM_CODE_USER_REQUEST as a successful case', fixes #4609
Jaroslav Kysela [Tue, 19 Sep 2017 06:24:37 +0000 (08:24 +0200)] 
DVR: fix for 'handle SM_CODE_USER_REQUEST as a successful case', fixes #4609

8 years agosatip server: fixed the RTP TCP size initialization, fixes #4517
Jaroslav Kysela [Mon, 18 Sep 2017 19:03:20 +0000 (21:03 +0200)] 
satip server: fixed the RTP TCP size initialization, fixes #4517

8 years agoepg: try to fix epg_episode_number_cmp() for text episode version
Jaroslav Kysela [Mon, 18 Sep 2017 18:19:15 +0000 (20:19 +0200)] 
epg: try to fix epg_episode_number_cmp() for text episode version

8 years agoDVR: handle SM_CODE_USER_REQUEST as a successful case, fixes #4603
Jaroslav Kysela [Mon, 18 Sep 2017 14:13:04 +0000 (16:13 +0200)] 
DVR: handle SM_CODE_USER_REQUEST as a successful case, fixes #4603

8 years agodoozer: remove precise targets
Jaroslav Kysela [Mon, 18 Sep 2017 13:57:54 +0000 (15:57 +0200)] 
doozer: remove precise targets

8 years agosatip server: add possibility to export DVB-C and DVB-S2 muxes for IPTV input, fixes...
Jaroslav Kysela [Mon, 18 Sep 2017 12:31:52 +0000 (14:31 +0200)] 
satip server: add possibility to export DVB-C and DVB-S2 muxes for IPTV input, fixes #4243

From: Mono Polimorph

8 years agoRevert "satip server: close session on SETUP error, fixes #4471"
Jaroslav Kysela [Mon, 18 Sep 2017 12:24:49 +0000 (14:24 +0200)] 
Revert "satip server: close session on SETUP error, fixes #4471"

This reverts commit 72128777940978239ba535c98d2c27648687c93f.

8 years agoeit: Fix scrape subtitle regex to be compatible with Python test harness. (#4578)
E.Smith [Sat, 9 Sep 2017 16:47:46 +0000 (17:47 +0100)] 
eit: Fix scrape subtitle regex to be compatible with Python test harness. (#4578)

Python complained about the subtitle regex whereas they
worked fine in perl and Tvh. So fix them to work in
all three.

Issue: #4578.

8 years agoeit: Minor fixes to regex to make them parsable as JSON for test harness. (#4578)
E.Smith [Sat, 9 Sep 2017 01:00:04 +0000 (02:00 +0100)] 
eit: Minor fixes to regex to make them parsable as JSON for test harness. (#4578)

The strings were not parsable by the JSON parser.

Issue: #4578

8 years agoeit: Add additional documentation on EIT scraper. (#4578)
E.Smith [Fri, 8 Sep 2017 18:43:27 +0000 (19:43 +0100)] 
eit: Add additional documentation on EIT scraper. (#4578)

Add some more documentation on the EIT scraper to clarify
that it does not access the Internet and that we only ship
with a few configurations at the moment.

Issue: #4578

8 years agoeit: Allow sub-title scraping to be configured on/off in the GUI. (#4578).
E.Smith [Fri, 8 Sep 2017 15:00:49 +0000 (16:00 +0100)] 
eit: Allow sub-title scraping to be configured on/off in the GUI. (#4578).

We need to be able to disable sub-title scraping since many people
have recording rules of "record if different subtitle". Since the
scraping alters the subtitle it means these people would get
re-records.

8 years agoeit: Scrape sub-title from summary in OTA EIT. (#4578).
E.Smith [Mon, 4 Sep 2017 22:42:56 +0000 (23:42 +0100)] 
eit: Scrape sub-title from summary in OTA EIT. (#4578).

The Freeview/Freesat frequently have a subtitle as part of the
summary. So we have "Treehouse of Horror IX: Three scary stories."
from which we can deduce the subtitle as "Treehouse of Horror IX".

Other variants are "...title_continuation. Subtitle" (so the real
title of the program is split in to the summary), and
"x/y. Subtitle" where x/y is the episode number.

So allow scraping of this and use it as the subtitle. If we cannot
scrape a subtitle then we continue the existing practice of using
the summary buffer for the subtitle.

The subtitle is currently NOT removed from the summary.

Issue: #4578

8 years agohttp: extra data - add may_discard flag for RTP data, issue #4598
Jaroslav Kysela [Sat, 16 Sep 2017 11:54:56 +0000 (13:54 +0200)] 
http: extra data - add may_discard flag for RTP data, issue #4598

8 years agowebui: comet - don't use websockets for Safari browsers, fixes #4589
Jaroslav Kysela [Thu, 14 Sep 2017 11:44:03 +0000 (13:44 +0200)] 
webui: comet - don't use websockets for Safari browsers, fixes #4589

https://bugs.webkit.org/show_bug.cgi?id=80362

Note: Probably all other "plain" webkit browsers are affected until
the above bug is resolved.

8 years agosatip server: allow to configure TCP RTP payload size for limited clients, fixes...
Jaroslav Kysela [Thu, 14 Sep 2017 10:06:25 +0000 (12:06 +0200)] 
satip server: allow to configure TCP RTP payload size for limited clients, fixes #4517

8 years agosatip server: the data must for satip_rtp_tcp_data() must be allocated, fixes #4573
Jaroslav Kysela [Thu, 14 Sep 2017 09:45:33 +0000 (11:45 +0200)] 
satip server: the data must for satip_rtp_tcp_data() must be allocated, fixes #4573

8 years agotranscode: context - fix compilation error
Jaroslav Kysela [Wed, 13 Sep 2017 17:07:44 +0000 (19:07 +0200)] 
transcode: context - fix compilation error

8 years agosatip server: rtsp - fix playing session flag, issue #4499
Jaroslav Kysela [Wed, 13 Sep 2017 12:05:03 +0000 (14:05 +0200)] 
satip server: rtsp - fix playing session flag, issue #4499

8 years agosatip server: rtsp - replace oldstate with playing session flag, issue #4499
Jaroslav Kysela [Wed, 13 Sep 2017 12:02:22 +0000 (14:02 +0200)] 
satip server: rtsp - replace oldstate with playing session flag, issue #4499

8 years agotranscode: hwaccels - improve 'trying pix_fmt' log line
Jaroslav Kysela [Wed, 13 Sep 2017 10:26:07 +0000 (12:26 +0200)] 
transcode: hwaccels - improve 'trying pix_fmt' log line

8 years agotranscode: vaapi - add support for hw scaler, fix hw deinterlacer
Jaroslav Kysela [Wed, 13 Sep 2017 10:23:35 +0000 (12:23 +0200)] 
transcode: vaapi - add support for hw scaler, fix hw deinterlacer

8 years agotranscode: use names instead numbers for pixfmt/samplefmt/audiolayout
Jaroslav Kysela [Wed, 13 Sep 2017 09:11:14 +0000 (11:11 +0200)] 
transcode: use names instead numbers for pixfmt/samplefmt/audiolayout

8 years agotranscode: dump the filter graph
Jaroslav Kysela [Wed, 13 Sep 2017 09:10:27 +0000 (11:10 +0200)] 
transcode: dump the filter graph

8 years agosatip server: try to change state and mux handling logic, issue #4499
Jaroslav Kysela [Tue, 12 Sep 2017 18:16:49 +0000 (20:16 +0200)] 
satip server: try to change state and mux handling logic, issue #4499

8 years agosatip server: don't bind more times to the UDP ports
Jaroslav Kysela [Tue, 12 Sep 2017 12:11:27 +0000 (14:11 +0200)] 
satip server: don't bind more times to the UDP ports

8 years agotranscode: try to fix the mmal decoder selection, issue #4572
Jaroslav Kysela [Tue, 12 Sep 2017 11:49:42 +0000 (13:49 +0200)] 
transcode: try to fix the mmal decoder selection, issue #4572

8 years agosatip server: add one more no_data check, issue #4499
Jaroslav Kysela [Tue, 12 Sep 2017 11:48:18 +0000 (13:48 +0200)] 
satip server: add one more no_data check, issue #4499

8 years agotcp: tcp_connect - initialize bindip variable correctly, issue #4499
Jaroslav Kysela [Tue, 12 Sep 2017 11:29:32 +0000 (13:29 +0200)] 
tcp: tcp_connect - initialize bindip variable correctly, issue #4499

8 years agosatip client: fix the error path, issue #4499
Jaroslav Kysela [Tue, 12 Sep 2017 11:29:25 +0000 (13:29 +0200)] 
satip client: fix the error path, issue #4499

8 years agotranscode: improve the transcode info log
Jaroslav Kysela [Tue, 12 Sep 2017 09:04:16 +0000 (11:04 +0200)] 
transcode: improve the transcode info log

8 years agoprofile: change source codecs to more user-friendly array
Jaroslav Kysela [Tue, 12 Sep 2017 08:54:48 +0000 (10:54 +0200)] 
profile: change source codecs to more user-friendly array

8 years agotranscode: try to fix the source codec filter
Jaroslav Kysela [Tue, 12 Sep 2017 07:58:34 +0000 (09:58 +0200)] 
transcode: try to fix the source codec filter

8 years agotrancode: a blind shot to make functional rpi mmal decoders, issue #4572
Jaroslav Kysela [Tue, 12 Sep 2017 07:09:57 +0000 (09:09 +0200)] 
trancode: a blind shot to make functional rpi mmal decoders, issue #4572

8 years agohttp: fix extra data (for SAT>IP TCP data mode), issue #4573
Jaroslav Kysela [Tue, 12 Sep 2017 06:30:55 +0000 (08:30 +0200)] 
http: fix extra data (for SAT>IP TCP data mode), issue #4573

8 years agohtsp: add subscription entry also for DVR files, fixes #3854
Jaroslav Kysela [Mon, 11 Sep 2017 12:20:53 +0000 (14:20 +0200)] 
htsp: add subscription entry also for DVR files, fixes #3854

8 years agotranscode: another struct type cleanups
Jaroslav Kysela [Mon, 11 Sep 2017 11:47:41 +0000 (13:47 +0200)] 
transcode: another struct type cleanups

8 years agodoozer: try to fix trusty build
Jaroslav Kysela [Fri, 8 Sep 2017 07:12:08 +0000 (09:12 +0200)] 
doozer: try to fix trusty build

8 years agoeit: pattern list - fix the posible memcpy overflow
Jaroslav Kysela [Fri, 8 Sep 2017 07:00:25 +0000 (09:00 +0200)] 
eit: pattern list - fix the posible memcpy overflow

8 years agoDVR: Prefer autorec rule name if comment field is empty (#4500)
E.Smith [Sun, 3 Sep 2017 11:35:05 +0000 (12:35 +0100)] 
DVR: Prefer autorec rule name if comment field is empty (#4500)

Currently the Upcoming recordings tab has a comment field that says
"Auto recording" or "Auto recording: <comment from autorec rule>".
This helps to identify why a recording is scheduled.

This patch ensures we continue to use the autorec comment field if
it is non-empty (keeping existing behaviour), but fallback to using
the recording rule name. If both are empty then we keep the
existing behaviour of fallback to an empty string.

This avoids the user having to duplicate the rule name in to
the comment string for manually created autorec rules.

So, in the above case it would be "Auto recording: <comment>",
"Auto recording: <rule name>", otherwise "Auto recording".

Fixes: #4500.
8 years agodvb psi: use correct delivery system in dvb_desc_cable_del(), issue #4529
Jaroslav Kysela [Fri, 8 Sep 2017 06:43:21 +0000 (08:43 +0200)] 
dvb psi: use correct delivery system in dvb_desc_cable_del(), issue #4529

8 years agoeit: Add scraper for first aired date. (#4287).
E.Smith [Thu, 7 Sep 2017 11:02:19 +0000 (12:02 +0100)] 
eit: Add scraper for first aired date. (#4287).

Our broadcaster summary often has "(1995) Lorem ipsum", so we
can extract the first aired date of 1995 from this.

Issue: #4287.

8 years agoeit: Clear scraper patterns on shutdown. (#4287).
E.Smith [Wed, 6 Sep 2017 19:41:50 +0000 (20:41 +0100)] 
eit: Clear scraper patterns on shutdown. (#4287).

Issue: #4287

8 years agoeit: Allow scraper configuration file to be configured at the GUI (#4287).
E.Smith [Wed, 6 Sep 2017 11:59:50 +0000 (12:59 +0100)] 
eit: Allow scraper configuration file to be configured at the GUI (#4287).

Previously the scraper was hard-coded based on the module name.
So "uk_freeview" module would check "uk_freeview" configuration file
and then the "uk" file.

However, this meant that the generic "eit" module (used by several
countries) had to be symlinked by the user to a specific configuration
for their country.

With this change, the user can simply enter "uk" in the GUI to read
that configuration.j

Also renamed "fixup" to be called "scrape" since we are scraping
data from the EIT rather than fixing it.

Issue: #4287

8 years agoeit: Allow EIT scraping of season/episode to be disabled at GUI. (#4287).
E.Smith [Wed, 6 Sep 2017 00:14:03 +0000 (01:14 +0100)] 
eit: Allow EIT scraping of season/episode to be disabled at GUI. (#4287).

We now have a tick box in the OTA configuration to enable/disable
the scraping of season/episode numbers from the eit grabbers.
This will allow us to add other scrapers and tidy-ups in the
future (such as removing "Also in HD" from the summary data
or "New:" from the title), and allow the user to disable ones
they do not want for very low-spec machines or due to their
duplicate rules relying on pre-tidy data.

To achieve this configuration, we now derive our eit grabbers
to be a "...scraper" type and hook in to the activate callback
to load/unload the regular expressions.

The loading of the config also had to be moved to the activate
rather than in the module create to allow us to access the
"scrape enabled" boolean.

Issue: #4287

8 years agoeit: Extract season/episode numbers from OTA EIT. (#4287).
E.Smith [Tue, 5 Sep 2017 11:43:19 +0000 (12:43 +0100)] 
eit: Extract season/episode numbers from OTA EIT. (#4287).

Broadcasters often include season and episode number in
the summary text in the OTA EIT.

For example, UK broadcasters often, but not always,
have a description of "Lorem ipsum (S5 Ep 8)" or
"Lorem ipsum (S3 Ep 4/9)" or "Lorem ipsum (Ep 4)".

From this we can use a regular expression match to
extract the season and episode data on a best effort
basis. This logic is based on the opentv extractor.

This is done via config files that are named after the
grabber module and exist in this directory:
data/conf/epggrab/eit/fixup/
Example names would be uk_freeview.

If the module-specific config file does not exist then we
fallback to trying the first component of the filename.

In the above example that would be "uk". This avoids having
duplicate files in the case where we have DVB-S and DVB-T
in the same country that share the same extraction regex.

The configuration file should contain season_num and
episode_num sections that can contain multiple regular
expressions to apply in sequence until one produces
a match.

For DVB-S, the configuration file normally needs to be copied to
a file named "eit" since data is broadcast via that mechanism.
This isn't done by default since the eit grabber is used by
multiple countries that may use different regular expressions.

Issue: #4287

8 years agoeit: Move opentv pattern list functions to separate file. (#4287).
E.Smith [Tue, 5 Sep 2017 11:38:46 +0000 (12:38 +0100)] 
eit: Move opentv pattern list functions to separate file. (#4287).

The pattern list functions are used for regular expression matching.
We move them to a separate file and rename them to have an
eit prefix instead of opentv prefix so they can be shared with
other eit modules.

Issue: #4287

8 years agohttp: fix http_extra_flush return value
Jaroslav Kysela [Fri, 8 Sep 2017 06:29:24 +0000 (08:29 +0200)] 
http: fix http_extra_flush return value

8 years agotranscode: fix the stream translation
Jaroslav Kysela [Wed, 6 Sep 2017 07:42:10 +0000 (09:42 +0200)] 
transcode: fix the stream translation

8 years agotranscode: vp8 - add more 'good' settings for webtv-vp8 codec profile
Jaroslav Kysela [Wed, 6 Sep 2017 07:41:04 +0000 (09:41 +0200)] 
transcode: vp8 - add more 'good' settings for webtv-vp8 codec profile

8 years agoconfigure: only enable nvenc if asked, not by default, fixes #4572
Mark Clarkstone [Tue, 5 Sep 2017 16:16:06 +0000 (17:16 +0100)] 
configure: only enable nvenc if asked, not by default, fixes #4572

8 years agotranscode: try to tidy typedef/struct
Jaroslav Kysela [Mon, 4 Sep 2017 15:14:37 +0000 (17:14 +0200)] 
transcode: try to tidy typedef/struct

8 years agotranscode: added h264_nvenc and hevc_nvenc codecs (untested)
Jaroslav Kysela [Mon, 4 Sep 2017 14:49:43 +0000 (16:49 +0200)] 
transcode: added h264_nvenc and hevc_nvenc codecs (untested)

8 years agotranscoder: vaapi - add support for vp8 encoder (tested) and vp9 decoder (untested)
Jaroslav Kysela [Sun, 3 Sep 2017 18:03:20 +0000 (20:03 +0200)] 
transcoder: vaapi - add support for vp8 encoder (tested) and vp9 decoder (untested)

8 years agotranscode: vaapi - remove depedency on libdrm
Jaroslav Kysela [Sun, 3 Sep 2017 17:27:13 +0000 (19:27 +0200)] 
transcode: vaapi - remove depedency on libdrm

8 years agoDVR: Record segmented programmes identified by EIT.
E.Smith [Sat, 19 Aug 2017 09:26:44 +0000 (10:26 +0100)] 
DVR: Record segmented programmes identified by EIT.

A broadcaster can split a programme in to multiple segments. These
are identified by the segments having a CRID containing an IMI
(a hash character followed by an ID). Segments have identical
values for this CRID and IMI and the segments start within three
hours of the end of the previous segment.

These rules are documented in this spec in section 7.1.7:
http://www.freeviewnz.tv/media/1055/freeview_dtt_transmission_rules_2_1.pdf
This document is based on the UK transmission specification.

For example, a movie may be broadcast as:
  21:00--22:00 movie segment 1
  22:00--22:05 five minute news
  22:05--23:30 movie segment 2

The xmltv guides typically merges this segments in to one
programme such as:
  21:00--23:30 movie (including news)

In theory, a programme can be split in to numerous segments.
In practice I have only seen a programme split in to two
segments as shown above.

To simplify recording these programmes, we identify segmented
programmes and extend the stop time. So, in the above case,
if the user records the 9pm showing then we will automatically
extend the stop time to be 23:30 instead of 22:00.

This patch explicitly disables "epg running state" for stopping
the recording. This is because the recording is tied to the first
showing and we don't want the recording to stop at 22:00 in the
above example.

We cache the calculated stop time to avoid any overheads, but
explicitly recalculate it at the start of the programme. This ensures
we detect any recent changes.

No modification is done of the actual EPG data to attempt to
merge the programme segments.

The consequence of this is that the EPG will only show a "recording"
marker against the first segment of the programme and not against
the second segment, which is unfortunate, however it is consistent
with recordings which have an extra stop time. The upcoming
recordings tab correctly shows the end time.

The duration of the finished recording is currently incorrectly
reported due to #3706. So the movie above would be reported as
60 minutes instead of 2h30.

Although the CRID processing is believed to be a global standard,
if other countries do not follow the UK/NZ specification then
the dvr_entry_get_segment_stop_extra could be updated to check a
(bitmask) config variable to enable/disable specific CRID processing.

I believe the overhead of the strcmp for the CRID check is minimal,
even on low-spec machines. If necessary we could cache to indicate
the CRID check has failed.

Issue: #1303

8 years agoparsers: allow higher PTS/PCR drift, fixes #4507
Jaroslav Kysela [Sun, 3 Sep 2017 13:38:14 +0000 (15:38 +0200)] 
parsers: allow higher PTS/PCR drift, fixes #4507

8 years agoprofile: fix the transcoded stream sharing
Jaroslav Kysela [Sun, 3 Sep 2017 12:48:56 +0000 (14:48 +0200)] 
profile: fix the transcoded stream sharing

8 years agotranscode: don't print '==> Passthrough', the copy profile name is printed, too
Jaroslav Kysela [Sun, 3 Sep 2017 12:01:29 +0000 (14:01 +0200)] 
transcode: don't print '==> Passthrough', the copy profile name is printed, too