Changes of Revision 127
libosmocore.spec
Changed
x
1
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
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
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
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
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
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
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
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