]> git.ipfire.org Git - thirdparty/tvheadend.git/log
thirdparty/tvheadend.git
38 hours agoConvert GPL license headers to SPDX format throughout codebase copilot/fix-33285fd9-fcc3-4a37-8183-eeb006b8359a 1938/head
Christian Hewitt [Sat, 4 Oct 2025 09:00:05 +0000 (09:00 +0000)] 
Convert GPL license headers to SPDX format throughout codebase

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
39 hours agoAdd Raspbian Trixie autobuild files
copilot-swe-agent[bot] [Fri, 3 Oct 2025 15:03:30 +0000 (15:03 +0000)] 
Add Raspbian Trixie autobuild files

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
13 days agoStandardize language descriptions
copilot-swe-agent[bot] [Sun, 21 Sep 2025 23:45:15 +0000 (23:45 +0000)] 
Standardize language descriptions

- Applied consistent regional format: removed colon separators for single names
- Language families: "Algonquian langs", "Australian langs", "Philippine langs"
- Regional simplification: "Kyrgyz" vs "Kirghiz: Kyrgyz", "Punjabi" vs "Panjabi: Punjabi"
- Audio description: "Audio Description", "Sync Audio Desc" vs long technical names
- Historical entries: maintained "Aramaic (Ancient)", "Egyptian (Ancient)" format
- All entries now follow consistent English format

13 days agoFix Docker containers missing bzip2 for backup functionality
copilot-swe-agent[bot] [Mon, 22 Sep 2025 00:17:03 +0000 (00:17 +0000)] 
Fix Docker containers missing bzip2 for backup functionality

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
2 weeks agointl: Translate intl/docs/tvheadend.doc.pot in fr
transifex-integration[bot] [Thu, 18 Sep 2025 20:21:28 +0000 (20:21 +0000)] 
intl: Translate intl/docs/tvheadend.doc.pot in fr

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

2 weeks agointl: Translate intl/js/tvheadend.js.pot in fr
transifex-integration[bot] [Thu, 18 Sep 2025 20:21:15 +0000 (20:21 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in fr

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

2 weeks agointl: Translate intl/tvheadend.pot in fr
transifex-integration[bot] [Thu, 18 Sep 2025 20:21:00 +0000 (20:21 +0000)] 
intl: Translate intl/tvheadend.pot in fr

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

2 weeks agoReinstate references to 'url'
dave-p [Mon, 15 Sep 2025 10:22:41 +0000 (11:22 +0100)] 
Reinstate references to 'url'

PR #1915 changed references to 'url' to 'uri' in order to display CRID information for recordings. However 'url' is used to hold a link to the recording file which is used by the 'Download' button on the UI. Reinstate 'url' where this is relevant, ie for completed and failed recordings.
Reported in https://tvheadend.org/d/9235-small-bug-in-43-2462g664cc1b62

2 weeks agoRemove useless git PPA from builds
Flole [Mon, 15 Sep 2025 12:13:45 +0000 (12:13 +0000)] 
Remove useless git PPA from builds

2 weeks agoremove deprecated ticks_per_frame
Ukn Unknown [Sun, 14 Sep 2025 04:38:17 +0000 (21:38 -0700)] 
remove deprecated ticks_per_frame

- remove deprecated ticks_per_frame

3 weeks agoupdate ch_layout implementation
Ukn Unknown [Mon, 26 May 2025 20:14:30 +0000 (13:14 -0700)] 
update ch_layout implementation

- check the returned value from av_channel_layout_copy()
- unreference all layouts properly
- match input with output when channel numbers are equal

3 weeks agotranscode: avoid multi-line encoder configuration log
James Hutchinson [Wed, 27 Aug 2025 14:35:42 +0000 (15:35 +0100)] 
transcode: avoid multi-line encoder configuration log

The encoder configuration debug message previously included embedded
`\n` to print multiple lines. Following maintainer guidance discussed
on Slack, update the log to output everything on a single line instead.

This keeps the configuration details (framerate, time base, frame
duration, GOP size, sample aspect ratio) visible in one log entry,
making it easier to grep and parse while staying consistent with the
logging style.

This change is fallout from 0af87f1.

3 weeks agoShow details dialog for encrypted services even if we have no cards
David Kalnischkies [Fri, 17 Jan 2025 01:43:08 +0000 (01:43 +0000)] 
Show details dialog for encrypted services even if we have no cards

3 weeks agoAvoid image container if there is no image
David Kalnischkies [Mon, 6 May 2024 15:08:57 +0000 (15:08 +0000)] 
Avoid image container if there is no image

3 weeks agoParameter name is uri instead of url for the crid
David Kalnischkies [Sun, 31 Mar 2024 16:56:06 +0000 (16:56 +0000)] 
Parameter name is uri instead of url for the crid

3 weeks agoDo not use number hardcoding in recording details dialog
David Kalnischkies [Mon, 28 Aug 2023 20:24:38 +0000 (20:24 +0000)] 
Do not use number hardcoding in recording details dialog

Programmers can count, we all know that, so instead of proofing (and
occasionally failing) it in code, lets do away with hardcoding here
and just use an object with named members which is also a bit shorter
and easier to extend.

3 weeks agoWebUI: Allow categories to be represented by multiple icons
David Kalnischkies [Sun, 2 Jul 2023 10:00:22 +0000 (12:00 +0200)] 
WebUI: Allow categories to be represented by multiple icons

A sports talk is a "talk" about "sports". Just giving it the talk icon
is misleading given a "normal" talk show usually has different topics.

3 weeks agoRequest event details for EPG dialog display
David Kalnischkies [Fri, 9 Jun 2023 12:27:09 +0000 (14:27 +0200)] 
Request event details for EPG dialog display

The display code handles various tags shown as "Parameters" in the info
dialog of an EPG event like "Subtitled", "New" or "Repeat", but only
"New" was actually displayed as the data for the other tags wasn't
requested and hence never present.

3 weeks agoFix suspicious usage of pointer to aggregate [bugprone-sizeof-expression]
David Kalnischkies [Sun, 11 Jun 2023 20:04:12 +0000 (22:04 +0200)] 
Fix suspicious usage of pointer to aggregate [bugprone-sizeof-expression]

Reported-By: clangd
3 weeks agoAvoid implicit conversion from ‘float’ to ‘double’ [-Wdouble-promotion]
David Kalnischkies [Wed, 23 Nov 2022 17:52:47 +0000 (18:52 +0100)] 
Avoid implicit conversion from ‘float’ to ‘double’ [-Wdouble-promotion]

3 weeks agoUse correct feature test macro for qsort_r detection
David Kalnischkies [Wed, 23 Nov 2022 17:01:26 +0000 (18:01 +0100)] 
Use correct feature test macro for qsort_r detection

3 weeks agoSet #pragma once for build.h
David Kalnischkies [Wed, 23 Nov 2022 13:58:20 +0000 (14:58 +0100)] 
Set #pragma once for build.h

The header is included all over the place and hence also multiple times
in the same translation unit which triggers -Wredundant-decls, beside
being pointless, so we just tell the pre-processor with a slightly more
modern form of a header guard that once is enough.

As a bonus, this commit keeps the 'DO NOT EDIT' remark as intended.

5 weeks agoissues: misc. template updates
Christian Hewitt [Mon, 25 Aug 2025 16:59:18 +0000 (16:59 +0000)] 
issues: misc. template updates

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
6 weeks agoAdd EL9 and EL10 support for both x86_64 and aarch64
FingerlessGloves [Sun, 17 Aug 2025 23:08:04 +0000 (00:08 +0100)] 
Add EL9 and EL10 support for both x86_64 and aarch64

6 weeks agoUpdate copilot instructions for whitelisted internet access
copilot-swe-agent[bot] [Fri, 22 Aug 2025 13:58:20 +0000 (13:58 +0000)] 
Update copilot instructions for whitelisted internet access

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
6 weeks agoCreate comprehensive copilot instructions for tvheadend development
copilot-swe-agent[bot] [Thu, 21 Aug 2025 09:49:23 +0000 (09:49 +0000)] 
Create comprehensive copilot instructions for tvheadend development

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
6 weeks agoAdd single-threaded build fallback for both Debian and RPM builds
copilot-swe-agent[bot] [Thu, 21 Aug 2025 09:40:14 +0000 (09:40 +0000)] 
Add single-threaded build fallback for both Debian and RPM builds

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
6 weeks agoFix WiFi startup issue: Add network-online.target to systemd service files
copilot-swe-agent[bot] [Thu, 21 Aug 2025 09:39:40 +0000 (09:39 +0000)] 
Fix WiFi startup issue: Add network-online.target to systemd service files

Co-authored-by: Flole998 <9951871+Flole998@users.noreply.github.com>
6 weeks agovaapi improvements
Ukn Unknown [Wed, 18 Jun 2025 00:19:34 +0000 (17:19 -0700)] 
vaapi improvements

- remove all '=NULL' because are not required
- keep first call for vaapi_encode_close_context() and remove the second call

6 weeks agodvb_psi_pmt: Don't recognize extension descriptor as AC-4 audio
Michael Kuron [Sat, 16 Aug 2025 10:45:51 +0000 (12:45 +0200)] 
dvb_psi_pmt: Don't recognize extension descriptor as AC-4 audio

7 weeks agoFix memory leak in iptv_mux.c
Flole [Sat, 9 Aug 2025 17:31:08 +0000 (19:31 +0200)] 
Fix memory leak in iptv_mux.c

7 weeks agotranscode: fix VAAPI deinterlace mode handling for software decode/encode profiles
James Hutchinson [Wed, 6 Aug 2025 10:18:15 +0000 (11:18 +0100)] 
transcode: fix VAAPI deinterlace mode handling for software decode/encode profiles

Move 'deinterlace_vaapi_mode' from the VAAPI codec profile to the generic Main
Video Codec Profile, allowing this setting to be applied when using VAAPI
hardware deinterlacing with software-based transcode profiles such as libx264.

This fixes a bug where 'deinterlace_vaapi_mode' was left uninitialized for
non-VAAPI codec profiles, resulting in invalid filter strings like
'deinterlace_vaapi=mode=21867:rate=2:auto=0' and filter graph setup failures.

The patch also:
- Adds validation for the mode value (range 0–4)
- Dynamically enables/disables the VAAPI mode field in the WebUI based on encoder
  and decoder settings
- Consolidates enum and mode list generation logic under 'profile_video_class.c'

This ensures that VAAPI deinterlacing can be correctly configured and used across
hybrid transcode profiles, improving compatibility and user control.

Fixes: #1878
7 weeks agoAdd fedora 43 to builds
Flole [Fri, 15 Aug 2025 12:01:57 +0000 (12:01 +0000)] 
Add fedora 43 to builds

7 weeks agoAdd Fedora 44 to cloudsmith script (ignored for now)
Flole [Fri, 15 Aug 2025 12:01:06 +0000 (12:01 +0000)] 
Add Fedora 44 to cloudsmith script (ignored for now)

7 weeks agoAdd debian forky files
Flole [Thu, 14 Aug 2025 15:46:38 +0000 (15:46 +0000)] 
Add debian forky files

7 weeks agoUpdate debian docker dependencies
Flole [Thu, 14 Aug 2025 15:39:03 +0000 (17:39 +0200)] 
Update debian docker dependencies

8 weeks agoFix memory leak in iptv.c
Flole [Sat, 9 Aug 2025 17:28:21 +0000 (19:28 +0200)] 
Fix memory leak in iptv.c

8 weeks agoFix memory leak in HTSP-Server
Flole [Sat, 9 Aug 2025 17:20:22 +0000 (19:20 +0200)] 
Fix memory leak in HTSP-Server

8 weeks agoFix memory leak in idnode.c
Flole [Sat, 9 Aug 2025 17:23:17 +0000 (19:23 +0200)] 
Fix memory leak in idnode.c

8 weeks agotranscode: clean up unused parameters and fix SonarQube issues
James Hutchinson [Thu, 24 Jul 2025 10:45:59 +0000 (11:45 +0100)] 
transcode: clean up unused parameters and fix SonarQube issues

- Removed unused `opts` parameter from _video_filters_get_filters() and tvh_video_context_open_filters().
- Updated all call sites accordingly.
- Split combined variable declaration for clarity.
- Marked AVFilterLink pointer as const to reflect read-only use.

No functional changes — purely code hygiene fallout linked to PR #1859

2 months agolinuxdvb_adapter: increase MAX_DEV_OPEN_ATTEMPTS to 50
smp79 [Fri, 4 Jul 2025 02:38:23 +0000 (05:38 +0300)] 
linuxdvb_adapter: increase MAX_DEV_OPEN_ATTEMPTS to 50

2 months agotranscode: add advanced options for deinterlacing
James Hutchinson [Wed, 19 Mar 2025 13:12:37 +0000 (13:12 +0000)] 
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.

2 months agomove filter_hw_denoise and filter_hw_sharpness to tvh_codec_profile_video
Ukn Unknown [Sat, 31 May 2025 18:09:56 +0000 (11:09 -0700)] 
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)

2 months agoAdd Season number and Episode number to file name formatting strings.
DeltaMikeCharlie [Fri, 27 Jun 2025 07:56:47 +0000 (17:56 +1000)] 
Add Season number and Episode number to file name formatting strings.

2 months agoAdd Scene Markers to recordings at scheduled EPG event start/stop times.
DeltaMikeCharlie [Sun, 15 Jun 2025 02:45:48 +0000 (12:45 +1000)] 
Add Scene Markers to recordings at scheduled EPG event start/stop times.

2 months agoImplement age ratings on XMLTV
edisionnano [Thu, 10 Jul 2025 22:54:45 +0000 (01:54 +0300)] 
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 <175728472+Copilot@users.noreply.github.com>
2 months agoFix builds on debian buster
Flole [Mon, 14 Jul 2025 17:30:49 +0000 (19:30 +0200)] 
Fix builds on debian buster

2 months agoFix broken squash-autocomment
Flole [Fri, 11 Jul 2025 23:19:00 +0000 (01:19 +0200)] 
Fix broken squash-autocomment

3 months agoAdd 'sudo make install' to the Linux build notes.
DeltaMikeCharlie [Sat, 5 Jul 2025 07:47:40 +0000 (17:47 +1000)] 
Add 'sudo make install' to the Linux build notes.

3 months agoCloudsmith supports fedora 42 now
Flole [Thu, 3 Jul 2025 12:34:11 +0000 (14:34 +0200)] 
Cloudsmith supports fedora 42 now

3 months agoUpdate coverity secret check to new ENV file
Flole [Thu, 26 Jun 2025 23:41:22 +0000 (01:41 +0200)] 
Update coverity secret check to new ENV file

3 months agoUpdate online help text
dave-p [Sat, 21 Jun 2025 06:18:40 +0000 (07:18 +0100)] 
Update online help text

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

3 months agofix memory leak 3 - transcoding
Ukn Unknown [Mon, 2 Jun 2025 20:48:48 +0000 (13:48 -0700)] 
fix memory leak 3 - transcoding

- fix memory leak 3 - transcoding

3 months agoremove coded_width and coded_height from encoding
Ukn Unknown [Fri, 6 Jun 2025 17:43:20 +0000 (10:43 -0700)] 
remove coded_width and coded_height from encoding

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

3 months agoUser's DVR Configuration profile not used when scheduling recordings via HTSP
DeltaMikeCharlie [Mon, 9 Jun 2025 23:43:49 +0000 (09:43 +1000)] 
User's DVR Configuration profile not used when scheduling recordings via HTSP

3 months agoRecognize checkbox for feature proposals properly
Flole [Tue, 10 Jun 2025 00:16:12 +0000 (02:16 +0200)] 
Recognize checkbox for feature proposals properly

3 months agoAdd missing coverity env
Flole [Mon, 9 Jun 2025 16:18:43 +0000 (16:18 +0000)] 
Add missing coverity env

3 months agoFix coverity builds
Flole [Mon, 9 Jun 2025 15:19:47 +0000 (15:19 +0000)] 
Fix coverity builds

3 months agoci: disable coverity on forks
Christian Hewitt [Fri, 6 Jun 2025 11:28:01 +0000 (11:28 +0000)] 
ci: disable coverity on forks

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
3 months agorepo: cleanup CONTRIBUTING.md
Christian Hewitt [Fri, 6 Jun 2025 08:15:02 +0000 (08:15 +0000)] 
repo: cleanup CONTRIBUTING.md

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
3 months agorepo: cleanup README.md
Christian Hewitt [Fri, 6 Jun 2025 07:10:58 +0000 (07:10 +0000)] 
repo: cleanup README.md

3 months agointl: js: change freenode to Libera.Chat
Christian Hewitt [Fri, 6 Jun 2025 06:21:13 +0000 (06:21 +0000)] 
intl: js: change freenode to Libera.Chat

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
3 months agointl: docs: change freenode to Libera.Chat
Christian Hewitt [Fri, 6 Jun 2025 06:05:08 +0000 (06:05 +0000)] 
intl: docs: change freenode to Libera.Chat

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
4 months agoHTSP: Expose is_new flag in EPG event data
James Hutchinson [Wed, 4 Jun 2025 10:46:01 +0000 (11:46 +0100)] 
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.

4 months agoCoverity CID 552897
DeltaMikeCharlie [Tue, 3 Jun 2025 21:21:08 +0000 (07:21 +1000)] 
Coverity CID 552897

4 months agotranscode: gracefully handle common hardware decoder errors
James Hutchinson [Sat, 3 May 2025 11:02:58 +0000 (12:02 +0100)] 
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.

4 months agotranscode: improve logging of packet transcode errors
James Hutchinson [Fri, 16 May 2025 15:09:11 +0000 (16:09 +0100)] 
transcode: improve logging of packet transcode errors

Improve visibility of decoding failures during transcoding by logging
the error code, a human-readable description, and the packet PTS when
the hardware decoder fails to process a packet.

Previously, these errors would silently trigger `tvh_stream_stop()` on
the affected stream, with minimal context about the underlying cause.
This made it difficult to diagnose issues such as hardware acceleration
glitches or codec-specific decode failures.

With this change, such errors are logged at warning level, and full
packet details are included if trace logging is enabled. This provides
valuable diagnostic information when investigating stream interruptions
or video dropout.

This commit does not alter transcoder behavior; errors are still
filtered or handled by other components as before. It simply makes
decoder error conditions more transparent for debugging purposes.

4 months agofix for video stream detection
Ukn Unknown [Mon, 2 Jun 2025 02:09:46 +0000 (19:09 -0700)] 
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()

4 months agoAdd API call 'status/activity'.
DeltaMikeCharlie [Sun, 1 Jun 2025 22:27:58 +0000 (08:27 +1000)] 
Add API call 'status/activity'.

4 months agofix memory leak 2 - transcoding
Ukn Unknown [Tue, 27 May 2025 00:12:06 +0000 (17:12 -0700)] 
fix memory leak 2 - transcoding

fix memory leak 2 - transcoding

4 months agofix dead error condition
Ukn Unknown [Tue, 27 May 2025 03:36:34 +0000 (20:36 -0700)] 
fix dead error condition

Fixes coverity scan issues: 462150

4 months agoadd mpegts parameters from input stream
Ukn Unknown [Mon, 14 Apr 2025 04:09:12 +0000 (21:09 -0700)] 
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)

