Rolling Release Change Log

Release: 4.3-2432~g0af87f13f (2025-07-21)

transcode: add advanced options for deinterlacing

This patch exposes additional configuration options for the deinterlace_vaapi (hardware) and yadif (software) deinterlace filters:

  • Deinterlace rate type (rate): frame or field

  • Deinterlace fields only (auto): only deinterlace interlaced fields

  • VAAPI Deinterlace mode (mode): Bob, Weave, MADI, MCDI (for VAAPI only)

These options allow the transcode deinterlace configuration to be fine-tuned. Most notably, the deinterlace filters can now be configured with field-rate deinterlacing, which causes (for example) 25fps interlaced input at a 90kHz timebase to produce 50fps output with a 180kHz timebase.

To maintain MPEG-TS compliance, the output timebase is fixed at 90kHz, and both the adjusted output frame rate (e.g. 50fps) and frame timestamps are rescaled accordingly before encoding. For accuracy, this rescaling is performed dynamically using libav functions such as av_rescale_q(), based on the timebase of the final filter in the AVFilterContext chain and the timebase of the output AVCodecContext. This approach supports fractional frame rates and remains robust against future changes to the filter configuration, including various combinations of deinterlace options.

When field-rate deinterlacing is selected, this produces frames with (for example) correct timing of 50fps playback in a 90kHz container, ensuring that the transcoded output stream preserves the intended cadence and temporal fidelity of the original interlaced source.

GitHub commit details... (2025-07-21)


Release: 4.3-2431~gb9d34f913 (2025-07-20)

move filter_hw_denoise and filter_hw_sharpness to tvh_codec_profile_video

fixes: https://github.com/tvheadend/tvheadend/issues/1818 also fixes a logical define bug: filter_denoise and filter_sharpness should be transferred for all HW accels (not only for VAAPI)

GitHub commit details... (2025-07-20)


Release: 4.3-2430~gda9fa6032 (2025-07-18)

Add Season number and Episode number to file name formatting strings.

GitHub commit details... (2025-07-18)


Release: 4.3-2428~ge065d661a (2025-07-17)

Implement age ratings on XMLTV

Update xmltv.c

Apply suggestion from @Copilot

Test for epgdb_processparentallabels to avoid false positives

Add branch in case rating_label exists but system is null

Fallback to rl_display_age before rl_age

Co-Authored-By: Copilot [email protected]

GitHub commit details... (2025-07-16)


Release: 4.3-2429~g5ff6128c7 (2025-07-17)

Add Scene Markers to recordings at scheduled EPG event start/stop times.

GitHub commit details... (2025-07-17)


Release: 4.3-2427~gaaf31d964 (2025-07-16)

Fix builds on debian buster

GitHub commit details... (2025-07-16)


Release: 4.3-2426~gd1fb6da0a (2025-07-12)

Fix broken squash-autocomment

GitHub commit details... (2025-07-11)


Release: 4.3-2425~gd431956cc (2025-07-05)

Add 'sudo make install' to the Linux build notes.

GitHub commit details... (2025-07-05)


Release: 4.3-2424~gbfcc00142 (2025-07-03)

Cloudsmith supports fedora 42 now

GitHub commit details... (2025-07-03)


Release: 4.3-2423~gea3d32791 (2025-06-27)

Update coverity secret check to new ENV file

GitHub commit details... (2025-06-27)


Release: 4.3-2422~g61d728e1a (2025-06-21)

Update online help text

Format Strings used in DVR Profiles cannot be used when creating Autorecs. See Forum issue 9160.

GitHub commit details... (2025-06-21)


Release: 4.3-2421~g730718c28 (2025-06-12)

fix memory leak 3 - transcoding

  • fix memory leak 3 - transcoding

GitHub commit details... (2025-06-12)


Release: 4.3-2418~gf7edaf48c (2025-06-10)

Recognize checkbox for feature proposals properly

GitHub commit details... (2025-06-10)


Release: 4.3-2419~g7bbbe57e9 (2025-06-10)

User's DVR Configuration profile not used when scheduling recordings via HTSP

GitHub commit details... (2025-06-10)


Release: 4.3-2420~g19026f320 (2025-06-10)

remove coded_width and coded_height from encoding

according to AVCodecContext documentation this is only used for decoding, oavctx is used for encoding

GitHub commit details... (2025-06-10)


Release: 4.3-2417~g42ed6affc (2025-06-09)

Add missing coverity env

GitHub commit details... (2025-06-09)


Release: 4.3-2416~g09a06f11a (2025-06-09)

Fix coverity builds

GitHub commit details... (2025-06-09)


Release: 4.3-2414~gc4ce95ab9 (2025-06-06)

repo: cleanup CONTRIBUTING.md

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2025-06-06)


Release: 4.3-2412~gaadcc3a8d (2025-06-06)

intl: js: change freenode to Libera.Chat

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2025-06-06)


Release: 4.3-2415~g56d23c872 (2025-06-06)

ci: disable coverity on forks

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2025-06-06)


Release: 4.3-2410~g808a87a6a (2025-06-04)

HTSP: Expose is_new flag in EPG event data

This commit adds the is_new flag to the EPG event data sent to HTSP clients. By including this property, clients such as Kodi (with the pvr.hts addon) can now detect whether a broadcast is marked as new and set corresponding flags (e.g. EPG_TAG_FLAG_IS_NEW in Kodi).

This enhances the metadata available to clients and supports improved EPG event handling and display.

A corresponding pull request will also be submitted to the pvr.hts project to make use of this flag when obtaining EPG event guide data from Tvheadend.

GitHub commit details... (2025-06-04)


Release: 4.3-2409~g0f74b0ab0 (2025-06-04)

Coverity CID 552897

GitHub commit details... (2025-06-04)


Release: 4.3-2405~g8d469350f (2025-06-02)

Add API call 'status/activity'.

GitHub commit details... (2025-06-02)


Release: 4.3-2408~g85360924d (2025-06-02)

transcode: gracefully handle common hardware decoder errors

When using VAAPI hardware decoding, certain malformed or corrupt frames at the start of the stream may cause the ffmpeg h/w decoder to emit AVERROR(EIO) or AVERROR(EINVAL) early in the picture decoding phase.

In these cases, libav will log errors such as:

[ ERROR]:libav: AVCodecContext: Failed to upload decode parameters: 18 (invalid parameter). [ ERROR]:libav: AVCodecContext: Failed to end picture decode after error: 18 (invalid parameter). [ ERROR]:libav: AVCodecContext: hardware accelerator failed to decode picture

Currently, Tvheadend treats these errors as fatal, resulting in the transcoder stream being torn down via tvh_stream_stop() and interrupting client playback, typically leaving only audio and a black screen.

While this behavior is somewhat tolerable during live TV viewing—where the user can manually resolve the issue by changing channels—it is significantly more disruptive in recording scenarios, as it results in recordings containing only audio and no video.

However, when the same streams are run directly through FFmpeg’s CLI, FFmpeg does not abort on these errors — it logs them and continues transcoding. This makes FFmpeg's failure handling more robust than Tvheadend's.

To identify which errors should be considered recoverable, the transcoder was instrumented to log the exact AVERROR codes encountered during decoding failures. A stress test was then run using a channel-hopping script that switched channels every 5 seconds over several hours. The failure rate was approximately 1%, and in all cases, the decoding failures were either AVERROR(EIO) or AVERROR(EINVAL). Allowing the stream to continue after these specific errors proved effective — playback resumed, and only a minor picture glitch was visible at the affected frame, with no need to tear down the video stream.

This patch updates tvh_context_decode() to include AVERROR(EIO) and AVERROR(EINVAL) in the list of tolerated decode errors, aligning Tvheadend's behavior with FFmpeg’s more forgiving approach.

FFmpeg’s internal decoder logic in vaapi_h264.c and decode.c supports this tolerance model. For example, in decode_simple_internal() and submit_frame(), errors like EIO may occur during av_hwframe_transfer_data() or vaEndPicture(), but are not considered fatal. Instead, FFmpeg logs the issue and decoding continues on the next frame.

GitHub commit details... (2025-06-02)


Release: 4.3-2406~g128854638 (2025-06-02)

fix for video stream detection

PR https://github.com/tvheadend/tvheadend/pull/1772 is not covering all video streams. The proper implementation is to use the macro SCT_ISVIDEO()

GitHub commit details... (2025-06-02)


Release: 4.3-2404~gc0c55c783 (2025-05-27)

fix memory leak 2 - transcoding

fix memory leak 2 - transcoding

GitHub commit details... (2025-05-27)


Release: 4.3-2403~g532c2a71f (2025-05-27)

fix dead error condition

Fixes coverity scan issues: 462150

GitHub commit details... (2025-05-27)


Release: 4.3-2402~gede23be0d (2025-05-26)

add mpegts parameters from input stream

  • add service_name, service_provider, mpegts_transport_id, mpegts_service_type, mpegts_pmt_start_pid, mpegts_start_pid, mpegts_service_id, mpegts_original_service_id

  • allow user to select mpeg ts sid (same like pass profile)

GitHub commit details... (2025-05-25)


Release: 4.3-2401~g27b12a92d (2025-05-25)

fix memory leak - transcoding

Fixes coverity scan issues: 551230, 551229, 507422 and 507421

GitHub commit details... (2025-05-25)


Release: 4.3-2400~g1a3ca885a (2025-05-25)

Fix recording thread freeze when unable to create unique file name.

GitHub commit details... (2025-05-25)


Release: 4.3-2399~g26a14aa31 (2025-05-23)

MKV Tags - Change rating label. Add Sub-title and Comment.

GitHub commit details... (2025-05-23)


Release: 4.3-2398~g7e1f9caa9 (2025-05-22)

fix memory leak

Fixes: https://github.com/tvheadend/tvheadend/issues/1749

GitHub commit details... (2025-05-22)


Release: 4.3-2397~gebac08749 (2025-05-20)

video hw accel should only be applied for video streams

Fixes: https://github.com/tvheadend/tvheadend/issues/1827

GitHub commit details... (2025-05-20)


Release: 4.3-2395~g75119b6e9 (2025-05-19)

Update VAAPI transcoding as recommended by ffmpeg 6.1.1/doc/examples/… (#1792)

Update VAAPI transcoding as recommended by ffmpeg 6.1.1/doc/examples/vaapi_*.c

GitHub commit details... (2025-05-19)


Release: 4.3-2396~g36ba82848 (2025-05-19)

Add Sub-Title Processing Options for DVB OTA EPG

GitHub commit details... (2025-05-19)


Release: 4.3-2394~g7da199b61 (2025-05-18)

update audio abuffersink from deprecated channel_layouts to ch_layouts and deprecated FF_PROFILE_* --> AV_PROFILE_*

update audio abuffersink from deprecated channel_layouts to ch_layouts and deprecated FF_PROFILE_* --> AV_PROFILE_*

GitHub commit details... (2025-05-18)


Release: 4.3-2393~g221400c9f (2025-05-17)

iptv: handle relative key URL

GitHub commit details... (2025-05-17)


Release: 4.3-2392~g03272650d (2025-05-15)

[Docker]: Tag alpine master as latest

GitHub commit details... (2025-05-15)


Release: 4.3-2390~gcf2929259 (2025-05-14)

allow NVENC, VAAPI and MMAL to coexist in the same build

  • allow NVENC, VAAPI and MMAL to coexist in the same build.

  • give the user the capability for prioritize hw decoder or to match the hw decoder with hw encoder

  • refactor source code: remove duplicate source code in codec.js

GitHub commit details... (2025-05-14)


Release: 4.3-2388~gcebe61590 (2025-05-14)

wizard: increase buffer size to silence -Wformat-truncation on GCC 15

GCC 15.1 introduces stricter checks around snprintf-like functions under -Wformat-truncation, even when the format string itself is under developer control. This triggers a false positive in hello_changed() when building with -Werror=format-truncation:

error: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Werror=format-truncation=]

note: output between 1 and 33 bytes into a destination of size 32

This warning is triggered due to a theoretical edge case in tvh_strlcatf() where combining strings like "en,fr,de" could approach the buffer limit of 32 bytes. While truncation is unlikely in practice, the warning is still emitted aggressively by the new FORTIFY logic.

Increase the buffer from 32 to 64 bytes to silence the warning and ensure headroom. This avoids having to disable the diagnostic, while still keeping the logic and usage intact. This is a defensive fix with no behavioral change, and aligns with similar mitigations used in other projects facing the same issue with GCC >= 13 and especially 15+.

Tested with GCC 15.1.1, built cleanly.

Refs:

  • https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108231

  • https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/Warning-Options.html#index-Wformat-truncation

GitHub commit details... (2025-05-13)


Release: 4.3-2391~gbdec3c501 (2025-05-14)

fix read/write of PT_DYN_INT

PT_DYN_INT should be read and write as int (32 bits)

GitHub commit details... (2025-05-14)


Release: 4.3-2389~g13804ab50 (2025-05-14)

Show recording file name

GitHub commit details... (2025-05-14)


Release: 4.3-2387~gdf4eaf8e1 (2025-05-13)

Fix crash when updating 'disp_summary'

GitHub commit details... (2025-05-13)


Release: 4.3-2382~gda1ac73b9 (2025-05-13)

Global setting for 'Items per page'

GitHub commit details... (2025-05-13)


Release: 4.3-2379~gcc07e3471 (2025-05-13)

lovcombo-all.js: Fix autorec create/edit TypeError with Firefox 134 (#1786)

Firefox 134 added the RegExp.escape() method (https://tc39.es/proposal-regex-escaping/#sec-regexp.escape) with a standards-compliant implementation that throws TypeError if any value other than a String is passed in. This differs from the existing polyfill that simply returns the argument unmodified if it isn't a String. In TVHeadend, the day-of-the-week selector (as used in the Autorec and Timer configuration) uses Integers as keys for options, causing an Integer to get passed to RegExp.escape() on line 300 of lovcombo-all.js. Because of the non-standards- compliant permissive behavior of the polyfill, this previously didn't cause an issue. However, with Firefox 134 (and an upcoming version of Safari), the added standards-compliant method causes a TypeError to be thrown on every attempt to create or edit a timer or autorec, causing the edit window to not be shown. To solve the issue, pass the response from r.get(this.valueField) through the String() constructor to ensure anything that gets passed in is a String. This has been tested with Firefox and Chrome with both Integer and String keys.

GitHub commit details... (2025-05-13)


Release: 4.3-2386~gba243eaf3 (2025-05-13)

Translation for 'en_US' updated. intl: Translate tvheadend.doc.pot in en_US

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

GitHub commit details... (2025-05-13)


Release: 4.3-2378~gab81dce3e (2025-05-13)

Fix Cloudsmith uploads

GitHub commit details... (2025-05-12)


Release: 4.3-2380~g728885fbe (2025-05-13)

httpc.c: Fix HTTPS with OpenSSL 3.5 (#1813)

The TLS Client Hello message is larger in OpenSSL 3.5 and will not fit in the previous hc_io_size of 1024 bytes. This causes the TLS Client Hello message to be truncated, resulting in HTTPS requests stalling and eventually timing out. To fix this, increase hc_io_size to 2048 bytes.

GitHub commit details... (2025-05-13)


Release: 4.3-2381~g0eea8a59f (2025-05-13)

Remove links to old Wiki (#1793)

  • Remove links to old Wiki. Fixes #1660 Also remove references to CIC and CLA, and other content where a more recent version exists on the documentation site.

  • Remove more obsolete links.

GitHub commit details... (2025-05-13)


Release: 4.3-2375~g653bd0400 (2024-11-13)

Check for hidden fields before reading them. Fixes #1782.

GitHub commit details... (2024-11-12)


Release: 4.3-2372~gb69dac929 (2024-10-08)

iptv: allow to limit UDP ports for unicast inputs

GitHub commit details... (2024-10-08)


Release: 4.3-2374~g26ec161fb (2024-10-08)

Translation for 'en_US' updated. intl: Translate intl/tvheadend.pot in en_US

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

GitHub commit details... (2024-10-08)


Release: 4.3-2371~geee5cdadf (2024-10-05)

update libvpx v.1.14.1

update libvpx v.1.14.1 remove previous patch (from 1.14.0)

GitHub commit details... (2024-10-05)


Release: 4.3-2370~g28de5c092 (2024-09-28)

Fix - Audio transcoding not working #1663

src/transcoding/transcode/helpers.c : pktbuf_len(self->input_gh)) will be 0 (empty) so will return error -11 (AVERROR(EAGAIN) for audio streams.

GitHub commit details... (2024-09-28)


Release: 4.3-2369~g05c3170ae (2024-09-28)

Add start timeout to streaming profile

This allows overriding the hardcoded grace period of 20 seconds. It should address the problems described in [1][2].

In addition, timeout code has been slightly refactored for readability and more debug logging.

[1] https://tvheadend.org/d/8330-increase-timeout-when-tuning-iptv-mux/2 [2] https://tvheadend.org/d/8158-several-problems-questions-about-using-tvheadend-starting-with-not-waiting-long-enoough-for-stream-to-begin

GitHub commit details... (2024-09-28)


Release: 4.3-2367~g9dec5b585 (2024-09-23)

fixes #1733

GitHub commit details... (2024-09-23)


Release: 4.3-2368~g55404da6c (2024-09-23)

Remove HTSP client version test for rating labels and string UUIDs

GitHub commit details... (2024-09-23)


Release: 4.3-2366~g9ac57a0c1 (2024-09-06)

bouquet: fix overzealous channel removals in merged multi-network setup

GitHub commit details... (2024-09-06)


Release: 4.3-2364~g4aff54328 (2024-09-06)

HTSP: deliver 'comment' with autorecEntry(Add|Update), timerecEntry(Add|Update). Allow setting 'comment' with 'updateDvrEntry'.

GitHub commit details... (2024-09-06)


Release: 4.3-2365~g2e92208c3 (2024-09-06)

Fixup updating comment in _dvr_entry_update. Only overwrite existing title if comment is not NULL. Follows the same logic now as other updates done in this function.

GitHub commit details... (2024-09-06)


Release: 4.3-2363~g18ff23f90 (2024-09-06)

Add country and authority to HTPS messages containing rating labels.

GitHub commit details... (2024-09-06)


Release: 4.3-2361~gdd82541c4 (2024-08-28)

HTSP: Expose DVR configuration id in 'dvrEntryAdd', 'dvrEntryUpdate', 'autorecEntryAdd', 'autorecEntryUpdate', 'timerecEntryAdd', 'timerecEntryUpdate'.

GitHub commit details... (2024-08-28)


Release: 4.3-2359~gfc5a1672e (2024-08-25)

HTSP: Expose broadcast type in 'autorecEntryAdd' and 'autorecEntryUpdate'. Handle broadcast type in 'addAutorecEntry' and 'updateAutorecEntry'.

GitHub commit details... (2024-08-25)


Release: 4.3-2360~g266d03527 (2024-08-25)

Fix mapping HTSP field 'broadcastType' to internal field. Must be 'btype'.

GitHub commit details... (2024-08-25)


Release: 4.3-2358~gfacbd4e4b (2024-08-24)

Fix FTBFS introduced by 76d8fc8bc5455322558c764c84755ebbba254ad5

Older versions of GCC don't like declaring a variable in the middle of a switch/case and will fail with "error: a label can only be part of a statement and a declaration is not a statement".

GitHub commit details... (2024-08-24)


Release: 4.3-2357~g3bb78afa4 (2024-08-23)

fix bug in AAC channel layout configuration tab

fix bug in AAC channel layout configuration tab There are few issues:

  1. first entry in combo should be AUTO (with value 0) - in original code was set to 1 (and overwritten later)

  2. l->nb_channel is not the best way to cycle though layouts available. At the end I think is accessing some region outside of the struct (because I see is lopped also after 7.1). The way I knew how to fix was to add the filter (l->nb_channels < 32). Maybe changing the while to for will be a better option.

  3. av_channel_layout() is returning the length of the string ... we should use l_buf only when retuned value > 0 ... when is < 0 l_buf was not updated.

GitHub commit details... (2024-08-23)


Release: 4.3-2356~g267aef151 (2024-08-23)

HTSP: Expose service provider name with channel information.

GitHub commit details... (2024-08-22)


Release: 4.3-2355~gf20e38dae (2024-08-22)

Update Fedora versions for cloudsmith uploads

GitHub commit details... (2024-08-22)


Release: 4.3-2354~gadef81b8d (2024-08-12)

Update linuxdvb_satconf.c - lnb poweroff requires power save

Extend description to make it clear that lnb_poweroff also requires "power save" setting.

GitHub commit details... (2024-08-12)


Release: 4.3-2353~g76d8fc8bc (2024-08-12)

update vaapi - vainfo

  • add enable vainfo detection checkbox in config

  • defined PT_DYN_INT to load integer field from function

  • PT_DYN_INT must be paired with dyn_i

  • show only VAAPI codecs advertised by vainfo

  • defined two invisible fields: ui and uilp used for UI enable/disable features

  • check if bitrate is greater than max_bitrate (fix to avoid tvh crash)

  • vp8, vp9 separate Global Quality from Quality

  • load quality and max B frames filters from vainfo

  • UI has several constrains or warnings implemented using vainfo

  • separated 'b_depth' from 'bf'

GitHub commit details... (2024-08-12)


Release: 4.3-2352~g49ac93871 (2024-08-10)

Enforce issue templates on GitHub

GitHub commit details... (2024-08-10)


Release: 4.3-2351~g078a822cf (2024-08-04)

Replace deprecated channels/channel_layout

GitHub commit details... (2024-08-04)


Release: 4.3-2349~gb774bdd25 (2024-07-21)

Translation for 'en_US' updated. intl: Translate intl/js/tvheadend.js.pot in en_US

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

GitHub commit details... (2024-07-21)


Release: 4.3-2347~g1dc8ffe78 (2024-07-14)

Rework fullscreen request method detection

GitHub commit details... (2024-07-13)


Release: 4.3-2346~g457c02d30 (2024-07-13)

Add dependency for recent Fedora versions

GitHub commit details... (2024-07-13)


Release: 4.3-2344~gd2e41b553 (2024-06-27)

Remove tvheadend user on purge

This fixes #1722 on my test system.

GitHub commit details... (2024-06-27)


Release: 4.3-2343~g1644b6e15 (2024-06-27)

Refactor null value handling.

GitHub commit details... (2024-06-27)


Release: 4.3-2342~g128d6861f (2024-06-25)

Replace deprecated interlaced_frame, top_field_first and key_frame

GitHub commit details... (2024-06-25)


Release: 4.3-2338~gfd61453da (2024-06-23)

Remove useless NULL-assignment in http.c

Found by coverity

GitHub commit details... (2024-06-23)


Release: 4.3-2339~gcd6bfbb0b (2024-06-23)

Fix potential null-pointer dereference in muxer_mkv.c

GitHub commit details... (2024-06-23)


Release: 4.3-2340~gc8435a098 (2024-06-23)

Remove useless NULL-check in ratinglabels.c

Found by coverity

GitHub commit details... (2024-06-23)


Release: 4.3-2337~ge855f62e6 (2024-06-18)

Use safer htsmsg_add_str2 when copying de->de_directory

de->de_directory may be null. htsmsg_add_str passes str unchecked to underlying strlen function. __strlen_avx2 will segfault if str is null.

htsmsg_add_str2 checks the value of args before passing them to htsmsg_add_str, which should prevent this.

Fixes #1712

GitHub commit details... (2024-06-18)


Release: 4.3-2336~g366e56290 (2024-06-15)

XMLTV: Rating Labels: Use 'NONE' when 'system' attribute is missing

GitHub commit details... (2024-06-15)


Release: 4.3-2335~gf15f05761 (2024-06-07)

Allow setting a custom grace period for LinuxDVB adapters

When using Astrometa to tune to DVB-T2 muxes in Poland, the scans are reported as complete but the found services have zero elementary services due to the scan period being too short in order to fetch PMTs.

This change allows overriding the default grace period of 5 seconds with a custom value. I successfully scanned all services with this setting changed to 15 for this particular adapter/mux combination.

GitHub commit details... (2024-06-06)


Release: 4.3-2327~ge6b1d5ffb (2024-06-06)

Extend CORS origin help/hover message

Clarify that the value should be a URL, prefixed with http:// or https://, and not "bare" domains, which currently silently fail to save. Fixes (partially) #1700.

GitHub commit details... (2024-06-06)


Release: 4.3-2326~g6c5c8eae4 (2024-06-06)

dvr: Added missing directory to rerecord-entry

Previously if you had a directory set on a recording and this recording needed to be rerecorded, the directory was not kept in the new entry.

GitHub commit details... (2024-06-06)


Release: 4.3-2334~g552f9414e (2024-06-06)

Always compile x265 as PIC

GitHub commit details... (2024-06-06)


Release: 4.3-2325~g3ac184725 (2024-06-06)

tvhdhomerun: Add ISDB to type check in tvhdhomerun_device_create

This commit adds support for ISDB in the type check of the tvhdhomerun_device_create function in tvhdhomerun.c. This allows the function to handle ISDB type devices, which previously would have been changed to a DVB device on startup every time despite overrides.

GitHub commit details... (2024-06-05)


Release: 4.3-2324~g543236118 (2024-06-05)

Docker/Alpine: Remove USB group

The USB group has been removed from upstream alpine in commit bb00d0e4f345 ("main/alpine-baselayout: remove mem and usb group") which was a fixup on commit f16d0754d601 ("main/alpine-baselayout: remove unused/moved users and groups")

Lets remove it here as well as we cannot join the group any longer.

Besides, device access is probably better managed with host specific udev rules.

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2024-06-05)


Release: 4.3-2322~gc42043188 (2024-04-26)

Correct M3U playlist logo tag

GitHub commit details... (2024-04-26)


Release: 4.3-2323~g73a6bd00d (2024-04-26)

Fix echo target for superuser file in Debian postinst

aba5e60792177d6a2a867445559f4806973b3258 was causing the username and password to get printed to the console instead of being put in the correct file. Also, use the modern $() syntax instead of `` and quote all variable assignments.

GitHub commit details... (2024-04-26)


Release: 4.3-2321~gaba5e6079 (2024-04-25)

Properly escape json in setup

GitHub commit details... (2024-04-25)


Release: 4.3-2320~gaaccc147e (2024-04-25)

satip: Ignore additional parameters

Instead or erroring, ignore additional parameters, as required by the specs in 3.5.11 where it says "Unknown attributes shall be ignored by the server"

GitHub commit details... (2024-04-24)


Release: 4.3-2319~ga68d340a8 (2024-04-21)

configure: fix parsing args if values contain "="

Currently, when the value of an option passed to the configure script as argument contains an equal sign "=", the part of the string up to the second equal sign is used as option. This commit changes how the string is split, so that always only the part up to the first equal sign is interpreted as option.

"${var%=}" removes everything from the last equal sign, "${var%%=}" removes everything from the first equal sign.

This allows to pass CFLAGS, which usually contain equal signs, like "--cflags=-march=armv6 -mfloat-abi=hard -mfpu=vfp"

For reference: https://github.com/tvheadend/tvheadend/issues/1665

Signed-off-by: MichaIng [email protected]

GitHub commit details... (2024-04-20)


Release: 4.3-2318~gb10058507 (2024-04-20)

Update WebUI to allow debug/trace subsystem selection from a list.

GitHub commit details... (2024-04-20)


Release: 4.3-2317~g223f83b6e (2024-04-13)

Add subsystems to JSON API.

GitHub commit details... (2024-04-13)


Release: 4.3-2316~g4874aaa31 (2024-04-08)

Fix detection of unknown version numbers in support/version

Fixes: #1683

GitHub commit details... (2024-04-08)


Release: 4.3-2314~gcbaf2b1de (2024-03-24)

webui: Fix year being replaced incorrectly when using custom date format

fixes regression in 2ca8a19

GitHub commit details... (2024-03-24)


Release: 4.3-2315~gab6ea89b1 (2024-03-24)

Update manpage

  • Replace freenode with libera

  • Change copyright info

GitHub commit details... (2024-03-24)


Release: 4.3-2313~gc63115464 (2024-03-22)

Translation for 'pl' updated. intl: Translate intl/docs/tvheadend.doc.pot in pl

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

GitHub commit details... (2024-03-22)


Release: 4.3-2312~g19c502b15 (2024-03-18)

Translation for 'pl' updated. 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

GitHub commit details... (2024-03-18)


Release: 4.3-2300~g1212b940b (2024-03-14)

Update README.md

Existing (page not found) : https://cloudsmith.io/tvheadend/tvheadend

New: https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/

GitHub commit details... (2024-03-14)


Release: 4.3-2299~g79aaa1434 (2024-03-09)

CI: remove NODIRTY option as those builds may be dirty

GitHub commit details... (2024-03-09)


Release: 4.3-2298~ge287b2fc6 (2024-03-08)

Revert accidental package renaming

GitHub commit details... (2024-03-08)


Release: 4.3-2296~gba3b5e56f (2024-03-08)

Create special tvheadend-armv6l and tvheadend-dbg-armv6l packages

Fixes: #1665

GitHub commit details... (2024-03-08)


Release: 4.3-2295~g4d5166ca4 (2024-03-07)

Translation for 'pl' updated. intl: Translate intl/tvheadend.pot in pl

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

GitHub commit details... (2024-03-07)


Release: 4.3-2292~g9ac61d767 (2024-03-03)

update to libvpx 1.14.0-patch

added patch

GitHub commit details... (2024-03-03)


Release: 4.3-2290~gae97d5bc5 (2024-03-01)

ci: added more info logging to cloudsmith.sh

GitHub commit details... (2024-03-01)


Release: 4.3-2291~ga9c6db8ac (2024-03-01)

Improve autorec duplicate handling

GitHub commit details... (2024-03-01)


Release: 4.3-2289~g7e694e3c0 (2024-03-01)

Translation for 'pl' updated. intl: Translate intl/js/tvheadend.js.pot in pl

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

GitHub commit details... (2024-03-01)


Release: 4.3-2286~gae51d24fe (2024-02-24)

Replace broken links, update copyright year

GitHub commit details... (2024-02-23)


Release: 4.3-2285~g8b429efb7 (2024-02-23)

Translation for 'pl' updated. intl: Translate intl/tvheadend.pot in pl

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

GitHub commit details... (2024-02-23)


Release: 4.3-2268~ga8f525f36 (2024-02-22)

Run enforce-pr-rebase whenever a PR is updated

GitHub commit details... (2024-02-21)


Release: 4.3-2269~g9b88c2502 (2024-02-22)

Translation for '(#1655)' updated. transifex: Updates for project Tvheadend and language pl (#1655)

  • intl: Translate intl/js/tvheadend.js.pot in pl

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

  • intl: Translate intl/tvheadend.pot in pl

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

  • intl: Translate intl/js/tvheadend.js.pot in pl

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

  • intl: Translate intl/js/tvheadend.js.pot in pl

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

  • intl: Translate intl/tvheadend.pot in pl

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

  • intl: Translate intl/js/tvheadend.js.pot in pl

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

  • intl: Translate intl/tvheadend.pot in pl

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


Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>

GitHub commit details... (2024-02-22)


Release: 4.3-2271~g7acca01c4 (2024-02-22)

Give comment-on-labels.yml permissions to write to PRs

GitHub commit details... (2024-02-22)


Release: 4.3-2270~g60bd9dce6 (2024-02-22)

Add OpenCollective donate link to Wizard

GitHub commit details... (2024-02-22)


Release: 4.3-2266~ge02e812ee (2024-02-21)

Make sure we spawn the best matching executable and not the first match

Fixes: #1632

GitHub commit details... (2024-02-21)


Release: 4.3-2258~gc7a63e7e3 (2024-02-21)

Replace poison memset by memset_s to avoid compiler optimizing it out

GitHub commit details... (2024-02-20)


Release: 4.3-2264~gb8bd16726 (2024-02-21)

Translation for 'pl' updated. intl: Translate intl/tvheadend.pot in pl

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

GitHub commit details... (2024-02-20)


Release: 4.3-2265~g41a326bce (2024-02-21)

ci: change CLOUDSMITH_OWNER from a var to a secret

GitHub commit details... (2024-02-21)


Release: 4.3-2267~g0d26809e3 (2024-02-21)

Fix Auto-PR comment on squash-label

GitHub commit details... (2024-02-21)


Release: 4.3-2256~gdf46dea35 (2024-02-20)

Add some ERRNOs for DVR & Config

GitHub commit details... (2024-02-20)


Release: 4.3-2254~gc3a7ce11c (2024-02-20)

Add missing tvheadend-prefix in JS file

Fixes 2ca8a19e4c8761af1a6653fed09af658e9cd5b67

GitHub commit details... (2024-02-19)


Release: 4.3-2257~g771504eb3 (2024-02-20)

Show SeriesLink for AutoRecs

GitHub commit details... (2024-02-20)


Release: 4.3-2255~g595bbaad5 (2024-02-20)

Shorten time for stale issues before a warning is applied

GitHub commit details... (2024-02-19)


Release: 4.3-2252~g4430ee70f (2024-02-19)

Add missing htmsg_destroy() call in hdhomerun_server_discover

GitHub commit details... (2024-02-19)


Release: 4.3-2253~g2ca8a19e4 (2024-02-19)

Add support for 12-hour custom date formats

GitHub commit details... (2024-02-19)


Release: 4.3-2251~g2b0b6a4c4 (2024-02-19)

Replace single-bit signed integers with unsigned integers

Single bit signed integers contain a single sign-byte and zero value bytes according to the C99 standard. This is not inteded here.

GitHub commit details... (2024-02-19)


Release: 4.3-2229~g6b5defc76 (2024-02-12)

CI: Ensure we clone the whole repo

We have to make sure we clone the whole repo, so that git describe works as expected. Without it, we get version 0.0.0, not what we want.

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2024-02-11)


Release: 4.3-2228~gce429efe9 (2024-02-10)

container: Add container support

This commit adds support for containizersation of TVHeadend. It adds the actual technology agnostic container file, an entry point and healthcheck for it and a github workflow component to publish it.

TODO: Healthcheck script is not yet working. TODO: Add decent documetnation

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2024-02-10)


Release: 4.3-2227~ga2ddd3066 (2024-02-10)

transcoding: access the codec name only when codec pointer is valid

this fixes #1635

GitHub commit details... (2024-02-09)


Release: 4.3-2226~gb91587037 (2024-02-08)

dvr: Fix incorrect usage of strerror

strerror takes the errno directly as its argument, negating it will result in an "Unknown error".

Signed-off-by: Tianyi Liu [email protected]

GitHub commit details... (2024-02-08)


Release: 4.3-2225~g8bd13ca27 (2024-02-07)

Add "recordings" to the backup exclude list

Since https://github.com/tvheadend/tvheadend/pull/1540, enabled by https://github.com/tvheadend/tvheadend/pull/1535 and https://github.com/tvheadend/tvheadend/pull/1538, we have been storing the recordings in a subdirectory of the configuration directory by default. Because of this, the recordings are getting stored in the configuration backup. This causes the backups to take forever and fill the disk (see https://github.com/tvheadend/tvheadend/issues/1625). Instead, exclude the "recordings" directory from the backup to prevent this.

GitHub commit details... (2024-02-07)


Release: 4.3-2223~g6409a6382 (2024-02-06)

descrambler: Fix Sky-UK descrambling

GitHub commit details... (2024-02-05)


Release: 4.3-2224~g63c41acc6 (2024-02-06)

Correct description of Change Parameters flag

The Change Parameters flag on the Access Entries screen for a user determines whether that user's settings will override any previously-set parameters (for example from a wildcard user) - it does not affect the ability of subsequent users to override settings in turn. The exception is the 'Rights' settings where all matched users with the Change flag set are ORed together.

GitHub commit details... (2024-02-06)


Release: 4.3-2222~g154cf25ad (2024-02-05)

Translation for 'en_US' updated. transifex: Translate tvheadend.js.pot in en_US

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

GitHub commit details... (2024-02-05)


Release: 4.3-2213~gf12919042 (2024-02-04)

Mark PRs needing squashing as stale after a while

GitHub commit details... (2024-02-03)


Release: 4.3-2212~gac4a041e0 (2024-02-04)

Automatically comment on PRs needing squash

GitHub commit details... (2024-02-03)


Release: 4.3-2215~g9b00888e3 (2024-02-04)

satipcli: Rename flag to include client reference

We have both a satip client and server. However the nosatip flag, is for the client. Make this more clear by renaming it to the internal variable nosatipcli. Since we do not want to break the user facing API, we keep the commandline argument nosatip, but add an alias for the future.

We can do better in the future with the rest of the satip reference, but lets keep this to a minimum for now.

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2024-02-04)


Release: 4.3-2211~g990b5a8f4 (2024-02-04)

Fix audio-only timeshift memory usage

GitHub commit details... (2024-02-03)


Release: 4.3-2214~g5acf42462 (2024-02-04)

Remove sweep-ai again as it is not useful at all

GitHub commit details... (2024-02-03)


Release: 4.3-2210~g154b20228 (2024-02-03)

Sanitize filename in content-disposition header

GitHub commit details... (2024-02-03)


Release: 4.3-2207~gc7f46ec56 (2024-02-02)

Configure Sweep (#1612)

Co-authored-by: sweep-ai[bot] <128439645+sweep-ai[bot]@users.noreply.github.com>

GitHub commit details... (2024-02-02)


Release: 4.3-2209~gb225e4d6c (2024-02-02)

Clean up Debian postinst and postrm scripts

  • Fix indentation

  • Remove unnecessary {} around variables

  • Double-quote all variables when assigned or used as arguments

  • Simplify quotes and escaping in creation of the superuser file

  • Remove needless variable assignments

  • Use $() for command substitution instead of ``

GitHub commit details... (2024-02-02)


Release: 4.3-2206~g8ceb72f93 (2024-02-02)

Add stale-bot for issues/PRs needing more info

GitHub commit details... (2024-02-02)


Release: 4.3-2205~g0485cf470 (2024-02-02)

main: Warn about unexpected configuration location

When using the --fork flag, and no user or config arguments are supplied, the configuration folder will end up with whatever the default daemon user has set, which is often /sbin set as the homedir.

This is weird, but not 'wrong' per say. Lets warn the user that forking can have an unexpected side effect.

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2024-02-02)


Release: 4.3-2204~g717056be0 (2024-02-01)

Use sigaction() instead of signal()

The behavior of signal() is not consistent or defined when using it to set signal handlers (see "Portability" in https://man7.org/linux/man-pages/man2/signal.2.html). Previously we got away with this, but starting with GCC 14, using signal() apparently causes certain syscalls to be restarted after the signal is caught. One of these is the read() currently on line 63 of fsmonitor.c. The result is that read() doesn't return when the fsmonitor thread receives a signal, resulting in the thread never shutting down, resulting in TVHeadend hanging on any attempt to terminate it.

Instead, use sigaction(), which has defined behavior when setting signal handlers. Since invoking sigaction() requires several lines, a helper was added to tvh_thread.c to avoid code duplication.

GitHub commit details... (2024-02-01)


Release: 4.3-2203~gbcfbe7dbe (2024-01-31)

Add timeshift support for audio-only channels

GitHub commit details... (2024-01-31)


Release: 4.3-2202~gaf5e2c962 (2024-01-31)

templates: add log section to bug_report.yml

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2024-01-31)


Release: 4.3-2201~g6229a74aa (2024-01-30)

Add missing Lithuanian string template (#1608)

GitHub commit details... (2024-01-30)


Release: 4.3-2200~g212e85c91 (2024-01-28)

ci: fix cloudsmith.sh & add to CI workflow

GitHub commit details... (2024-01-28)


Release: 4.3-2193~gb7d5a1632 (2024-01-21)

update to ffmpeg 6.1.1

update to ffmpeg 6.1.1

GitHub commit details... (2024-01-21)


Release: 4.3-2192~gc9b38a81a (2024-01-11)

descrambler: apply ICAM update from Chris230291

GitHub commit details... (2024-01-11)


Release: 4.3-2191~gb4b1cbd47 (2024-01-11)

descrambler: avoid dlopen()

GitHub commit details... (2024-01-11)


Release: 4.3-2189~g899b38ae5 (2024-01-05)

descrambler: support ICAM if detected in libdvbcsa

GitHub commit details... (2024-01-04)


Release: 4.3-2190~g2151348f7 (2024-01-05)

linuxdvb: add DVB-S2X parameters

GitHub commit details... (2024-01-05)


Release: 4.3-2188~gb40a62b31 (2024-01-01)

ci: fix raspios detection in cloudsmith.sh

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2024-01-01)


Release: 4.3-2187~gfd8b9e8ba (2023-12-26)

ci: rename build.yml to reduce confusion

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-26)


Release: 4.3-2186~g4825b8414 (2023-12-18)

Makefile.ffmpeg nvenc update

FFNVCODEC_VER = 11.1.5.0 -> 12.1.14.0

GitHub commit details... (2023-12-18)


Release: 4.3-2184~g3cf5acdc7 (2023-12-13)

Remove references to Tvheadend Foundation.

GitHub commit details... (2023-12-13)


Release: 4.3-2185~g0da7fc0b7 (2023-12-13)

Transifex updates for project Tvheadend (#1587)

  • transifex: Translate tvheadend.js.pot in es

100% translated source file: 'tvheadend.js.pot' on 'es'.

  • transifex: Translate tvheadend.js.pot in en_GB

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

  • transifex: Translate tvheadend.js.pot in de

100% translated source file: 'tvheadend.js.pot' on 'de'.

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate intl/tvheadend.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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

  • transifex: Translate tvheadend.js.pot in pl

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


Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>

GitHub commit details... (2023-12-13)


Release: 4.3-2183~ga0bd2b359 (2023-12-11)

tfx: fix URLs in tvheadend/js files

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-11)


Release: 4.3-2171~gf96ea6493 (2023-12-06)

ci: remove references to doozer

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-06)


Release: 4.3-2175~gd85c957aa (2023-12-06)

