Skip to contentSkip to conversation

package/libdvbcsa: New package

PATCH New Bernd Kuhls 2 participants 14 messages Oct 14, 2014 – Oct 30, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/7 package/libdvbcsa: New package

---
v3: removed md5 hash (Yann)
v2: no changes

 package/Config.in                |    1 +
 package/libdvbcsa/Config.in      |    9 +++++++++
 package/libdvbcsa/libdvbcsa.hash |    4 ++++
 package/libdvbcsa/libdvbcsa.mk   |   31 +++++++++++++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 package/libdvbcsa/Config.in
 create mode 100644 package/libdvbcsa/libdvbcsa.hash
 create mode 100644 package/libdvbcsa/libdvbcsa.mk
package/Config.in +1 -0
index 186ffea..da059d8 100644
@@ -745,6 +745,7 @@ endmenu
 menu "Multimedia"
 	source "package/libass/Config.in"
 	source "package/libbluray/Config.in"
+	source "package/libdvbcsa/Config.in"
 	source "package/libdvbsi/Config.in"
 	source "package/libdvdnav/Config.in"
 	source "package/libdvdread/Config.in"
package/libdvbcsa/Config.in new file +9 -0
new file mode 100644
index 0000000..dd7dc15
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBDVBCSA
+	bool "libdvbcsa"
+	help
+	  libdvbcsa is a free implementation of the DVB Common Scrambling
+	  Algorithm - DVB/CSA - with encryption and decryption capabilities
+
+	  As libdvbcsa implements a standard, it is completely legal to use it.
+
+	  http://www.videolan.org/developers/libdvbcsa.html
package/libdvbcsa/libdvbcsa.hash new file +4 -0
new file mode 100644
index 0000000..d8360e6
@@ -0,0 +1,4 @@
+# From http://download.videolan.org/pub/videolan/libdvbcsa/1.1.0/libdvbcsa-1.1.0.tar.gz.sha256
+sha256	4db78af5cdb2641dfb1136fe3531960a477c9e3e3b6ba19a2754d046af3f456d	libdvbcsa-1.1.0.tar.gz
+# From http://download.videolan.org/pub/videolan/libdvbcsa/1.1.0/libdvbcsa-1.1.0.tar.gz.sha1
+sha1	5f4640a7e93ae6494f24a881414e5c343f803365				libdvbcsa-1.1.0.tar.gz
package/libdvbcsa/libdvbcsa.mk new file +31 -0
new file mode 100644
index 0000000..ef1d957
@@ -0,0 +1,31 @@
+################################################################################
+#
+# libdvbcsa
+#
+################################################################################
+
+LIBDVBCSA_VERSION = 1.1.0
+LIBDVBCSA_SITE = http://download.videolan.org/pub/videolan/libdvbcsa/$(LIBDVBCSA_VERSION)
+LIBDVBCSA_LICENSE = GPLv2+
+LIBDVBCSA_LICENSE_FILES = COPYING
+LIBDVBCSA_INSTALL_STAGING = YES
+
+ifeq ($(BR2_X86_CPU_HAS_MMX),y)
+LIBDVBCSA_CONF_OPTS += --enable-mmx
+else
+LIBDVBCSA_CONF_OPTS += --disable-mmx
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
+LIBDVBCSA_CONF_OPTS += --enable-sse2
+else
+LIBDVBCSA_CONF_OPTS += --disable-sse2
+endif
+
+ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
+LIBDVBCSA_CONF_OPTS += --enable-altivec
+else
+LIBDVBCSA_CONF_OPTS += --disable-altivec
+endif
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v3 2/7 package/ffmpeg: Enable support for libavresample

---
v3: no changes
v2: no changes

 package/ffmpeg/Config.in |    5 +++++
 package/ffmpeg/ffmpeg.mk |    6 ++++++
 2 files changed, 11 insertions(+)
package/ffmpeg/Config.in +5 -0
index 20d5231..6fde46e 100644
@@ -49,6 +49,11 @@ config BR2_PACKAGE_FFMPEG_FFSERVER
 	help
 	  FFserver is a streaming server for both audio and video.
 
+config BR2_PACKAGE_FFMPEG_AVRESAMPLE
+	bool "Build libavresample"
+	help
+	  Avresample is a audio conversion library for compatibility.
+
 config BR2_PACKAGE_FFMPEG_POSTPROC
 	bool "Build libpostproc"
 	depends on BR2_PACKAGE_FFMPEG_GPL
package/ffmpeg/ffmpeg.mk +6 -0
index af4e1f6..0493385 100644
@@ -104,6 +104,12 @@ else
 FFMPEG_CONF_OPTS += --disable-ffserver
 endif
 
+ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y)
+FFMPEG_CONF_OPTS += --enable-avresample
+else
+FFMPEG_CONF_OPTS += --disable-avresample
+endif
+
 ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y)
 FFMPEG_CONF_OPTS += --enable-postproc
 else
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v3 2/7 package/ffmpeg: Enable support for libavresample

Dear Bernd Kuhls,

Quoted 9 lines · Bernd Kuhls

---
v3: no changes
v2: no changes

 package/ffmpeg/Config.in |    5 +++++
 package/ffmpeg/ffmpeg.mk |    6 ++++++
 2 files changed, 11 insertions(+)

Applied, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v3 3/7 package/tvheadend: Needs iconv()

In reply to Bernd Kuhls

Fixes
CC src/intlconv.o
src/intlconv.c:1:19: fatal error: iconv.h: No such file or directory
#include <iconv.h>

with this defconfig

BR2_arm=y
BR2_cortex_a15=y
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_TVHEADEND=y

---
v3: no changes
v2: no changes

 package/tvheadend/Config.in |    1 +
 1 file changed, 1 insertion(+)
package/tvheadend/Config.in +1 -0
index bb71d81..f7182a1 100644
@@ -13,6 +13,7 @@ config BR2_PACKAGE_TVHEADEND
 	# architecture is avr32, which uses gcc 4.2.
 	depends on !BR2_avr32
 	select BR2_PACKAGE_DTV_SCAN_TABLES
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSL
 	help
 	  Tvheadend is a TV streaming server for Linux supporting DVB-S,
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH v3 3/7 package/tvheadend: Needs iconv()

Dear Bernd Kuhls,

Quoted 16 lines · Bernd Kuhls

Fixes
CC src/intlconv.o
src/intlconv.c:1:19: fatal error: iconv.h: No such file or directory
#include <iconv.h>

with this defconfig

BR2_arm=y
BR2_cortex_a15=y
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_TVHEADEND=y

Quoted 1 line

Applied, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v3 4/7 package/tvheadend: Add support for libdvbcsa

In reply to Bernd Kuhls

---
v3: added TVHEADEND_CONF_OPTS, tvheadend is not an autoconf-package
v2: no changes

 package/tvheadend/tvheadend.mk |    8 ++++++++
 1 file changed, 8 insertions(+)
package/tvheadend/tvheadend.mk +8 -0
index 1445838..54112a6 100644
@@ -14,6 +14,13 @@ ifeq ($(BR2_PACKAGE_AVAHI),y)
 TVHEADEND_DEPENDENCIES += avahi
 endif
 
+ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
+TVHEADEND_DEPENDENCIES += libdvbcsa
+TVHEADEND_CONF_OPTS += --enable-dvbcsa
+else
+TVHEADEND_CONF_OPTS += --disable-dvbcsa
+endif
+
 ifeq ($(BR2_PACKAGE_LIBICONV),y)
 TVHEADEND_DEPENDENCIES += libiconv
 endif
@@ -30,6 +37,7 @@ define TVHEADEND_CONFIGURE_CMDS
 	 --cpu="$(BR2_GCC_TARGET_CPU)"		\
 	 --python="$(HOST_DIR)/usr/bin/python"	\
 	 --disable-dvbscan			\
+	 $(TVHEADEND_CONF_OPTS)			\
 	)
 endef
 
Signature · 1 line
1.7.10.4
#6 lore raw

PATCH v3 4/7 package/tvheadend: Add support for libdvbcsa

Dear Bernd Kuhls,

