]> git.ipfire.org Git - thirdparty/tvheadend.git/log
thirdparty/tvheadend.git
20 months agoFix builds on stretch
Flole998 [Tue, 28 Nov 2023 20:36:14 +0000 (20:36 +0000)] 
Fix builds on stretch

20 months agoAdd rpi-bookworm to targets
Flole998 [Tue, 21 Nov 2023 13:48:27 +0000 (13:48 +0000)] 
Add rpi-bookworm to targets

20 months agoUpdate ffmpeg to 5.1.4
Flole998 [Mon, 20 Nov 2023 13:39:36 +0000 (14:39 +0100)] 
Update ffmpeg to 5.1.4

21 months agoCorrect handling of Remove and Ignore settings
dave-p [Fri, 13 Oct 2023 10:18:16 +0000 (11:18 +0100)] 
Correct handling of Remove and Ignore settings

Like strtok(), http_tokenize() modifies its input string. Since those strings are needed later to populate the UI, we should use copies.

Also free ignore_args to avoid a memory leak.

21 months ago6310 Set 'okay' default to True
James Bevan [Sat, 14 Oct 2023 11:15:36 +0000 (12:15 +0100)] 
6310 Set 'okay' default to True

21 months agoRemoved nested function 'appendPidRange' from within function 'tvhdhomerun_frontend_u...
Norm Raden [Thu, 14 Sep 2023 14:52:40 +0000 (10:52 -0400)] 
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.

22 months agoFix non-admin users not receiving any updates in web UI
Michael Marley [Sun, 24 Sep 2023 19:35:33 +0000 (15:35 -0400)] 
Fix non-admin users not receiving any updates in web UI

All the way back in 54e63e3f9af8fdc0d23f61f3cda7fa7b246c1732, there
was a fix to stop non-admin users from receiving log messages with
potentially-sensitive data.  However, this stopped non-admin webui
users from receiving almost any updates over the websocket
interface, which causes a bug where such users don't see newly-
created DVR entries, etc. until refreshing the page.  This patch
allows for more granular control over what non-admin users
receive.  Specifically, messages originating from subscriptions.c,
mpegts_input.c, and api_service.c, along with all log messages, are
still only sent to admins because they may contain sensitive data
and/or they are only relevant to administrative parts of the UI.
Other messages, such as idnode, DVR, and EPG-related messages, are
once again sent to all webui users to keep the UI up-to-date.

22 months agoFix htsstr_argsplit (treat quotes inside an argument correctly)
Ben K [Thu, 24 Aug 2023 08:54:38 +0000 (10:54 +0200)] 
Fix htsstr_argsplit (treat quotes inside an argument correctly)

There seemed to be a flaw in the splitting logic when it comes to quotes, e.g.:
--output="filename" should be one argument, but htsstr_argsplit treated it as
['--output=', '"filename"] which I think is wrong.

I fixed this and added two tests for this scenario.

23 months agosupport/mkbundle: switch from distutils to setuptools
Bernd Kuhls [Sat, 5 Aug 2023 10:21:05 +0000 (12:21 +0200)] 
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 <module>
    import distutils.spawn
ModuleNotFoundError: No module named 'distutils'

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
23 months agowebui/dvr: Add age_rating in recording details dialogs
David Kalnischkies [Fri, 11 Aug 2023 05:45:14 +0000 (05:45 +0000)] 
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
23 months agowebui/dvr: Remove unused & duplicated functions
David Kalnischkies [Fri, 11 Aug 2023 05:28:37 +0000 (05:28 +0000)] 
webui/dvr: Remove unused & duplicated functions

While implementing the alternative/similar broadcast buttons it seems
like previous attempts remained in the final code but were either
unused (like `dvrAlternativeShowings` as the buttons are calling
 `epgAlternativeShowingsDialog` instead) or duplicate functions which
already existed like `load`, `previousEvent` & `nextEvent`.

References: 04cd487bb8

23 months agoFix bug #6293 – Missing EIT EPG Content Type
DeltaMikeCharlie [Wed, 9 Aug 2023 06:19:47 +0000 (16:19 +1000)] 
Fix bug #6293 – Missing EIT EPG Content Type

23 months agoFix some build and add more targets
Flole998 [Sun, 6 Aug 2023 07:43:32 +0000 (09:43 +0200)] 
Fix some build and add more targets

23 months agootamux: Make sure we use PRItime_t
Olliver Schinagl [Fri, 16 Jun 2023 21:54:24 +0000 (23:54 +0200)] 
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 <oliver@schinagl.nl>
23 months agoUse explicitly on format warnings for Time test
Olliver Schinagl [Sat, 5 Aug 2023 07:40:44 +0000 (09:40 +0200)] 
Use explicitly on format warnings for Time test

It looks like the compile check doesn't work properly on some
architectures, which appears to eat or ignore the -Werror flag.

Instead, be more specific in that we state that printf formatting errors
are to be triggered on, and treated as an error explicitly, which in the
end is exactly what we are after.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoCI: Build (without cloudsmith) all targets on every merge request
Olliver Schinagl [Sat, 5 Aug 2023 15:08:37 +0000 (17:08 +0200)] 
CI: Build (without cloudsmith) all targets on every merge request

We want to build everything on merge requests, tags etc.

However we want to skip cloudsmith integration/upload, so lets copy the
yaml file and modify to suit better our needs.

In the future, we can move the cloudsmith stuff back in with
conditionals, but that requires some more time to figure out how to best
do it.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoCI: Run the full build with cloudsmith only on master
Olliver Schinagl [Sat, 5 Aug 2023 15:06:21 +0000 (17:06 +0200)] 
CI: Run the full build with cloudsmith only on master

Cloudsmith deployal should only be done on master, but we want to run
every other thing normally on each merge request. So lets rename this
script to indicate that this is about cloudsmith specifically.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoFix time for old 32bit systems
Olliver Schinagl [Fri, 4 Aug 2023 12:26:20 +0000 (14:26 +0200)] 
Fix time for old 32bit systems

The fix introduced in fe47ecb5504a ("Fix time for 32bit systems again")
made the incorrect assumption, that the macro _TIME_BITS=64 was always
available. It seems like that this is not the case for old systems,
causing 32bit builds to break there.

Lets completely rework 32bit time support, by actually detecting the
hosts size for the time.

This will break cross-compilation, as the configure script is run on the
host, but since we do not seem to support cross-builds anyway (all archs
are build on emulated or native targets), this should be acceptable.

Fixes fe47ecb5504a ("Fix time for 32bit systems again")

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoAdd 'age rating' field to recording metadata
DeltaMikeCharlie [Wed, 2 Aug 2023 00:13:00 +0000 (10:13 +1000)] 
Add 'age rating' field to recording metadata

2 years agoFix time for 32bit systems again
Olliver Schinagl [Fri, 16 Jun 2023 21:55:26 +0000 (23:55 +0200)] 
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 <oliver@schinagl.nl>
2 years agoOTA Genre translation squashed v2
DeltaMikeCharlie [Sat, 22 Jul 2023 22:13:07 +0000 (08:13 +1000)] 
OTA Genre translation squashed v2

2 years agoBug Fix: OTA EIT Parental Rating
DeltaMikeCharlie [Tue, 11 Jul 2023 05:48:56 +0000 (15:48 +1000)] 
Bug Fix: OTA EIT Parental Rating

2 years agoRevert non-portable function to previous code
John Ross Hunt [Fri, 23 Jun 2023 22:29:48 +0000 (17:29 -0500)] 
Revert non-portable function to previous code

2 years agoFix spelling errors encountered during previous work
Michael Marley [Thu, 22 Jun 2023 21:04:01 +0000 (17:04 -0400)] 
Fix spelling errors encountered during previous work

2 years agoUpdate Debian packaging to use the new configuration directories
Michael Marley [Thu, 22 Jun 2023 21:02:40 +0000 (17:02 -0400)] 
Update Debian packaging to use the new configuration directories

This updates the Debian packaging to use the new configuration
directories introduced by
https://github.com/tvheadend/tvheadend/pull/1535 and
https://github.com/tvheadend/tvheadend/pull/1538.  Instead of being
in /home/hts/.hts/tvheadend, the configuration will now be stored in
/var/lib/tvheadend by default, which is consistent with how many
other "server"-style Debian packages handle their home directories
and configuration.

2 years agoFix configuration-loading logic to account for forking operation
Michael Marley [Thu, 22 Jun 2023 20:55:38 +0000 (16:55 -0400)] 
Fix configuration-loading logic to account for forking operation

Since config_get_dir() is executed before forking, the uid will
always be 0 at this point.  Instead, use the uid of the user to
which we will fork if a fork will occur.

2 years agodvr_storage: Also support server configurations for recordings
Olliver Schinagl [Fri, 16 Jun 2023 15:02:19 +0000 (17:02 +0200)] 
dvr_storage: Also support server configurations for recordings

Like in commit e15c1abe9737 ("config: Support server configurations"),
dvr_recordings are probably best stored in a 'server known
configuration', as otherwise they can end up in `/Videos`. While the
user can always configure this nicely, having a server sensible default
is good.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoFix portability: Do not use linux/limits.h
Olliver Schinagl [Sun, 18 Jun 2023 10:51:58 +0000 (12:51 +0200)] 
Fix portability: Do not use linux/limits.h

The header limits.h suffices, lets use that instead.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoconfig: Fix whitespace errors
Olliver Schinagl [Sat, 10 Jun 2023 13:20:25 +0000 (15:20 +0200)] 
config: Fix whitespace errors

The internal print functions already add the newline for us, so adding
one manually is not needed.

Further more, a tab got snook in, where spaces where intended.

This fixes commit dbf973307ae3 ("dvr_storage: Use XDG spec directories")
which accidentally introduced this.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agospawn: Do not close every possible file descriptor
Olliver Schinagl [Fri, 16 Jun 2023 13:25:36 +0000 (15:25 +0200)] 
spawn: Do not close every possible file descriptor

When close is called with a non-existant file descriptor, it will happily
do so. Since we do not even check for the error code, trying to close a
non existant/not-open file descriptor does not even cause an error.

This in itself is not a problem at all, however, we try to close every
open file descriptor beyond stderr, upto whatever _SC_OPEN_MAX returns.

Some systems may have a very large ulimit set for `_SC_OPEN_MAX` and
thus `maxfd` may return something in the millions. This means that the
simple `for() close();` loop now has to iterate a million file
descriptors which may not even be open/exist.

Instead, we can use the power of `/proc/self/fd` to list our open
file descriptors, and only close open ones.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agodvr_storage: Use XDG spec directories
Olliver Schinagl [Sat, 10 Jun 2023 13:42:03 +0000 (15:42 +0200)] 
dvr_storage: Use XDG spec directories

The XDG spec has a way to determine the users preferred Video directory.
This is important, because in different locales, this may be a different
directory, preventing annoyance for users who have a localized home dir.

With the newly added XDG helpers, this becomes a triviality.

This change does mean, that the behavior is slightly changed, as XDG
directories are probed first.

However since this only affects the startup, after which these
directories are stored in the config, the impact should be neglectable.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agosettings: Add XDG support helper functions
Olliver Schinagl [Sat, 10 Jun 2023 13:39:56 +0000 (15:39 +0200)] 
settings: Add XDG support helper functions

The XDG spec goes beyond the '.config' directory structure, but also
helps with other directories, which may be locale dependent.

Sadly, the upstream source that does all the parsing, is not a library,
but only a binary or source code.

Lets store a copy of the source-code under vendor, to avoid duplicating
the exact same code internally.

Expose these functions as hts wrappers for the rest of the codebase to
use.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoconfig: Support server configurations
Olliver Schinagl [Tue, 13 Jun 2023 13:35:25 +0000 (15:35 +0200)] 
config: Support server configurations

On server loads, it is not uncommon to have the config directory live in
`/var/lib/tvheadend`. While `/etc/tvheadend` is also common, it's more
for manually written configuration files, tvheadend is more a 'config
state'. Support both regardless.

This change shouldn't impact desktop users, presuming they do not have
these locations installed.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoconfig: Add support for XDG config
Olliver Schinagl [Sat, 10 Jun 2023 13:35:26 +0000 (15:35 +0200)] 
config: Add support for XDG config

Over the last years, the freedesktop organization has promoted the use
of XDG_HOME_CONFIG for storing configuration data.

Since TVHeadend also wants to help declutter the home directory, lets
follow the spec for our own configuration. While here, reduce the path
from `hts/tvheaded` to just `hts`.

The implementation does not change behavior of existing installations!
If `.hts/tvheadend` exists, it will be used as before.

New installations, will try to use `.config/hts` instead, and
'migrating' is as easy as `mv .hts/tvheadend .config/hts`.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoconfig: Store config directory variable internally
Olliver Schinagl [Sat, 10 Jun 2023 13:20:25 +0000 (15:20 +0200)] 
config: Store config directory variable internally

Currently `config_boot` 'abuses' the path-pointer and stores its own
internal path if needed. While this is _technically_ fine, it prevents
us from a) making `path` a const argument, b) makes things a little
harder to read and maintain and c) makes it harder for future changes to
the configuration path.