WebUI: Update donation string as a test to Transifex feed

GitHub commit details... (2023-12-06)


Release: 4.3-2173~gb3ac61a01 (2023-12-06)

ci: schedule weekly coverity scans

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-06)


Release: 4.3-2172~g8b34c31f2 (2023-12-06)

ci: add concurrency to the main CI workflows

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-06)


Release: 4.3-2174~g49b095e18 (2023-12-06)

ci: remove the test-compile workflow

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-06)


Release: 4.3-2169~g433cf8bbf (2023-12-06)

ci: don't trigger cloudsmith on .github changes

Signed-off-by: Christian Hewitt [email protected]

GitHub commit details... (2023-12-06)


Release: 4.3-2166~gae1ffbe57 (2023-12-01)

ci update build config

GitHub commit details... (2023-12-01)


Release: 4.3-2167~g583de2330 (2023-12-01)

gitignore: add debian/.debhelper folder

GitHub commit details... (2023-12-01)


Release: 4.3-2162~gbdadcb8b2 (2023-11-28)

Fix builds on stretch

GitHub commit details... (2023-11-28)


Release: 4.3-2161~gbc30a74de (2023-11-21)

Add rpi-bookworm to targets

GitHub commit details... (2023-11-21)


Release: 4.3-2160~g2d963dab6 (2023-11-20)

