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 <sebastian_ml@gmx.net>
This commit is contained in:
parent
264f4e872f
commit
b55daa66c9
2 changed files with 2 additions and 48 deletions
|
@ -8,13 +8,13 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=asterisk-chan-dongle
|
PKG_NAME:=asterisk-chan-dongle
|
||||||
PKG_VERSION:=1.1-20170724
|
PKG_VERSION:=1.1-20170913
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=git://github.com/wdoekes/asterisk-chan-dongle.git
|
PKG_SOURCE_URL:=git://github.com/wdoekes/asterisk-chan-dongle.git
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
PKG_SOURCE_VERSION:=1e452f7598266be0970cec582ba32dbc5568868d
|
PKG_SOURCE_VERSION:=4ef5ad7eea7245a031101875be08b924aa1e151b
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue