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
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+.
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.
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.
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.
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.
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".
uknunknown [Fri, 16 Aug 2024 17:27:58 +0000 (10:27 -0700)]
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.
uknunknown [Tue, 23 May 2023 02:48:04 +0000 (19:48 -0700)]
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'
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.
Claudio [Thu, 23 May 2024 21:53:01 +0000 (23:53 +0200)]
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.
diogosalazar [Mon, 20 May 2024 20:42:50 +0000 (16:42 -0400)]
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.
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.
Michael Marley [Fri, 26 Apr 2024 17:50:17 +0000 (13:50 -0400)]
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.
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"
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