Update ffmpeg to 5.1.4

GitHub commit details... (2023-11-20)


Release: 4.3-2158~g2d92f58fa (2023-10-15)

6310 Set 'okay' default to True

GitHub commit details... (2023-10-14)


Release: 4.3-2157~g3d16edb0f (2023-10-14)

Removed nested function 'appendPidRange' from within function 'tvhdhomerun_frontend_update_pids' and converted it to a normal function 'tvhdhomerun_frontend_update_pids_appendPidRange'.

Nested functions are a non-standard extension to C that may only be supported by the gcc compiler.

GitHub commit details... (2023-10-14)


Release: 4.3-2154~gec56067f4 (2023-08-12)

support/mkbundle: switch from distutils to setuptools

Fixes build error with python-3.12:

Traceback (most recent call last): File "support/mkbundle", line 48, in import distutils.spawn ModuleNotFoundError: No module named 'distutils'

Signed-off-by: Bernd Kuhls [email protected]

GitHub commit details... (2023-08-11)


Release: 4.3-2153~g21911b5e3 (2023-08-12)

webui/dvr: Add age_rating in recording details dialogs

The details dialogs in the various recording tabs do not open anymore with the error Uncaught TypeError: params[25] is undefined in the JS console as the age_rating wasn't requested for those, only for the overview columns.