Quoted 5 lines · Bernd Kuhls

---
v3: added TVHEADEND_CONF_OPTS, tvheadend is not an autoconf-package
v2: no changes

Patches 4 to 6 applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH v3 5/7 package/tvheadend: Enable bundled build

In reply to Bernd Kuhls

host-python is needed to create a bundled version of the tvheadend binary which includes all files used by the web UI.

Having host-python alone as dependency is not enough, we need to add --enable-bundle to enable this functionality.

Also remove the now bundled webinterface files from /usr/share/tvheadend/

---
v3: no changes
v2: added hook to remove webinterface files, they are bundled now

 package/tvheadend/tvheadend.mk |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
package/tvheadend/tvheadend.mk +9 -1
index 54112a6..99405fc 100644
@@ -37,6 +37,7 @@ define TVHEADEND_CONFIGURE_CMDS
 	 --cpu="$(BR2_GCC_TARGET_CPU)"		\
 	 --python="$(HOST_DIR)/usr/bin/python"	\
 	 --disable-dvbscan			\
+	 --enable-bundle			\
 	 $(TVHEADEND_CONF_OPTS)			\
 	)
 endef
@@ -49,6 +50,13 @@ define TVHEADEND_INSTALL_TARGET_CMDS
 	$(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
 endef
 
+define TVHEADEND_CLEAN_SHARE
+	rm -rf "$(TARGET_DIR)/usr/share/tvheadend/docs"
+	rm -rf "$(TARGET_DIR)/usr/share/tvheadend/src"
+endef
+
+TVHEADEND_POST_INSTALL_TARGET_HOOKS += TVHEADEND_CLEAN_SHARE
+
 #----------------------------------------------------------------------------
 # To run tvheadend, we need:
 #  - a startup script, and its config file
@@ -59,7 +67,7 @@ define TVHEADEND_INSTALL_DB
 	              $(TARGET_DIR)/home/tvheadend/.hts/tvheadend/accesscontrol/1
 	chmod -R go-rwx $(TARGET_DIR)/home/tvheadend
 endef
-TVHEADEND_POST_INSTALL_TARGET_HOOKS = TVHEADEND_INSTALL_DB
+TVHEADEND_POST_INSTALL_TARGET_HOOKS += TVHEADEND_INSTALL_DB
 
 define TVHEADEND_INSTALL_INIT_SYSV
 	$(INSTALL) -D package/tvheadend/etc.default.tvheadend $(TARGET_DIR)/etc/default/tvheadend
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH v3 6/7 package/tvheadend: Bump version to current git master

In reply to Bernd Kuhls

---
v3: bump to current git master
v2: bump to current git master

 package/tvheadend/tvheadend.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/tvheadend/tvheadend.mk +1 -1
index 99405fc..8acf6af 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-TVHEADEND_VERSION = ca742e00a7717787351e1a432ca9b41f93369d60
+TVHEADEND_VERSION = 8cdaab42c5a1aa7cd646fcbfd9ba3ce9cf410b34
 TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION))
 TVHEADEND_LICENSE = GPLv3+
 TVHEADEND_LICENSE_FILES = LICENSE.md
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH v3 7/7 package/tvheadend: Add transcoding support by ffmpeg

In reply to Bernd Kuhls

---
v3: no changes
v2: add --disable-libffmpeg_static, newly added option to git master

 package/tvheadend/tvheadend.mk |    8 ++++++++
 1 file changed, 8 insertions(+)
package/tvheadend/tvheadend.mk +8 -0
index 8acf6af..357ba7d 100644
@@ -14,6 +14,13 @@ ifeq ($(BR2_PACKAGE_AVAHI),y)
 TVHEADEND_DEPENDENCIES += avahi
 endif
 
+ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE)$(BR2_PACKAGE_FFMPEG_SWSCALE),yy)
+TVHEADEND_DEPENDENCIES += ffmpeg
+TVHEADEND_CONF_OPTS += --enable-libav
+else
+TVHEADEND_CONF_OPTS += --disable-libav
+endif
+
 ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
 TVHEADEND_DEPENDENCIES += libdvbcsa
 TVHEADEND_CONF_OPTS += --enable-dvbcsa
