* [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components
@ 2021-04-03 15:22 Bernd Kuhls
2021-04-03 15:37 ` Yann E. MORIN
2021-04-04 12:30 ` Yann E. MORIN
0 siblings, 2 replies; 4+ messages in thread
From: Bernd Kuhls @ 2021-04-03 15:22 UTC (permalink / raw)
To: buildroot
When enabled some IPTV streams are piped using /usr/bin/ffmpeg so make
sure that the ffmpeg binary is present.
Transcoding support can already be disabled reducing /usr/bin/tvheadend
by 1,03MB.
By disabling all new options provided by this patch the binary size can
additionally be reduced by 2,08MB.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: removed build-dependency to ffmpeg for iptv support (Yann)
re-wrapped descrambler configure options (Yann)
package/tvheadend/Config.in | 27 ++++++++++++++++++++++++++-
package/tvheadend/tvheadend.mk | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 1 deletion(-)
diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
index 909d955c02..4b9c7267d2 100644
--- a/package/tvheadend/Config.in
+++ b/package/tvheadend/Config.in
@@ -3,7 +3,7 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library"
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
-config BR2_PACKAGE_TVHEADEND
+menuconfig BR2_PACKAGE_TVHEADEND
bool "tvheadend"
depends on !BR2_STATIC_LIBS # dladdr()
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
@@ -28,6 +28,31 @@ config BR2_PACKAGE_TVHEADEND
if BR2_PACKAGE_TVHEADEND
+config BR2_PACKAGE_TVHEADEND_DESCRAMBLER
+ bool "descrambler support"
+ default y
+ help
+ Enable support for various descrambler modules.
+
+config BR2_PACKAGE_TVHEADEND_IPTV
+ bool "IPTV support"
+ default y
+ select BR2_PACKAGE_FFMPEG_FFMPEG if BR2_PACKAGE_FFMPEG # runtime
+ help
+ Enable IPTV support.
+
+config BR2_PACKAGE_TVHEADEND_SATIP
+ bool "SAT>IP support"
+ default y
+ help
+ Enable SAT>IP support.
+
+config BR2_PACKAGE_TVHEADEND_TIMESHIFT
+ bool "timeshift support"
+ default y
+ help
+ Enable timeshift support.
+
config BR2_PACKAGE_TVHEADEND_TRANSCODING
bool "transcoding support"
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
index 114142bfa9..b694c44e3b 100644
--- a/package/tvheadend/tvheadend.mk
+++ b/package/tvheadend/tvheadend.mk
@@ -63,6 +63,40 @@ TVHEADEND_CONF_OPTS += \
--disable-libx265
endif
+ifeq ($(BR2_PACKAGE_TVHEADEND_DESCRAMBLER),y)
+TVHEADEND_CONF_OPTS += \
+ --enable-cardclient \
+ --enable-cwc \
+ --enable-cccam \
+ --enable-capmt \
+ --enable-constcw
+else
+TVHEADEND_CONF_OPTS += \
+ --disable-cardclient \
+ --disable-cwc \
+ --disable-cccam \
+ --disable-capmt \
+ --disable-constcw
+endif
+
+ifeq ($(BR2_PACKAGE_TVHEADEND_IPTV),y)
+TVHEADEND_CONF_OPTS += --enable-iptv
+else
+TVHEADEND_CONF_OPTS += --disable-iptv
+endif
+
+ifeq ($(BR2_PACKAGE_TVHEADEND_SATIP),y)
+TVHEADEND_CONF_OPTS += --enable-satip_client --enable-satip_server
+else
+TVHEADEND_CONF_OPTS += --disable-satip_client --disable-satip_server
+endif
+
+ifeq ($(BR2_PACKAGE_TVHEADEND_TIMESHIFT),y)
+TVHEADEND_CONF_OPTS += --enable-timeshift
+else
+TVHEADEND_CONF_OPTS += --disable-timeshift
+endif
+
ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
TVHEADEND_DEPENDENCIES += libdvbcsa
TVHEADEND_CONF_OPTS += --enable-tvhcsa
--
2.29.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components
2021-04-03 15:22 [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components Bernd Kuhls
@ 2021-04-03 15:37 ` Yann E. MORIN
2021-04-04 12:30 ` Yann E. MORIN
1 sibling, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2021-04-03 15:37 UTC (permalink / raw)
To: buildroot
Bernd, All,
On 2021-04-03 17:22 +0200, Bernd Kuhls spake thusly:
> When enabled some IPTV streams are piped using /usr/bin/ffmpeg so make
> sure that the ffmpeg binary is present.
>
> Transcoding support can already be disabled reducing /usr/bin/tvheadend
> by 1,03MB.
>
> By disabling all new options provided by this patch the binary size can
> additionally be reduced by 2,08MB.
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
[--SNIP--]
> +config BR2_PACKAGE_TVHEADEND_IPTV
> + bool "IPTV support"
> + default y
> + select BR2_PACKAGE_FFMPEG_FFMPEG if BR2_PACKAGE_FFMPEG # runtime
As we discussed in the previous thread, IPTV really only works fully
when ffmpeg (the program) is available, which wil not be the case if
ffmpeg (the package) is not enabled.
As I suggested previously, we should ensure that ffmpeg is enabled:
config BR2_PACKAGE_TVHEADEND_IPTV
bool "IPTV support"
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
select BR2_PACKAGE_FFMPEG # runtime
select BR2_PACKAGE_FFMPEG_FFMPEG # runtime
If you agree, I can change that when applying...
Regards,
Yann E. MORIN.
> + help
> + Enable IPTV support.
> +
> +config BR2_PACKAGE_TVHEADEND_SATIP
> + bool "SAT>IP support"
> + default y
> + help
> + Enable SAT>IP support.
> +
> +config BR2_PACKAGE_TVHEADEND_TIMESHIFT
> + bool "timeshift support"
> + default y
> + help
> + Enable timeshift support.
> +
> config BR2_PACKAGE_TVHEADEND_TRANSCODING
> bool "transcoding support"
> depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
> index 114142bfa9..b694c44e3b 100644
> --- a/package/tvheadend/tvheadend.mk
> +++ b/package/tvheadend/tvheadend.mk
> @@ -63,6 +63,40 @@ TVHEADEND_CONF_OPTS += \
> --disable-libx265
> endif
>
> +ifeq ($(BR2_PACKAGE_TVHEADEND_DESCRAMBLER),y)
> +TVHEADEND_CONF_OPTS += \
> + --enable-cardclient \
> + --enable-cwc \
> + --enable-cccam \
> + --enable-capmt \
> + --enable-constcw
> +else
> +TVHEADEND_CONF_OPTS += \
> + --disable-cardclient \
> + --disable-cwc \
> + --disable-cccam \
> + --disable-capmt \
> + --disable-constcw
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_IPTV),y)
> +TVHEADEND_CONF_OPTS += --enable-iptv
> +else
> +TVHEADEND_CONF_OPTS += --disable-iptv
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_SATIP),y)
> +TVHEADEND_CONF_OPTS += --enable-satip_client --enable-satip_server
> +else
> +TVHEADEND_CONF_OPTS += --disable-satip_client --disable-satip_server
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_TIMESHIFT),y)
> +TVHEADEND_CONF_OPTS += --enable-timeshift
> +else
> +TVHEADEND_CONF_OPTS += --disable-timeshift
> +endif
> +
> ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
> TVHEADEND_DEPENDENCIES += libdvbcsa
> TVHEADEND_CONF_OPTS += --enable-tvhcsa
> --
> 2.29.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components
2021-04-03 15:22 [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components Bernd Kuhls
2021-04-03 15:37 ` Yann E. MORIN
@ 2021-04-04 12:30 ` Yann E. MORIN
2021-04-04 14:54 ` Bernd Kuhls
1 sibling, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2021-04-04 12:30 UTC (permalink / raw)
To: buildroot
Bernd, All,
On 2021-04-03 17:22 +0200, Bernd Kuhls spake thusly:
> When enabled some IPTV streams are piped using /usr/bin/ffmpeg so make
> sure that the ffmpeg binary is present.
>
> Transcoding support can already be disabled reducing /usr/bin/tvheadend
> by 1,03MB.
>
> By disabling all new options provided by this patch the binary size can
> additionally be reduced by 2,08MB.
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
I've split that into one commit per new option.
Also, I've dropped selecting ffmpeg's ffmpeg command line tool for the
IPTV support, because as you said youreself, not all IPTV streams will
require ffmpeg. Instead, I've added a note in the help text, to direct
users to enable it if they need it.
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> v2: removed build-dependency to ffmpeg for iptv support (Yann)
> re-wrapped descrambler configure options (Yann)
>
> package/tvheadend/Config.in | 27 ++++++++++++++++++++++++++-
> package/tvheadend/tvheadend.mk | 34 ++++++++++++++++++++++++++++++++++
> 2 files changed, 60 insertions(+), 1 deletion(-)
>
> diff --git a/package/tvheadend/Config.in b/package/tvheadend/Config.in
> index 909d955c02..4b9c7267d2 100644
> --- a/package/tvheadend/Config.in
> +++ b/package/tvheadend/Config.in
> @@ -3,7 +3,7 @@ comment "tvheadend needs a toolchain w/ NPTL, headers >= 3.2, dynamic library"
> !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 || BR2_STATIC_LIBS
> depends on BR2_TOOLCHAIN_HAS_SYNC_4
>
> -config BR2_PACKAGE_TVHEADEND
> +menuconfig BR2_PACKAGE_TVHEADEND
> bool "tvheadend"
> depends on !BR2_STATIC_LIBS # dladdr()
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> @@ -28,6 +28,31 @@ config BR2_PACKAGE_TVHEADEND
>
> if BR2_PACKAGE_TVHEADEND
>
> +config BR2_PACKAGE_TVHEADEND_DESCRAMBLER
> + bool "descrambler support"
> + default y
> + help
> + Enable support for various descrambler modules.
> +
> +config BR2_PACKAGE_TVHEADEND_IPTV
> + bool "IPTV support"
> + default y
> + select BR2_PACKAGE_FFMPEG_FFMPEG if BR2_PACKAGE_FFMPEG # runtime
> + help
> + Enable IPTV support.
> +
> +config BR2_PACKAGE_TVHEADEND_SATIP
> + bool "SAT>IP support"
> + default y
> + help
> + Enable SAT>IP support.
> +
> +config BR2_PACKAGE_TVHEADEND_TIMESHIFT
> + bool "timeshift support"
> + default y
> + help
> + Enable timeshift support.
> +
> config BR2_PACKAGE_TVHEADEND_TRANSCODING
> bool "transcoding support"
> depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
> diff --git a/package/tvheadend/tvheadend.mk b/package/tvheadend/tvheadend.mk
> index 114142bfa9..b694c44e3b 100644
> --- a/package/tvheadend/tvheadend.mk
> +++ b/package/tvheadend/tvheadend.mk
> @@ -63,6 +63,40 @@ TVHEADEND_CONF_OPTS += \
> --disable-libx265
> endif
>
> +ifeq ($(BR2_PACKAGE_TVHEADEND_DESCRAMBLER),y)
> +TVHEADEND_CONF_OPTS += \
> + --enable-cardclient \
> + --enable-cwc \
> + --enable-cccam \
> + --enable-capmt \
> + --enable-constcw
> +else
> +TVHEADEND_CONF_OPTS += \
> + --disable-cardclient \
> + --disable-cwc \
> + --disable-cccam \
> + --disable-capmt \
> + --disable-constcw
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_IPTV),y)
> +TVHEADEND_CONF_OPTS += --enable-iptv
> +else
> +TVHEADEND_CONF_OPTS += --disable-iptv
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_SATIP),y)
> +TVHEADEND_CONF_OPTS += --enable-satip_client --enable-satip_server
> +else
> +TVHEADEND_CONF_OPTS += --disable-satip_client --disable-satip_server
> +endif
> +
> +ifeq ($(BR2_PACKAGE_TVHEADEND_TIMESHIFT),y)
> +TVHEADEND_CONF_OPTS += --enable-timeshift
> +else
> +TVHEADEND_CONF_OPTS += --disable-timeshift
> +endif
> +
> ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
> TVHEADEND_DEPENDENCIES += libdvbcsa
> TVHEADEND_CONF_OPTS += --enable-tvhcsa
> --
> 2.29.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-04 14:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-03 15:22 [Buildroot] [PATCH v2 1/1] package/tvheadend: add various options to disable optional components Bernd Kuhls
2021-04-03 15:37 ` Yann E. MORIN
2021-04-04 12:30 ` Yann E. MORIN
2021-04-04 14:54 ` Bernd Kuhls
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox