From b55daa66c968495adcd44b9279ed632c737aac75 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Thu, 14 Sep 2017 20:56:35 +0200 Subject: [PATCH] asterisk-chan-dongle: sync up with master, fix endian issue - Sync module to master. - Drop big endian patch as it was included upstream. - This fixes endian issue reported at https://github.com/wdoekes/asterisk-chan-dongle/issues/44. Signed-off-by: Sebastian Kemper --- net/asterisk-chan-dongle/Makefile | 4 +- .../100-fix-audio-on-big-endian-systems.patch | 46 ------------------- 2 files changed, 2 insertions(+), 48 deletions(-) delete mode 100644 net/asterisk-chan-dongle/patches/100-fix-audio-on-big-endian-systems.patch diff --git a/net/asterisk-chan-dongle/Makefile b/net/asterisk-chan-dongle/Makefile index 43ed2d3..1e53e9e 100644 --- a/net/asterisk-chan-dongle/Makefile +++ b/net/asterisk-chan-dongle/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=asterisk-chan-dongle -PKG_VERSION:=1.1-20170724 +PKG_VERSION:=1.1-20170913 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=git://github.com/wdoekes/asterisk-chan-dongle.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=1e452f7598266be0970cec582ba32dbc5568868d +PKG_SOURCE_VERSION:=4ef5ad7eea7245a031101875be08b924aa1e151b PKG_SOURCE_PROTO:=git PKG_FIXUP:=autoreconf diff --git a/net/asterisk-chan-dongle/patches/100-fix-audio-on-big-endian-systems.patch b/net/asterisk-chan-dongle/patches/100-fix-audio-on-big-endian-systems.patch deleted file mode 100644 index 768782b..0000000 --- a/net/asterisk-chan-dongle/patches/100-fix-audio-on-big-endian-systems.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/channel.c -+++ b/channel.c -@@ -539,6 +539,19 @@ again: - } - } - -+// see https://github.com/openwrt/telephony/issues/7 -+static inline void change_audio_endianness_to_le(struct iovec *iov, int iovcnt) -+{ -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+ return; // nothing to do -+#else -+ for(;iovcnt-->0;iov++) -+ { -+ ast_swapcopy_samples(iov->iov_base, iov->iov_base, iov->iov_len/2); -+ } -+#endif -+} -+ - #/* */ - static void timing_write (struct pvt* pvt) - { -@@ -566,6 +579,7 @@ static void timing_write (struct pvt* pv - iovcnt = mixb_read_n_iov (&pvt->a_write_mixb, iov, FRAME_SIZE); - mixb_read_n_iov (&pvt->a_write_mixb, iov, FRAME_SIZE); - mixb_read_upd (&pvt->a_write_mixb, FRAME_SIZE); -+ change_audio_endianness_to_le(iov, iovcnt); - } - else if (used > 0) - { -@@ -579,6 +593,7 @@ static void timing_write (struct pvt* pv - iov[iovcnt].iov_base = silence_frame; - iov[iovcnt].iov_len = FRAME_SIZE - used; - iovcnt++; -+ change_audio_endianness_to_le(iov, iovcnt); - } - else - { -@@ -588,6 +603,7 @@ static void timing_write (struct pvt* pv - iov[0].iov_base = silence_frame; - iov[0].iov_len = FRAME_SIZE; - iovcnt = 1; -+ // ignore endianness for zeros - // continue; - } - -- 2.30.2