Changes of Revision 127

libosmocore.spec Changed
x
 
1
@@ -14,13 +14,13 @@
2
 
3
 Name:           libosmocore
4
 Requires: osmocom-master
5
-Version: 1.8.0.98.ec65
6
+Version: 1.8.0.99.29563
7
 Release:        0
8
 Summary:        The Open Source Mobile Communications Core Library
9
 License:        GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later
10
 Group:          Productivity/Telephony/Utilities
11
 Url:            https://osmocom.org/projects/libosmocore/wiki/Libosmocore
12
-Source: libosmocore_1.8.0.98.ec65.tar.xz
13
+Source: libosmocore_1.8.0.99.29563.tar.xz
14
 Source1: rpmlintrc
15
 BuildRequires:  automake >= 1.6
16
 BuildRequires:  libtool >= 2
17
commit_295636b32082b069c1552f46886774a8fd0ca2e6.txt Added
commit_ec65085d5f13e57ed486a31efc242ca9cd1b44c0.txt Deleted
libosmocore_1.8.0.98.ec65.dsc -> libosmocore_1.8.0.99.29563.dsc Changed
22
 
1
@@ -2,7 +2,7 @@
2
 Source: libosmocore
3
 Binary: libosmocore, libosmocodec0, libosmocodec-doc, libosmocoding0, libosmocoding-doc, libosmocore20, libosmocore-doc, libosmogb14, libosmogb-doc, libosmogsm18, libosmogsm-doc, libosmoisdn0, libosmoisdn-doc, libosmovty9, libosmovty-doc, libosmoctrl0, libosmoctrl-doc, libosmosim2, libosmosim-doc, libosmousb0, libosmousb-doc, libosmocore-dev, libosmocore-utils, libosmocore-dbg
4
 Architecture: any all
5
-Version: 1.8.0.98.ec65
6
+Version: 1.8.0.99.29563
7
 Maintainer: Osmocom team <openbsc@lists.osmocom.org>
8
 Homepage: https://projects.osmocom.org/projects/libosmocore
9
 Standards-Version: 3.9.8
10
@@ -35,8 +35,8 @@
11
  libosmovty-doc deb doc optional arch=all
12
  libosmovty9 deb libs optional arch=any
13
 Checksums-Sha1:
14
- d24a82f8ee78e40e1846822d58c7fcac00cfb9bc 1033984 libosmocore_1.8.0.98.ec65.tar.xz
15
+ c4333481f54008a54a79ebafadeb06a3701d30ca 1034104 libosmocore_1.8.0.99.29563.tar.xz
16
 Checksums-Sha256:
17
- abea090760d92cb084eda3aa4160c200d475e12a1cd26bcdd2cc481f346c754d 1033984 libosmocore_1.8.0.98.ec65.tar.xz
18
+ e75925cd0b4ccd3a7bf06e482c62b649dd1ee3129a8ea8ac7930cc6389d5761e 1034104 libosmocore_1.8.0.99.29563.tar.xz
19
 Files:
20
- bf97de578d69c8c815de91d01d9e0fd7 1033984 libosmocore_1.8.0.98.ec65.tar.xz
21
+ b3ca55d4aed53b705e6918dc1f17cb2e 1034104 libosmocore_1.8.0.99.29563.tar.xz
22
libosmocore_1.8.0.98.ec65.tar.xz/.tarball-version -> libosmocore_1.8.0.99.29563.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-1.8.0.98-ec65
3
+1.8.0.99-29563
4
libosmocore_1.8.0.98.ec65.tar.xz/debian/changelog -> libosmocore_1.8.0.99.29563.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-libosmocore (1.8.0.98.ec65) unstable; urgency=medium
3
+libosmocore (1.8.0.99.29563) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom master feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Sun, 16 Apr 2023 12:17:19 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Thu, 20 Apr 2023 01:23:23 +0000
9
 
10
 libosmocore (1.8.0) unstable; urgency=medium
11
 
12
libosmocore_1.8.0.98.ec65.tar.xz/include/osmocom/codec/codec.h -> libosmocore_1.8.0.99.29563.tar.xz/include/osmocom/codec/codec.h Changed
10
 
1
@@ -94,6 +94,8 @@
2
 
3
 enum osmo_gsm631_sid_class osmo_fr_sid_classify(const uint8_t *rtp_payload);
4
 enum osmo_gsm631_sid_class osmo_efr_sid_classify(const uint8_t *rtp_payload);
5
+bool osmo_fr_sid_preen(uint8_t *rtp_payload);
6
+bool osmo_efr_sid_preen(uint8_t *rtp_payload);
7
 
8
 int osmo_amr_rtp_enc(uint8_t *payload, uint8_t cmr, enum osmo_amr_type ft,
9
             enum osmo_amr_quality bfi);
10
libosmocore_1.8.0.98.ec65.tar.xz/src/codec/gsm610.c -> libosmocore_1.8.0.99.29563.tar.xz/src/codec/gsm610.c Changed
46
 
1
@@ -389,3 +389,44 @@
2
    else
3
        return OSMO_GSM631_SID_CLASS_VALID;
4
 }
5
+
6
+/*! Preen potentially-SID FR codec frame in RTP format, ensuring that it is
7
+ *  either a speech frame or a valid SID, and if the latter, making it a
8
+ *  perfect, error-free SID frame.
9
+ *  \paramin rtp_payload Buffer with RTP payload - must be writable!
10
+ *  \returns true if the frame is good, false otherwise
11
+ */
12
+bool osmo_fr_sid_preen(uint8_t *rtp_payload)
13
+{
14
+   enum osmo_gsm631_sid_class sidc;
15
+   uint8_t *p, sub;
16
+
17
+   sidc = osmo_fr_sid_classify(rtp_payload);
18
+   switch (sidc) {
19
+   case OSMO_GSM631_SID_CLASS_SPEECH:
20
+       return true;
21
+   case OSMO_GSM631_SID_CLASS_INVALID:
22
+       return false;
23
+   case OSMO_GSM631_SID_CLASS_VALID:
24
+       /* "Rejuvenate" this SID frame, correcting any errors:
25
+        * zero out all bits that aren't LARc or Xmaxc, thereby
26
+        * clearing all SID code word bits and all unused/reserved
27
+        * bits. */
28
+       p = rtp_payload + 5;    /* skip magic+LARc */
29
+       for (sub = 0; sub < 4; sub++) {
30
+           *p++ = 0;
31
+           *p++ &= 0x1F;
32
+           *p++ &= 0x80;
33
+           *p++ = 0;
34
+           *p++ = 0;
35
+           *p++ = 0;
36
+           *p++ = 0;
37
+       }
38
+       return true;
39
+   default:
40
+       /* There are only 3 possible SID classifications per GSM 06.31
41
+        * section 6.1.1, thus any other return value is a grave error
42
+        * in the code. */
43
+       OSMO_ASSERT(0);
44
+   }
45
+}
46
libosmocore_1.8.0.98.ec65.tar.xz/src/codec/gsm660.c -> libosmocore_1.8.0.99.29563.tar.xz/src/codec/gsm660.c Changed
48
 
1
@@ -351,3 +351,46 @@
2
    else
3
        return OSMO_GSM631_SID_CLASS_VALID;
4
 }
5
+
6
+/*! Preen potentially-SID EFR codec frame in RTP format, ensuring that it is
7
+ *  either a speech frame or a valid SID, and if the latter, making it a
8
+ *  perfect, error-free SID frame.
9
+ *  \paramin rtp_payload Buffer with RTP payload - must be writable!
10
+ *  \returns true if the frame is good, false otherwise
11
+ */
12
+bool osmo_efr_sid_preen(uint8_t *rtp_payload)
13
+{
14
+   enum osmo_gsm631_sid_class sidc;
15
+
16
+   sidc = osmo_efr_sid_classify(rtp_payload);
17
+   switch (sidc) {
18
+   case OSMO_GSM631_SID_CLASS_SPEECH:
19
+       return true;
20
+   case OSMO_GSM631_SID_CLASS_INVALID:
21
+       return false;
22
+   case OSMO_GSM631_SID_CLASS_VALID:
23
+       /* "Rejuvenate" this SID frame, correcting any errors:
24
+        * set all 95 SID code word bits to 1. */
25
+       rtp_payload6  |= 0x6F;
26
+       rtp_payload7   = 0xFF;
27
+       rtp_payload8   = 0xFF;
28
+       rtp_payload9  |= 0x80;
29
+       rtp_payload12 |= 0x3B;
30
+       rtp_payload13  = 0xFF;
31
+       rtp_payload14  = 0xFF;
32
+       rtp_payload15 |= 0xE0;
33
+       rtp_payload19  = 0xFF;
34
+       rtp_payload20  = 0xFF;
35
+       rtp_payload21  = 0xFF;
36
+       rtp_payload25  = 0xFF;
37
+       rtp_payload26 |= 0xFC;
38
+       rtp_payload27  = 0xFF;
39
+       rtp_payload28 |= 0xC0;
40
+       return true;
41
+   default:
42
+       /* There are only 3 possible SID classifications per GSM 06.81
43
+        * section 6.1.1, thus any other return value is a grave error
44
+        * in the code. */
45
+       OSMO_ASSERT(0);
46
+   }
47
+}
48