@@ -38,6 +45,7 @@ define TVHEADEND_CONFIGURE_CMDS
 	 --python="$(HOST_DIR)/usr/bin/python"	\
 	 --disable-dvbscan			\
 	 --enable-bundle			\
+	 --disable-libffmpeg_static		\
 	 $(TVHEADEND_CONF_OPTS)			\
 	)
 endef
Signature · 1 line
1.7.10.4
#10 lore raw

PATCH v3 7/7 package/tvheadend: Add transcoding support by ffmpeg

Dear Bernd Kuhls,

package/tvheadend/tvheadend.mk define TVHEADEND_CONFIGURE_CMDS · line 48

Quoted 8 lines · Bernd Kuhls

ifeq ($(BR2_PACKAGE_LIBDVBCSA),y)
TVHEADEND_DEPENDENCIES += libdvbcsa
TVHEADEND_CONF_OPTS += --enable-dvbcsa

package/tvheadend/tvheadend.mk +1 -0
@@ -38,6 +45,7 @@ define TVHEADEND_CONFIGURE_CMDS
 	 --python="$(HOST_DIR)/usr/bin/python"	\
 	 --disable-dvbscan			\
 	 --enable-bundle			\
+	 --disable-libffmpeg_static		\

Maybe I haven't looked properly, but I don't see this option supported by tvheadend configure script. Can you check?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#11 lore raw

PATCH v3 7/7 package/tvheadend: Add transcoding support by ffmpeg

[posted and mailed]

Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20141028221104.35a56dd4 at free-electrons.com:

Quoted 4 lines
Quoted 1 line

+ --disable-libffmpeg_static \

Maybe I haven't looked properly, but I don't see this option supported by tvheadend configure script. Can you check?

Hi,

you will find the option here:
https://github.com/tvheadend/tvheadend/blob/master/configure#L36

Regards, Bernd

#12 lore raw

PATCH v3 7/7 package/tvheadend: Add transcoding support by ffmpeg

Dear Bernd Kuhls,

Quoted 7 lines · Bernd Kuhls

[posted and mailed]

Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20141028221104.35a56dd4 at free-electrons.com:

Quoted 2 lines
Quoted 1 line

+ --disable-libffmpeg_static \

Quoted 7 lines
Quoted 2 lines

Maybe I haven't looked properly, but I don't see this option supported by tvheadend configure script. Can you check?

Hi,

you will find the option here:
https://github.com/tvheadend/tvheadend/blob/master/configure#L36

Aah, yes, it's there. Presumably I was going at the tvheadend code prior to the recent bump.

However, it's not clear to me what this option does, and therefore was is the impact on tvheadend.

Also, the code:

+ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE)$(BR2_PACKAGE_FFMPEG_SWSCALE),yy) +TVHEADEND_DEPENDENCIES += ffmpeg
+TVHEADEND_CONF_OPTS += --enable-libav
+else
+TVHEADEND_CONF_OPTS += --disable-libav
+endif

Means that the user needs to know that both the avresample and swscale suboptions of ffmpeg have to be enabled in order to have ffmpeg support in tvheadend. Not easy to know. Should we do something like:

select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG

in the tvheadend/Config.in file? This way the user would only have to enable BR2_PACKAGE_FFMPEG to get ffmpeg support in tvheadend. And the condition could be simplified to just test BR2_PACKAGE_FFMPEG.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#13 lore raw

PATCH v3 1/7 package/libdvbcsa: New package

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls

---
v3: removed md5 hash (Yann)
v2: no changes

Quoted 8 lines
 package/Config.in                |    1 +
 package/libdvbcsa/Config.in      |    9 +++++++++
 package/libdvbcsa/libdvbcsa.hash |    4 ++++
 package/libdvbcsa/libdvbcsa.mk   |   31 +++++++++++++++++++++++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 package/libdvbcsa/Config.in
 create mode 100644 package/libdvbcsa/libdvbcsa.hash
 create mode 100644 package/libdvbcsa/libdvbcsa.mk

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com