While we are at it lets also display the value in the same way the similar looking (but completely different implemented…) EPG dialog does.

Regession-of: d501059995 Fixes: https://tvheadend.org/issues/6297

GitHub commit details... (2023-08-11)


Release: 4.3-2151~g76ca76761 (2023-08-09)

Fix bug #6293 – Missing EIT EPG Content Type

GitHub commit details... (2023-08-09)


Release: 4.3-2149~g17eebbef5 (2023-08-06)

otamux: Make sure we use PRItime_t

As %li isn't supported equally, we must ensure we always use PRItime_t.

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2023-08-06)


Release: 4.3-2144~gd50105999 (2023-08-02)

Add 'age rating' field to recording metadata

GitHub commit details... (2023-08-02)


Release: 4.3-2143~gfe47ecb55 (2023-07-30)

Fix time for 32bit systems again

In issue #6257 an issue mentioning that time_t isn't properly supported when printing on 32-bit systems, specifically on FreeBSD. However, intel 32-bit systems suffer from a similar fate:

src/rtsp.c:333:30: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Werror=format=] 333 | snprintf(buf, sizeof(buf), "npt=%" PRItime_t "-", position); | ^~~~~~~ ~~~~~~~~ | | | time_t {aka long long int}

In commit 76a6263f1be4 ("fix for 64bit time_t on 32bit systems") was attempted to be fixed by turning it into a PRId64, which was reverted again in commit 9e1eb89be731 ("Revert "fix for 64bit time_t on 32bit systems""), sadly without a reason as to why in the commit message.