Instead, lets store the configuration path internally in our
configuration structure, as is done with most things. This could even
allow us to technically get rid of `hts_settings_init` in the future,
and get this from the config struct instead.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoconfig: Deal with configuration before anything else
Olliver Schinagl [Sat, 10 Jun 2023 13:26:08 +0000 (15:26 +0200)] 
config: Deal with configuration before anything else

We should really be setting up our configuration storage before anything
else. Starting/registering other items before that seems a bit
out-of-order.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoFix Fedora CI build
Ruben De Smet [Mon, 12 Jun 2023 10:08:36 +0000 (12:08 +0200)] 
Fix Fedora CI build

2 years agoDisable broken codeball
Flole998 [Mon, 12 Jun 2023 11:15:07 +0000 (13:15 +0200)] 
Disable broken codeball

2 years agoAdd simple 'ping' endpoint for healthchecks
Olliver Schinagl [Sat, 10 Jun 2023 15:16:06 +0000 (17:16 +0200)] 
Add simple 'ping' endpoint for healthchecks

To determine if the server is online, we want to be able to 'ping' it
with as little configuration and access possibilities as possible. The
only available option for this today, is anonymous access.

Let us thus add a new endpoint, that replies with 'PONG' when queried.

This will need anonymous access enabled, but can be restricted to:
a) localhost
b) without any access permissions

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoAdd Fedora RPM build to Github Actions
Ruben De Smet [Mon, 5 Jun 2023 12:06:38 +0000 (14:06 +0200)] 
Add Fedora RPM build to Github Actions

2 years agoUpdate config for Fedora 37/38
Ruben De Smet [Mon, 5 Jun 2023 08:58:01 +0000 (10:58 +0200)] 
Update config for Fedora 37/38

2 years agodvr_rec: Fix a buffer overflow in filename generation
Ruben De Smet [Mon, 5 Jun 2023 13:18:46 +0000 (15:18 +0200)] 
dvr_rec: Fix a buffer overflow in filename generation

Fixes https://tvheadend.org/issues/6272

Co-authored-by: Dave Pickles
2 years ago - fixed bug with _lang3_to_lang2() 1527/head
Gene C [Mon, 17 Apr 2023 12:55:50 +0000 (08:55 -0400)] 
 - fixed bug with _lang3_to_lang2()
    Typo made using lang instead of lang3 in lookup map
 - clean by running through autopep8
 - Add more exception handling to prevent it crashing
   Still needs some improvements with exception types
 - tidy up for pylint
 - python 2 is deprecated - simplify for python 3

2 years agoupdate pict_type from AVPacket to AVFrame
uknunknown [Fri, 14 Apr 2023 17:25:41 +0000 (10:25 -0700)] 
update pict_type from AVPacket to AVFrame

- remove deprecated FF_API_CODED_FRAME
- remove pict_type from AVPacket_SideData
- use AVFrame->pict_type (same like ffmpeg 5.1.2 - ffprobe.c line 2595)
- remove patch for vaapi_encode

2 years agoupdate to ffmpeg 5.1.3
uknunknown [Fri, 14 Apr 2023 22:26:58 +0000 (15:26 -0700)] 
update to ffmpeg 5.1.3

update to ffmpeg 5.1.3

2 years agoupdate to ffmpeg 5.1.2
alingherghescu [Sun, 2 Apr 2023 18:38:35 +0000 (11:38 -0700)] 
update to ffmpeg 5.1.2

- ffmpeg_static will always compile with ffmpeg 5.1.2
- Makefile.ffmpeg added to 5.1.2
- src/muxer/muxer_libav.c: update 'AVOutputFrmat' to 'const AVOutputFrmat'
- src/transcoding/transcode/hwaccels/vaapi.c --> incorporated the struct from libavcodec/vaapi.h
- src/transcoding/transcode/video.c: update type for qdata_size

2 years agotv_meta_tvdb.py: Fix 'languague' typo.
James Bevan [Sat, 8 Apr 2023 11:38:00 +0000 (12:38 +0100)] 
tv_meta_tvdb.py: Fix 'languague' typo.

Typo 'languague' prevents the script from fetching poster art.

Fixes #6262.

2 years agotvhmeta: Fix tvhmeta authentication to the tvheadend API.
James Bevan [Sat, 1 Apr 2023 07:40:46 +0000 (08:40 +0100)] 
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.

2 years agoRemove references to CLA which is no longer available
Flole998 [Sun, 2 Apr 2023 00:17:47 +0000 (02:17 +0200)] 
Remove references to CLA which is no longer available

2 years agoupdated 'AVCodec' to 'const AVCodec'
alingherghescu [Wed, 22 Mar 2023 04:51:42 +0000 (21:51 -0700)] 
updated 'AVCodec' to 'const AVCodec'

- updated 'AVCodec' to 'const AVCodec'
- "avctx->refcounted_frames = 1;" deprecated (not required with: avcodec_receive_frame())

2 years agoremove deprecate struct vaapi_context and the vaapi.h
alingherghescu [Wed, 29 Mar 2023 03:45:51 +0000 (20:45 -0700)] 
remove deprecate struct vaapi_context and the vaapi.h

- remove deprecate struct vaapi_context and the vaapi.h

2 years agoRemove deprecated get_best_effort_timestamp() call
Flole998 [Fri, 24 Mar 2023 00:06:24 +0000 (00:06 +0000)] 
Remove deprecated get_best_effort_timestamp() call

2 years agoremove ffmpeg component avresample
alingherghescu [Thu, 23 Mar 2023 03:23:50 +0000 (20:23 -0700)] 
remove ffmpeg component avresample

