]> git.ipfire.org Git - thirdparty/tvheadend.git/log
thirdparty/tvheadend.git
9 days agoAdd ubuntu24.04 to run-on-arch workflows in CI and cloudsmith master
copilot-swe-agent[bot] [Mon, 4 May 2026 13:33:37 +0000 (13:33 +0000)] 
Add ubuntu24.04 to run-on-arch workflows in CI and cloudsmith

Agent-Logs-Url: https://github.com/tvheadend/tvheadend/sessions/9eb64b34-4950-44fd-aefa-41b04b6029b5

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
9 days agoprop.c: refactor PT_U32 split-int parsing to use prop_intsplit_from_str
copilot-swe-agent[bot] [Tue, 5 May 2026 11:44:42 +0000 (11:44 +0000)] 
prop.c: refactor PT_U32 split-int parsing to use prop_intsplit_from_str

Agent-Logs-Url: https://github.com/tvheadend/tvheadend/sessions/21b0e984-5867-49d1-8142-861f4b00d7c4

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
9 days agoprop.c: fix const qualifier warning in prop_write_values
copilot-swe-agent[bot] [Tue, 5 May 2026 11:30:34 +0000 (11:30 +0000)] 
prop.c: fix const qualifier warning in prop_write_values

Agent-Logs-Url: https://github.com/tvheadend/tvheadend/sessions/1de0ed71-e0c2-4820-937a-30c7f61f9972

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
9 days agohtsbuf: escape all JSON control bytes per RFC 8259 §7
Oliver Sluke [Sat, 2 May 2026 20:59:15 +0000 (22:59 +0200)] 
htsbuf: escape all JSON control bytes per RFC 8259 §7

`htsbuf_append_and_escape_jsonstr` is the single function every
JSON-emitting code path in tvheadend funnels through (see
`src/htsmsg_json.c:53,67,72,76` — every htsmsg_t serialised to
JSON, which covers every `api/...` REST response and the Comet
bus). Today it escapes only `"`, `\`, `\n`, `\r`, `\t`. The
other 27 ASCII control bytes (0x00–0x1F minus those three) are
appended verbatim.

This violates RFC 8259 §7 / ECMA-404, which both require all
characters in U+0000–U+001F to be escaped. The output is
rejected by every standards-compliant JSON parser (browser
JSON.parse, Python json.loads, jq, Go encoding/json, jansson,
serde_json). The bug surfaces whenever a stored string ever
contained one of those bytes — broadcaster EPG data is a
frequent source (DVB-EIT and XMLTV feeds occasionally carry
stray BEL / SOH / etc.), and any user-editable string field
can pick them up via API clients or paste-from-terminal.

Reproduction (verified on HEAD before this change): set any
DVR entry's `comment` field to a string containing `\a`
via `api/idnode/save`, fetch the entry back via the
corresponding grid endpoint, observe `Invalid control character
at: line 1 column N` from `python3 -c 'import json;
json.load(...)'`. Hex-dump confirms a literal 0x07 byte sits
unescaped inside the JSON string.

Fix: extend the trigger condition to `c < 0x20`, add `\b` and
`\f` shortform escapes (RFC 8259 §7 recognises them; matches
what every standard JSON serialiser emits), fall back to
`\uXXXX` for the remaining ~24 control bytes. Cast to
`unsigned char` so the comparison is well-defined on platforms
where plain `char` is signed. Switch statement replaces the
if-else cascade — same emitted code, easier to read.

Behaviour delta: zero for any string that didn't already
contain a control byte. Only previously-malformed JSON output
becomes well-formed. UTF-8 multi-byte sequences pass through
unchanged (continuation 0x80–0xBF and lead 0xC0–0xFF don't
trigger c < 0x20).

Verified via a small standalone test that links against the
patched htsbuf.o, exercises the function over every byte
0x01–0x1F, and round-trips the output through Python's strict
parser. Output for byte 0x07: `"x\ay"` (escaped). For 0x0C:
`"x\fy"` (named shortform). Etc. All 31 round-trips succeed.