4 months agofix memory leak - transcoding
Ukn Unknown [Fri, 23 May 2025 21:44:11 +0000 (14:44 -0700)] 
fix memory leak - transcoding

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

4 months agoFix recording thread freeze when unable to create unique file name.
DeltaMikeCharlie [Sat, 24 May 2025 23:26:33 +0000 (09:26 +1000)] 
Fix recording thread freeze when unable to create unique file name.

4 months agoMKV Tags - Change rating label. Add Sub-title and Comment.
DeltaMikeCharlie [Tue, 20 May 2025 23:31:45 +0000 (09:31 +1000)] 
MKV Tags - Change rating label.  Add Sub-title and Comment.

4 months agofix memory leak
Ukn Unknown [Tue, 20 May 2025 01:07:18 +0000 (18:07 -0700)] 
fix memory leak

Fixes: https://github.com/tvheadend/tvheadend/issues/1749
4 months agovideo hw accel should only be applied for video streams
Ukn Unknown [Mon, 19 May 2025 04:59:29 +0000 (21:59 -0700)] 
video hw accel should only be applied for video streams

Fixes: https://github.com/tvheadend/tvheadend/issues/1827
4 months agoAdd Sub-Title Processing Options for DVB OTA EPG
DeltaMikeCharlie [Mon, 19 May 2025 19:45:04 +0000 (05:45 +1000)] 
Add Sub-Title Processing Options for DVB OTA EPG