- remove ffmpeg component avresample. Is deprecated and replaced by swresample. I verified that all functions from this component are not used in tvh (https://www.ffmpeg.org/doxygen/2.3/group__lavr.html)

2 years agoiconv: Allow using GNU libiconv
Olliver Schinagl [Thu, 23 Feb 2023 17:49:44 +0000 (18:49 +0100)] 
iconv: Allow using GNU libiconv

TVHeadend has a hard-dependency on libiconv. Lets make this a little bit
more flexible by also allowing gnu-libiconv.

This helps with musl-based systems, such as Alpine Linux.

Contributes to #4940.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2 years agoremove unused function and migrate from AVBitStreamFilterContext to AVBSFContext
alingherghescu [Thu, 16 Mar 2023 19:13:05 +0000 (12:13 -0700)] 
remove unused function and migrate from AVBitStreamFilterContext to AVBSFContext

- migrate from AVBitStreamFilterContext to AVBSFContext
- update AVCodec to 'const AVCodec'
- remove unused function: libav_is_encoder()
- remove deprecated functions:
-- AVFormatContext->filename
-- av_register_all() --> https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges (2018-02-06 - 0694d87024 - lavf 58.9.100 - avformat.h)
-- avfilter_register_all() --> https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges (2018-04-01 - f1805d160d - lavfi 7.14.100 - avfilter.h)

2 years agoupdate to ffmpeg codecpar
alingherghescu [Tue, 21 Mar 2023 16:52:40 +0000 (09:52 -0700)] 
update to ffmpeg codecpar

- update to ffmpeg codecpar

2 years agoRevert "fix for 64bit time_t on 32bit systems"
Flole998 [Sun, 12 Mar 2023 11:50:27 +0000 (12:50 +0100)] 
Revert "fix for 64bit time_t on 32bit systems"

This reverts commit 76a6263f1be4e3ccff968b47155b050fcc15f042.

2 years agofix for 64bit time_t on 32bit systems
pykpkg47 [Sun, 5 Mar 2023 02:43:18 +0000 (02:43 +0000)] 
fix for 64bit time_t on 32bit systems

2 years agoupdate NASM to 2.16.01
alingherghescu [Mon, 6 Mar 2023 01:35:53 +0000 (17:35 -0800)] 
update NASM to 2.16.01

- update NASM to 2.16.01

2 years agoupdate vaapi
alingherghescu [Mon, 6 Mar 2023 01:03:37 +0000 (17:03 -0800)] 
update vaapi

- update the code to match the format from vnenc.c (unify format)
- update the default value for level to match software encoding (3.0)

2 years agoDon't attempt to approve PRs automatically
Flole998 [Mon, 6 Mar 2023 01:09:08 +0000 (02:09 +0100)] 
Don't attempt to approve PRs automatically

2 years agoCodeball should also label PRs that need review
Flole998 [Sun, 5 Mar 2023 02:57:06 +0000 (03:57 +0100)] 
Codeball should also label PRs that need review

2 years agoFix for DVB Grabber and IPTV Stream
barzog [Mon, 13 Feb 2023 08:27:48 +0000 (11:27 +0300)] 
Fix for DVB Grabber and IPTV Stream

2 years agoRTSP redirect support fix and moved to http client
spdfrk [Sun, 4 Dec 2022 10:23:58 +0000 (11:23 +0100)] 
RTSP redirect support fix and moved to http client

2 years agoUse codeball for PRs
Flole998 [Tue, 21 Feb 2023 04:13:18 +0000 (05:13 +0100)] 
Use codeball for PRs

2 years agoupdate to ffmpeg codecpar
alingherghescu [Fri, 17 Feb 2023 04:20:28 +0000 (20:20 -0800)] 
update to ffmpeg codecpar

- update to ffmpeg codecpar

2 years agoupdate ffmpeg from 4.4.1 to 4.4.3
alingherghescu [Fri, 10 Feb 2023 04:49:15 +0000 (20:49 -0800)] 
update ffmpeg from 4.4.1 to 4.4.3

- update ffmpeg from 4.4.1 to 4.4.3

2 years agoupdate vaapi
alingherghescu [Mon, 6 Feb 2023 20:01:55 +0000 (12:01 -0800)] 
update vaapi

- added denoise_vaapi
- added sharpness_vaapi

2 years agoupdate vaapi
alingherghescu [Tue, 31 Jan 2023 00:15:04 +0000 (16:15 -0800)] 
update vaapi

- update libvpx to ver. 1.12.0
- replaced tvherror() with tvhinfo for bitrate report
- converted from bps to kbps
- reduced B frame to max 3 (4 is generating artifacts on my system)
- I had to set also bf otherwise will be set later in profile_video_class() with 3
- when low power is enabled max B frame will be disabled (because codec is not using B frames in low power mode)
- h264_vaapi and hevc_vaapi have also dynamic enable/disable for max B frame
- vp9 super frames can be enabled/disabled from the interface
- clean-up some javascript code

2 years agoFix Coverity-Build (#1499)
Flole998 [Sat, 28 Jan 2023 23:40:03 +0000 (00:40 +0100)] 
Fix Coverity-Build  (#1499)

* Add omx dependency for Coverity-Build

* Add libva-dev dependency for Coverity-Build

* Add nvidia-cuda-dev dependency for Coverity-Build

* Enable tvhcsa and memoryinfo for Coverity-Build

* Disable mmal due to unavailability for Coverity-Build

2 years agoRevert "Update debian/compat to version 10"
Flole998 [Sat, 28 Jan 2023 18:29:00 +0000 (19:29 +0100)] 
Revert "Update debian/compat to version 10"

This reverts commit 2a370dd17fcac7e587d45fd9971e346536379ea3.

2 years agoIgnore title mismatch if dup checking by CRID
dave-p [Sun, 15 Jan 2023 10:09:31 +0000 (10:09 +0000)] 
Ignore title mismatch if dup checking by CRID

Some channels add "New: " to the title if this is the first showing, so a title match with repeats will fail.

2 years agoUpdate debian/compat to version 10
Michał Janiszewski [Sun, 4 Dec 2022 22:45:20 +0000 (23:45 +0100)] 
Update debian/compat to version 10

Compat version 10 was declared recommended in 2016.

An important change introduced in 10 was change of default to target
parallel builds

While version 13 is the currently recommended one, it is too new for
systems in use

https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/debhelper.pod#compatibility-levels

2 years agoUnify command time range to 10-300 ms
Peter Bašista [Tue, 17 Jan 2023 20:08:15 +0000 (21:08 +0100)] 
Unify command time range to 10-300 ms

Unify the allowed range of command time
for rotors, switches and unicable devices.

2 years agoUnify power up time range to 10-500 ms
Peter Bašista [Tue, 17 Jan 2023 08:39:59 +0000 (09:39 +0100)] 
Unify power up time range to 10-500 ms

Unify the allowed range of power up time
for rotors, switches and unicable devices.

2 years agoAdd configurable delays after Unicable operations
Peter Bašista [Tue, 17 Jan 2023 07:48:43 +0000 (08:48 +0100)] 
Add configurable delays after Unicable operations

Allow user to adjust the length of time delays
after the Unicable device is powered up
and after a DiSEqC command is sent to it

2 years agoUnify names and order of Unicable-specific configuration fields
Peter Bašista [Tue, 17 Jan 2023 07:48:43 +0000 (08:48 +0100)] 
Unify names and order of Unicable-specific configuration fields

2 years agoAdd descriptions to the existing Unicable configuration fields
Peter Bašista [Tue, 17 Jan 2023 07:46:08 +0000 (08:46 +0100)] 
Add descriptions to the existing Unicable configuration fields

2 years agoupdate vaapi
alingherghescu [Mon, 23 Jan 2023 06:54:06 +0000 (22:54 -0800)] 
update vaapi

- updated function _video_filters_get_filters() due to a bug hidden by previous bug (Bug #6247)
- fixed Decoder HW + Encoder HW --> was generating download / upload that increase CPU usage
- remove vp9 profile0 to 3 (ffmpeg vaapi is not supporting profiles for vp9)
- improve 'tier' and added: level, qmin, qmax, desired_b_depth
- printing Bitrate, Buffer size, Max bitrate (for each transcoding start)
- added superframe for vp9

2 years agodescrambler: cccam: move send keepalive message to traces
Jaroslav Kysela [Mon, 23 Jan 2023 11:08:00 +0000 (12:08 +0100)] 
descrambler: cccam: move send keepalive message to traces

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agodescrambler: cccam - simplify cccam_handle_keys()
Jaroslav Kysela [Mon, 23 Jan 2023 09:56:28 +0000 (10:56 +0100)] 
descrambler: cccam - simplify cccam_handle_keys()

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agodescrambler: cclient: optimization for multiple key clients
Jaroslav Kysela [Mon, 23 Jan 2023 08:39:51 +0000 (09:39 +0100)] 
descrambler: cclient: optimization for multiple key clients

Do not use client when other handles requests.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agodescrambler: cosmetic cleanups, more CAID logs
Jaroslav Kysela [Mon, 23 Jan 2023 08:33:54 +0000 (09:33 +0100)] 
descrambler: cosmetic cleanups, more CAID logs

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agodescrambler: cwc: do not register bad provider numbers for betacrypt and irdeto
Jaroslav Kysela [Sun, 22 Jan 2023 16:11:05 +0000 (17:11 +0100)] 
descrambler: cwc: do not register bad provider numbers for betacrypt and irdeto

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agodescrambler: cwc: Fix the additional card registration (mgclient option in o*s*c...
Jaroslav Kysela [Sun, 22 Jan 2023 15:51:24 +0000 (16:51 +0100)] 
descrambler: cwc: Fix the additional card registration (mgclient option in o*s*c*a*m)

It's expected that new CAIDs and providers are added to the current list rather
than to overwrite the previous fetched providers.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2 years agogrammar: Replace "then" with "than"
Peter Bašista [Sun, 15 Jan 2023 19:45:25 +0000 (20:45 +0100)] 
grammar: Replace "then" with "than"

2 years agoPreserve existing Unicable idnode during the set operation
Peter Bašista [Sun, 15 Jan 2023 19:31:55 +0000 (20:31 +0100)] 
Preserve existing Unicable idnode during the set operation

Currently, the Unicable settings are always cleared
when enabling or disabling the corresponding satellite position
or its owning adapter. The reason is that the idnode with Unicable
configuration is always unconditionally deleted
during the "set" operation.

This change adds a check for the existing Unicable configuration
and preserves the existing idnode if its type remains the same.

The same logic is already used when changing the configuration
related to LNB, switch and rotor.

2 years agoupdated function _video_filters_get_filters()
alingherghescu [Sat, 14 Jan 2023 03:46:19 +0000 (19:46 -0800)] 
updated function _video_filters_get_filters()

- fixed Decoder HW + Encoder SW --> not working (with VAAPI) - Bug #6247
- fixed resize and deinterlace (*_vaapi for hw and ffmpeg for sw)

2 years agoprofile video resize improvements
alingherghescu [Tue, 10 Jan 2023 20:47:10 +0000 (12:47 -0800)] 
profile video resize improvements

- provide the ability to specify if scaling should be performed Up and Down, Up (only) or Down (only)

profile video resize improvements

- provide the ability to specify if scaling should be performed Up and Down, Up (only) or Down (only)

2 years agoAdd autorec duplicate handling default to dvr config.
dave-p [Sun, 25 Dec 2022 10:07:13 +0000 (10:07 +0000)] 
Add autorec duplicate handling default to dvr config.
Default will be applied to new autorecs unless overridden.
duplicate_handling.md: Add details of "Record if Unique" option.

2 years agoupdate vaapi
alingherghescu [Sat, 7 Jan 2023 02:09:28 +0000 (18:09 -0800)] 
update vaapi

- added new settings: platform, bitrate scale factor, low power, loop filter level, loop filter sharpness, async depth
- implemented new (dynamic) settings adjustment (in js)
- added new parameters: b, low_power, loop_filter_level, loop_filter_sharpness, async_depth
- tvhva_context_check_profile() will change TVHVAContext->entrypoint from VAEntrypointEncSlice into VAEntrypointEncSliceLP if VAEntrypointEncSlice is not available for that CODEC (according to VAAPI info)
- moved low_power to tvh_codeo_profile in order to initialize properly the entrypoint
- many error reporting improvements
- separated some bundled conditions

2 years agoremove libavresample from build scripts
Pim Zandbergen [Fri, 30 Dec 2022 00:46:43 +0000 (01:46 +0100)] 
remove libavresample from build scripts

2 years agoAdd amd64 jammy to builds
Flole998 [Wed, 4 Jan 2023 14:48:38 +0000 (14:48 +0000)] 
Add amd64 jammy to builds

2 years agoFix a few more builds, add kinetic support
Flole998 [Wed, 21 Dec 2022 18:37:10 +0000 (18:37 +0000)] 
Fix a few more builds, add kinetic support

2 years agoAllow old builds to pass
Flole998 [Wed, 21 Dec 2022 00:57:32 +0000 (01:57 +0100)] 
Allow old builds to pass

2 years agoBuild for kinetic instead of impish
Flole998 [Wed, 21 Dec 2022 00:34:08 +0000 (01:34 +0100)] 
Build for kinetic instead of impish

2 years agoRemove variable declaration from for-loop
Flole998 [Sat, 17 Dec 2022 18:54:07 +0000 (19:54 +0100)] 
Remove variable declaration from for-loop

2 years agoDon't fail on strict aliasing violations
Flole998 [Sat, 17 Dec 2022 18:46:41 +0000 (19:46 +0100)] 
Don't fail on strict aliasing violations

2 years agoDon't confuse GCC with zero-length array
Cédric Schieli [Sat, 10 Dec 2022 13:45:10 +0000 (14:45 +0100)] 
Don't confuse GCC with zero-length array

Fix FTBFS introduced by 7b95ba4cf9113ae8808b3e4a9425010b607dbaca

Link: https://tvheadend.org/issues/6173
Link: https://tvheadend.org/issues/6226
References: 7b95ba4cf9113ae8808b3e4a9425010b607dbaca
Signed-off-by: Cédric Schieli <cschieli@gmail.com>
2 years agoconfig: Enable HbbTV parser by default
Kacper Michajłow [Mon, 28 Nov 2022 20:00:47 +0000 (21:00 +0100)] 
config: Enable HbbTV parser by default

It make sense to include it always when available

Link: https://tvheadend.org/issues/6223
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>