Independent of PR #2034 (cJSON replacement), which explicitly
retains this function.

Signed-off-by: Oliver Sluke <22557015+oliversluke@users.noreply.github.com>
13 days agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Wed, 29 Apr 2026 18:10:41 +0000 (18:10 +0000)] 
intl: Translate intl/tvheadend.pot in pl

100% translated source file: 'intl/tvheadend.pot'
on 'pl'.

13 days agointl: Translate intl/docs/tvheadend.doc.pot in pl
transifex-integration[bot] [Wed, 29 Apr 2026 18:10:29 +0000 (18:10 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in pl

100% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'pl'.

13 days agointl: Translate intl/tvheadend.pot in en_US
transifex-integration[bot] [Wed, 29 Apr 2026 12:43:50 +0000 (12:43 +0000)] 
intl: Translate intl/tvheadend.pot in en_US

99% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Wed, 29 Apr 2026 12:43:33 +0000 (12:43 +0000)] 
intl: Translate intl/tvheadend.pot in pl

99% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'pl'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate tvheadend.doc.pot in en_GB
transifex-integration[bot] [Wed, 29 Apr 2026 12:43:17 +0000 (12:43 +0000)] 
intl: Translate tvheadend.doc.pot in en_GB

99% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate intl/docs/tvheadend.doc.pot in pl
transifex-integration[bot] [Wed, 29 Apr 2026 12:42:59 +0000 (12:42 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in pl

99% of minimum 80% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'pl'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate intl/docs/tvheadend.doc.pot in fr
transifex-integration[bot] [Wed, 29 Apr 2026 12:42:41 +0000 (12:42 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in fr

95% of minimum 80% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate tvheadend.doc.pot in en_US
transifex-integration[bot] [Wed, 29 Apr 2026 12:42:24 +0000 (12:42 +0000)] 
intl: Translate tvheadend.doc.pot in en_US

99% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate intl/tvheadend.pot in fr
transifex-integration[bot] [Wed, 29 Apr 2026 12:42:10 +0000 (12:42 +0000)] 
intl: Translate intl/tvheadend.pot in fr

95% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

13 days agointl: Translate intl/tvheadend.pot in en_GB
transifex-integration[bot] [Wed, 29 Apr 2026 12:41:57 +0000 (12:41 +0000)] 
intl: Translate intl/tvheadend.pot in en_GB

99% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 weeks agoUpdate Internationalisation Templates
Flole998 [Mon, 27 Apr 2026 03:07:20 +0000 (03:07 +0000)] 
Update Internationalisation Templates

2 weeks ago[WebUI] Option to hide seconds in DVR Dialogue.
DeltaMikeCharlie [Sun, 26 Apr 2026 01:39:26 +0000 (11:39 +1000)] 
[WebUI] Option to hide seconds in DVR Dialogue.

2 weeks agoOption to set default tab by system and user.
DeltaMikeCharlie [Wed, 11 Mar 2026 18:52:48 +0000 (05:52 +1100)] 
Option to set default tab by system and user.

2 weeks agochannels: fix reentrancy guard in channel_class_changed()
Oliver Sluke [Thu, 23 Apr 2026 21:12:49 +0000 (23:12 +0200)] 
channels: fix reentrancy guard in channel_class_changed()

atomic_dec(&ch->ch_changed_ref, 0) subtracts 0 instead of 1, so
the reentrancy counter never resets after the first call. All
subsequent calls see atomic_add() > 0 and return early, permanently
suppressing HTSP channelUpdate notifications, bouquet propagation,
and tag updates for that channel.

Fix by decrementing by 1 so the guard properly resets to 0.

2 weeks agohtsp: add absolute signal fields for DVBv5 decibel-scale hardware
Oliver Sluke [Fri, 24 Apr 2026 13:41:44 +0000 (15:41 +0200)] 
htsp: add absolute signal fields for DVBv5 decibel-scale hardware

The signalStatus message only sends feSNR/feSignal for
SIGNAL_STATUS_SCALE_RELATIVE drivers, silently dropping values from
modern DVBv5 hardware that reports in SIGNAL_STATUS_SCALE_DECIBEL.

Add feAbsoluteSNR (s64, dB x 1000) and feAbsoluteSignal (s64,
dBm x 1000) fields for SCALE_DECIBEL drivers, carrying the raw
kernel values with no conversion. Clients check which field is
present to determine the value type.

Bump HTSP protocol version to 44.

2 weeks agoFix typo in comment message for squashing pull requests
Flole [Fri, 24 Apr 2026 15:30:14 +0000 (17:30 +0200)] 
Fix typo in comment message for squashing pull requests

5 weeks agoUpdate license entry in tvheadend.spec.in
Flole [Tue, 7 Apr 2026 13:53:55 +0000 (15:53 +0200)] 
Update license entry in tvheadend.spec.in

Removed GPL license file from package specification.

5 weeks agoFormat license in order to allow GitHub to auto-detect it
Flole [Tue, 7 Apr 2026 13:23:30 +0000 (13:23 +0000)] 
Format license in order to allow GitHub to auto-detect it

6 weeks agoUpdate Internationalisation Templates (#2075)
github-actions[bot] [Mon, 30 Mar 2026 06:40:12 +0000 (10:40 +0400)] 
Update Internationalisation Templates (#2075)

Co-authored-by: Flole998 <Flole998@users.noreply.github.com>
2 months ago idnode.c: unlock idnode on failed uuid_set
Enrico Lorenzoni [Mon, 9 Mar 2026 08:31:28 +0000 (08:31 +0000)] 
 idnode.c: unlock idnode on failed uuid_set

2 months agoFix cutlist extension handling for filenames without dots
Flole [Sun, 8 Mar 2026 01:35:57 +0000 (02:35 +0100)] 
Fix cutlist extension handling for filenames without dots

2 months agochannels: fix sort order in channel dropdown lists
Pim Zandbergen [Tue, 3 Mar 2026 16:34:24 +0000 (17:34 +0100)] 
channels: fix sort order in channel dropdown lists

Channel dropdowns such as "Reuse EPG from" in channel configuration,
and the channel selectors in DVR, autorec, timerec and service mapper,
all use channel_class_get_list() to build their property descriptor.

The descriptor lacked an stype field, causing the ExtJS data store in
idnode.js to re-sort the server-provided list alphabetically by the
displayed string after loading, regardless of the order delivered by
the API.

Fix by adding stype=none to the descriptor to preserve server sort
order, and explicitly requesting the appropriate sort from the API
based on the channel display configuration:

- With channel numbers enabled (chname_num): request sort=numname so
  channels are ordered numerically, matching the visible number prefix.
  Previously the ExtJS re-sort would produce alphabetical ordering on
  the prefixed strings, e.g. "1 ...", "10 ...", "2 ..." instead of
  "1 ...", "2 ...", "10 ...".

- With channel numbers disabled: request sort=name to preserve the
  existing alphabetical-by-name ordering that users without channel
  numbers would expect. This is a pure bug fix with no behaviour
  change for this configuration.

2 months agofix profile when overwritten by user with the wrong value
Ukn Unknown [Sat, 17 Jan 2026 02:49:30 +0000 (18:49 -0800)] 
fix profile when overwritten by user with the wrong value

- fix profile when overwritten by user with the wrong value
- related to the problem :  https://github.com/tvheadend/tvheadend/pull/1933#issuecomment-3392478998
- before transferring the profile to ffmpeg we confirm that profile is available.

2 months agofixes crash when user is forcing pix_fmt or when codec is not available
Ukn Unknown [Sun, 18 Jan 2026 00:44:32 +0000 (16:44 -0800)] 
fixes crash when user is forcing pix_fmt or when codec is not available

- fixes https://github.com/tvheadend/tvheadend/issues/1980
- in context.c I added two checks to ensure we don't search for a helper if codec is not available and is not trying to open (tvh_codec_profile_open()) --> this will create a panic.
- in order to avoid getting to that 'late point decision'; at am also checking if pix_fmt is available in ffmpeg before calling.
- if the user will try to force (from web interface) a different pix_fmt some warnings will be printed and video will not open.

2 months agoclean up low_power from vaapi
Ukn Unknown [Fri, 16 Jan 2026 17:29:47 +0000 (09:29 -0800)] 
clean up low_power from vaapi

- low power should be moved from tvh_codec_profile to tvh_codec_profile_vaapi_t after  https://github.com/tvheadend/tvheadend/pull/1996

2 months agoconfig.c: disable HDHomeRun configuration when not built in
Trujulu [Sun, 18 Jan 2026 14:58:25 +0000 (15:58 +0100)] 
config.c: disable HDHomeRun configuration when not built in

2 months agoFixed a typo in profile_video_class.c
Ukn Unknown [Mon, 19 Jan 2026 22:33:30 +0000 (14:33 -0800)] 
Fixed a typo in profile_video_class.c

- fixed a typo in profile_video_class.c

2 months agointl: Translate tvheadend.doc.pot in en_US
transifex-integration[bot] [Mon, 26 Jan 2026 13:43:47 +0000 (13:43 +0000)] 
intl: Translate tvheadend.doc.pot in en_US

100% translated source file: 'tvheadend.doc.pot'
on 'en_US'.

2 months agointl: Translate tvheadend.doc.pot in en_GB
transifex-integration[bot] [Mon, 26 Jan 2026 13:43:35 +0000 (13:43 +0000)] 
intl: Translate tvheadend.doc.pot in en_GB

100% translated source file: 'tvheadend.doc.pot'
on 'en_GB'.

2 months agointl: Translate intl/tvheadend.pot in en_US
transifex-integration[bot] [Mon, 26 Jan 2026 13:43:19 +0000 (13:43 +0000)] 
intl: Translate intl/tvheadend.pot in en_US

100% translated source file: 'intl/tvheadend.pot'
on 'en_US'.

2 months agointl: Translate intl/tvheadend.pot in en_GB
transifex-integration[bot] [Mon, 26 Jan 2026 13:43:01 +0000 (13:43 +0000)] 
intl: Translate intl/tvheadend.pot in en_GB

100% translated source file: 'intl/tvheadend.pot'
on 'en_GB'.

2 months agointl: Translate intl/js/tvheadend.js.pot in en_US
transifex-integration[bot] [Mon, 26 Jan 2026 13:42:00 +0000 (13:42 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_US

100% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_US'.

2 months agointl: Translate intl/js/tvheadend.js.pot in en_GB
transifex-integration[bot] [Mon, 26 Jan 2026 13:41:46 +0000 (13:41 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_GB

100% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_GB'.

2 months agointl: Translate intl/tvheadend.pot in en_US
transifex-integration[bot] [Mon, 12 Jan 2026 15:34:46 +0000 (15:34 +0000)] 
intl: Translate intl/tvheadend.pot in en_US

98% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in en_GB
transifex-integration[bot] [Mon, 12 Jan 2026 15:34:36 +0000 (15:34 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_GB

99% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in ko
transifex-integration[bot] [Mon, 12 Jan 2026 15:34:25 +0000 (15:34 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in ko

80% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'ko'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in pl
transifex-integration[bot] [Mon, 12 Jan 2026 15:34:16 +0000 (15:34 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pl

100% translated source file: 'intl/js/tvheadend.js.pot'
on 'pl'.

2 months agointl: Translate intl/js/tvheadend.js.pot in en_US
transifex-integration[bot] [Mon, 12 Jan 2026 15:34:06 +0000 (15:34 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_US

99% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in fr
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:58 +0000 (15:33 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in fr

96% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in et
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:49 +0000 (15:33 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in et

83% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'et'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:40 +0000 (15:33 +0000)] 
intl: Translate intl/tvheadend.pot in pl

100% translated source file: 'intl/tvheadend.pot'
on 'pl'.

2 months agointl: Translate intl/js/tvheadend.js.pot in es
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:30 +0000 (15:33 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in es

82% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'es'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in pt
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:23 +0000 (15:33 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pt

82% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'pt'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/tvheadend.pot in fr
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:14 +0000 (15:33 +0000)] 
intl: Translate intl/tvheadend.pot in fr

96% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/tvheadend.pot in en_GB
transifex-integration[bot] [Mon, 12 Jan 2026 15:33:06 +0000 (15:33 +0000)] 
intl: Translate intl/tvheadend.pot in en_GB

98% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agointl: Translate intl/js/tvheadend.js.pot in de
transifex-integration[bot] [Mon, 12 Jan 2026 15:32:58 +0000 (15:32 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in de

82% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'de'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

2 months agoautobuild: add trixie support for arm64 and armhf
Trujulu [Sat, 24 Jan 2026 18:26:55 +0000 (19:26 +0100)] 
autobuild: add trixie support for arm64 and armhf

2 months agoci: add Fedora 44 and shift rawhide handling to Fedora 45
copilot-swe-agent[bot] [Mon, 23 Feb 2026 01:39:04 +0000 (01:39 +0000)] 
ci: add Fedora 44 and shift rawhide handling to Fedora 45

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
2 months agoFix CMake build error with latest CMake 4.0 release
Ukn Unknown [Sun, 22 Feb 2026 20:06:12 +0000 (12:06 -0800)] 
Fix CMake build error with latest CMake 4.0 release

- Fix CMake build error with latest CMake 4.0 release
- Fix also CMake for MacOS

3 months agoupdate source URL for x265
Ukn Unknown [Mon, 26 Jan 2026 03:34:51 +0000 (19:34 -0800)] 
update source URL for x265

fixes https://github.com/tvheadend/tvheadend/issues/2057

3 months agofix: rename final stage in Containerfile to 'runner'
pejobo [Fri, 30 Jan 2026 18:44:32 +0000 (19:44 +0100)] 
fix: rename final stage in Containerfile to 'runner'

3 months agoadd pcre2 package before building, remove unnecessary libva-intel-driver installation
pejobo [Thu, 29 Jan 2026 14:19:21 +0000 (15:19 +0100)] 
add pcre2 package before building, remove unnecessary libva-intel-driver installation

3 months agoissue 2019: fix entrypoint, remove transcoding support (ffmpeg)
pejobo [Thu, 29 Jan 2026 13:23:04 +0000 (14:23 +0100)] 
issue 2019: fix entrypoint, remove transcoding support (ffmpeg)

3 months agoRevert "Fix DTS INT64_MIN issue by checking for PTS_UNSET after pts_diff() call"
Flole [Tue, 13 Jan 2026 19:16:16 +0000 (20:16 +0100)] 
Revert "Fix DTS INT64_MIN issue by checking for PTS_UNSET after pts_diff() call"

This reverts commit 31905c71a54d72f0a49cbfdcc43f4a16e8dc4eae.

3 months agoRevert "Implement recovery mechanism instead of dropping packets on PTS_UNSET"
Flole [Tue, 13 Jan 2026 19:16:16 +0000 (20:16 +0100)] 
Revert "Implement recovery mechanism instead of dropping packets on PTS_UNSET"

This reverts commit 00565cf302993d18ece15f6f2f77e5d87e1a5c35.

4 months agoUpdate Internationalisation Templates
Flole998 [Mon, 12 Jan 2026 02:53:35 +0000 (02:53 +0000)] 
Update Internationalisation Templates

4 months agowebui: access theme fixes
Trujulu [Thu, 8 Jan 2026 07:42:32 +0000 (08:42 +0100)] 
webui: access theme fixes

4 months agowebui: comet ws add reconnecting messages to tvheadend log
Trujulu [Wed, 7 Jan 2026 20:54:19 +0000 (21:54 +0100)] 
webui: comet ws add reconnecting messages to tvheadend log

4 months agowebui: update smoothie.js to v1.37
Trujulu [Wed, 7 Jan 2026 19:44:21 +0000 (20:44 +0100)] 
webui: update smoothie.js to v1.37

4 months agodescrambler.c: prevent ecmsec being freed while still linked
Trujulu [Thu, 8 Jan 2026 20:58:29 +0000 (21:58 +0100)] 
descrambler.c: prevent ecmsec being freed while still linked

4 months agomake auto error counter reset a global option instead of IPTV-specific
Trujulu [Tue, 6 Jan 2026 16:24:23 +0000 (17:24 +0100)] 
make auto error counter reset a global option instead of IPTV-specific

4 months agoadd missing locks and minor fixes
Trujulu [Tue, 6 Jan 2026 16:14:25 +0000 (17:14 +0100)] 
add missing locks and minor fixes

4 months agoAllow MUX retune after editing when tune_failed
Trujulu [Tue, 6 Jan 2026 11:41:48 +0000 (12:41 +0100)] 
Allow MUX retune after editing when tune_failed

Currently, when a MUX instance is marked as mmi_tune_failed, it is not being reset. Because of this, after editing the MUX and correcting its parameters, the MUX cannot be used anymore unless the system is restarted. This issue is addressed by setting mmi->mmi_tune_failed to 0 whenever the MUX is saved.

This can be easily reproduced by setting an out-of-range frequency on any Linux DVB tuner and then trying to play with the MUX settings.

4 months agofix some memory leaks
Trujulu [Sun, 4 Jan 2026 15:18:30 +0000 (16:18 +0100)] 
fix some memory leaks

-sbuf double initialization causes memory leak

-some missing variable destructions

4 months agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Mon, 5 Jan 2026 07:35:30 +0000 (07:35 +0000)] 
intl: Translate intl/tvheadend.pot in pl

100% translated source file: 'intl/tvheadend.pot'
on 'pl'.

4 months agointl: Translate intl/docs/tvheadend.doc.pot in fr
transifex-integration[bot] [Mon, 5 Jan 2026 05:22:06 +0000 (05:22 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in fr

95% of minimum 80% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/docs/tvheadend.doc.pot in pl
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:52 +0000 (05:21 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in pl

100% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'pl'.

4 months agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:41 +0000 (05:21 +0000)] 
intl: Translate intl/tvheadend.pot in pl

99% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'pl'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate tvheadend.doc.pot in en_US
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:30 +0000 (05:21 +0000)] 
intl: Translate tvheadend.doc.pot in en_US

97% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate tvheadend.doc.pot in en_GB
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:21 +0000 (05:21 +0000)] 
intl: Translate tvheadend.doc.pot in en_GB

97% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/tvheadend.pot in fr
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:14 +0000 (05:21 +0000)] 
intl: Translate intl/tvheadend.pot in fr

96% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/tvheadend.pot in en_US
transifex-integration[bot] [Mon, 5 Jan 2026 05:21:06 +0000 (05:21 +0000)] 
intl: Translate intl/tvheadend.pot in en_US

98% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/tvheadend.pot in en_GB
transifex-integration[bot] [Mon, 5 Jan 2026 05:20:56 +0000 (05:20 +0000)] 
intl: Translate intl/tvheadend.pot in en_GB

98% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agoUpdate Internationalisation Templates
Flole998 [Mon, 5 Jan 2026 02:49:36 +0000 (02:49 +0000)] 
Update Internationalisation Templates

4 months agoFix all incorrect 'Tvheadend' casing variants to use correct 'Tvheadend' (#1979)
Copilot [Fri, 2 Jan 2026 14:55:22 +0000 (15:55 +0100)] 
Fix all incorrect 'Tvheadend' casing variants to use correct 'Tvheadend' (#1979)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Flole <Flole998@users.noreply.github.com>
4 months agoAllow TVCT on ATSC-C muxes
Dennis [Thu, 14 Feb 2019 20:55:46 +0000 (15:55 -0500)] 
Allow TVCT on ATSC-C muxes

4 months agomain.c: fix disable tsfile
Pablo [Thu, 1 Jan 2026 11:27:06 +0000 (12:27 +0100)] 
main.c: fix disable tsfile

4 months agofix hdhomerun tuner release
Pablo [Sun, 28 Dec 2025 11:43:53 +0000 (12:43 +0100)] 
fix hdhomerun tuner release

4 months agoUpdate EPG sort helper functions.
DeltaMikeCharlie [Tue, 30 Dec 2025 10:06:05 +0000 (21:06 +1100)] 
Update EPG sort helper functions.

4 months agofix: use tini-static entrypoint
copilot-swe-agent[bot] [Tue, 30 Dec 2025 15:41:28 +0000 (15:41 +0000)] 
fix: use tini-static entrypoint

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
4 months agointl: Translate intl/docs/tvheadend.doc.pot in pl
transifex-integration[bot] [Mon, 15 Dec 2025 15:39:05 +0000 (15:39 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in pl

100% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'pl'.

4 months agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Mon, 15 Dec 2025 15:37:42 +0000 (15:37 +0000)] 
intl: Translate intl/tvheadend.pot in pl

100% translated source file: 'intl/tvheadend.pot'
on 'pl'.

4 months agointl: Translate intl/js/tvheadend.js.pot in pl
transifex-integration[bot] [Mon, 15 Dec 2025 15:37:27 +0000 (15:37 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pl

100% translated source file: 'intl/js/tvheadend.js.pot'
on 'pl'.

4 months agointl: Translate intl/js/tvheadend.js.pot in en_US
transifex-integration[bot] [Mon, 15 Dec 2025 14:27:39 +0000 (14:27 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_US

99% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/docs/tvheadend.doc.pot in fr
transifex-integration[bot] [Mon, 15 Dec 2025 14:27:27 +0000 (14:27 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in fr

95% of minimum 80% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in pl
transifex-integration[bot] [Mon, 15 Dec 2025 14:27:13 +0000 (14:27 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pl

99% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'pl'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/docs/tvheadend.doc.pot in pl
transifex-integration[bot] [Mon, 15 Dec 2025 14:26:51 +0000 (14:26 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in pl

98% of minimum 80% translated source file: 'intl/docs/tvheadend.doc.pot'
on 'pl'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in es
transifex-integration[bot] [Mon, 15 Dec 2025 14:26:35 +0000 (14:26 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in es

83% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'es'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in fr
transifex-integration[bot] [Mon, 15 Dec 2025 14:26:22 +0000 (14:26 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in fr

97% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in ko
transifex-integration[bot] [Mon, 15 Dec 2025 14:26:10 +0000 (14:26 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in ko

80% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'ko'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/tvheadend.pot in fr
transifex-integration[bot] [Mon, 15 Dec 2025 14:26:00 +0000 (14:26 +0000)] 
intl: Translate intl/tvheadend.pot in fr

96% of minimum 80% translated source file: 'intl/tvheadend.pot'
on 'fr'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in en_GB
transifex-integration[bot] [Mon, 15 Dec 2025 14:25:50 +0000 (14:25 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in en_GB

99% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate tvheadend.doc.pot in en_GB
transifex-integration[bot] [Mon, 15 Dec 2025 14:25:40 +0000 (14:25 +0000)] 
intl: Translate tvheadend.doc.pot in en_GB

97% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_GB'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate tvheadend.doc.pot in en_US
transifex-integration[bot] [Mon, 15 Dec 2025 14:25:27 +0000 (14:25 +0000)] 
intl: Translate tvheadend.doc.pot in en_US

97% of minimum 80% translated source file: 'tvheadend.doc.pot'
on 'en_US'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in pt
transifex-integration[bot] [Mon, 15 Dec 2025 14:25:11 +0000 (14:25 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pt

83% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'pt'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format

4 months agointl: Translate intl/js/tvheadend.js.pot in et
transifex-integration[bot] [Mon, 15 Dec 2025 14:25:02 +0000 (14:25 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in et

83% of minimum 80% translated source file: 'intl/js/tvheadend.js.pot'
on 'et'.

Sync of partially translated files:
untranslated content is included with an empty translation
or source language content depending on file format