4 months agoUpdate VAAPI transcoding as recommended by ffmpeg 6.1.1/doc/examples/… (#1792)
Ukn Unknown [Mon, 19 May 2025 13:21:52 +0000 (06:21 -0700)] 
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

4 months agoupdate audio abuffersink from deprecated channel_layouts to ch_layouts and deprecated...
uknunknown [Sun, 6 Oct 2024 23:42:55 +0000 (16:42 -0700)] 
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_*

4 months agoiptv: handle relative key URL
Enrico Lorenzoni [Mon, 26 Aug 2024 08:44:25 +0000 (09:44 +0100)] 
iptv: handle relative key URL

4 months ago[Docker]: Tag alpine master as latest
Flole [Thu, 15 May 2025 13:19:04 +0000 (15:19 +0200)] 
[Docker]: Tag alpine master as latest

4 months agofix read/write of PT_DYN_INT
Ukn Unknown [Mon, 10 Mar 2025 04:29:58 +0000 (21:29 -0700)] 
fix read/write of PT_DYN_INT

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

4 months agoallow NVENC, VAAPI and MMAL to coexist in the same build
Ukn Unknown [Tue, 11 Feb 2025 00:39:02 +0000 (16:39 -0800)] 
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

4 months agoShow recording file name
DeltaMikeCharlie [Wed, 12 Feb 2025 02:59:19 +0000 (13:59 +1100)] 
Show recording file name

4 months agowizard: increase buffer size to silence -Wformat-truncation on GCC 15
James Hutchinson [Wed, 7 May 2025 09:20:52 +0000 (10:20 +0100)] 
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

4 months agoFix crash when updating 'disp_summary'
DeltaMikeCharlie [Thu, 20 Mar 2025 03:43:50 +0000 (14:43 +1100)] 
Fix crash when updating 'disp_summary'

4 months agointl: Translate tvheadend.doc.pot in en_US
transifex-integration[bot] [Sun, 9 Mar 2025 18:04:55 +0000 (18:04 +0000)] 
intl: Translate tvheadend.doc.pot in en_US

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

4 months agointl: Translate tvheadend.doc.pot in en_GB
transifex-integration[bot] [Sun, 9 Mar 2025 18:04:05 +0000 (18:04 +0000)] 
intl: Translate tvheadend.doc.pot in en_GB

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

4 months agointl: Translate intl/tvheadend.pot in pl
transifex-integration[bot] [Tue, 3 Dec 2024 08:00:56 +0000 (08:00 +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] [Tue, 3 Dec 2024 07:59:50 +0000 (07:59 +0000)] 
intl: Translate intl/js/tvheadend.js.pot in pl

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

4 months agoGlobal setting for 'Items per page'
DeltaMikeCharlie [Sun, 16 Feb 2025 04:28:59 +0000 (15:28 +1100)] 
Global setting for 'Items per page'

4 months agoRemove links to old Wiki (#1793)
dave-p [Tue, 13 May 2025 06:38:55 +0000 (07:38 +0100)] 
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.

4 months agohttpc.c: Fix HTTPS with OpenSSL 3.5 (#1813)
Michael Marley [Tue, 13 May 2025 05:43:04 +0000 (01:43 -0400)] 
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.

4 months agolovcombo-all.js: Fix autorec create/edit TypeError with Firefox 134 (#1786)
Michael Marley [Tue, 13 May 2025 05:41:47 +0000 (01:41 -0400)] 
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.

4 months agoFix Cloudsmith uploads
Flole [Mon, 12 May 2025 23:16:26 +0000 (01:16 +0200)] 
Fix Cloudsmith uploads

4 months agoFix CI Builds 2/2
Christian [Sun, 11 May 2025 08:10:42 +0000 (10:10 +0200)] 
Fix CI Builds 2/2

fix: allow x265 build on CMake <3.2

feat(build): only use armv9 when supported

chore(build): remove x265 from unsupported platforms

4 months agoFix CI Builds 1/2
Flole [Sun, 2 Feb 2025 16:28:43 +0000 (16:28 +0000)] 
Fix CI Builds 1/2

Update run-on-arch to v3

This should finally fix the segfaults

Fix x265 builds

Fix cloudsmith uploads for Fedora

Ensure new x265 flags are used

Fix native builds

Update libx265

10 months agoCheck for hidden fields before reading them. Fixes #1782.
dave-p [Mon, 11 Nov 2024 12:56:12 +0000 (12:56 +0000)] 
Check for hidden fields before reading them. Fixes #1782.

11 months agointl: Translate intl/tvheadend.pot in en_US
transifex-integration[bot] [Tue, 24 Sep 2024 22:50:35 +0000 (22:50 +0000)] 
intl: Translate intl/tvheadend.pot in en_US

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