We should however, migrate to 64bit timestamps on all platforms anyway, due to the Y2038 problem. Debian is heavily working on this issue too.

This commit is just the first step, in that we ensure our time_t is always 64bits.

The next steps would be to use difftime where possible instead of subtractions, and ensure all stored timestamps have room for 64bit time_t (htsmsg_get_u32_or_default for example breaks this presumption already).

To keep this issue small, and tackle one problem at a time, lets just fix time_t first. We do still have 15 years to fix the other issues.

Note, that this patch leaves out FreeBSD specifics, as it is unclear what is specific about 32bit FreeBSD. It should be using the same glibc headers after all. If not, we can always add if needed, but adding usless code doesn't help anyone generally.

diff --git a/src/tvheadend.h b/src/tvheadend.h
index c2fcee716..751d10d70 100644
--- a/src/tvheadend.h
+++ b/src/tvheadend.h
@@ -334,7 +334,9 @@ void tvh_qsort_r(void *base, size_t nmemb, size_t size, int (*compar)(const void
 # endif /* ULONG_MAX */
 #endif /* __WORDSIZE */

-#if __WORDSIZE == 32
+#if __WORDSIZE == 32 && defined(PLATFORM_FREEBSD)
+# define PRItime_t "d"
+#elif __WORDSIZE == 32
 # define PRItime_t "lld"
 #elif __WORDSIZE == 64
 # define PRItime_t "ld"
 #else

Signed-off-by: Olliver Schinagl [email protected]

GitHub commit details... (2023-07-30)


Release: 4.3-2142~g23263a54d (2023-07-30)

OTA Genre translation squashed v2

GitHub commit details... (2023-07-30)


Release: 4.3-2141~gc531383ca (2023-07-19)

Bug Fix: OTA EIT Parental Rating

GitHub commit details... (2023-07-19)


Release: 4.3-2139~g7b5c52697 (2023-06-23)

Fix spelling errors encountered during previous work

GitHub commit details... (2023-06-23)


Release: 4.3-2118~g8efac01dc (2023-04-17)

update to ffmpeg 5.1.3

update to ffmpeg 5.1.3

GitHub commit details... (2023-04-17)


Release: 4.3-2115~ga10f7ea44 (2023-04-02)

tvhmeta: Fix tvhmeta authentication to the tvheadend API.

Construct and add an Authorization header to the request, when a username and password are provided to tvhmeta.

This fixes #6260.

GitHub commit details... (2023-04-02)


Was this helpful?