Projects
osmocom:master
libosmocore
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 127
View file
libosmocore.spec
Changed
@@ -14,13 +14,13 @@ Name: libosmocore Requires: osmocom-master -Version: 1.8.0.98.ec65 +Version: 1.8.0.99.29563 Release: 0 Summary: The Open Source Mobile Communications Core Library License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later Group: Productivity/Telephony/Utilities Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore -Source: libosmocore_1.8.0.98.ec65.tar.xz +Source: libosmocore_1.8.0.99.29563.tar.xz Source1: rpmlintrc BuildRequires: automake >= 1.6 BuildRequires: libtool >= 2
View file
commit_295636b32082b069c1552f46886774a8fd0ca2e6.txt
Added
View file
commit_ec65085d5f13e57ed486a31efc242ca9cd1b44c0.txt
Deleted
View file
libosmocore_1.8.0.98.ec65.dsc -> libosmocore_1.8.0.99.29563.dsc
Changed
@@ -2,7 +2,7 @@ Source: libosmocore 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 Architecture: any all -Version: 1.8.0.98.ec65 +Version: 1.8.0.99.29563 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/libosmocore Standards-Version: 3.9.8 @@ -35,8 +35,8 @@ libosmovty-doc deb doc optional arch=all libosmovty9 deb libs optional arch=any Checksums-Sha1: - d24a82f8ee78e40e1846822d58c7fcac00cfb9bc 1033984 libosmocore_1.8.0.98.ec65.tar.xz + c4333481f54008a54a79ebafadeb06a3701d30ca 1034104 libosmocore_1.8.0.99.29563.tar.xz Checksums-Sha256: - abea090760d92cb084eda3aa4160c200d475e12a1cd26bcdd2cc481f346c754d 1033984 libosmocore_1.8.0.98.ec65.tar.xz + e75925cd0b4ccd3a7bf06e482c62b649dd1ee3129a8ea8ac7930cc6389d5761e 1034104 libosmocore_1.8.0.99.29563.tar.xz Files: - bf97de578d69c8c815de91d01d9e0fd7 1033984 libosmocore_1.8.0.98.ec65.tar.xz + b3ca55d4aed53b705e6918dc1f17cb2e 1034104 libosmocore_1.8.0.99.29563.tar.xz
View file
libosmocore_1.8.0.98.ec65.tar.xz/.tarball-version -> libosmocore_1.8.0.99.29563.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.8.0.98-ec65 +1.8.0.99-29563
View file
libosmocore_1.8.0.98.ec65.tar.xz/debian/changelog -> libosmocore_1.8.0.99.29563.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -libosmocore (1.8.0.98.ec65) unstable; urgency=medium +libosmocore (1.8.0.99.29563) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Sun, 16 Apr 2023 12:17:19 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Thu, 20 Apr 2023 01:23:23 +0000 libosmocore (1.8.0) unstable; urgency=medium
View file
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
@@ -94,6 +94,8 @@ enum osmo_gsm631_sid_class osmo_fr_sid_classify(const uint8_t *rtp_payload); enum osmo_gsm631_sid_class osmo_efr_sid_classify(const uint8_t *rtp_payload); +bool osmo_fr_sid_preen(uint8_t *rtp_payload); +bool osmo_efr_sid_preen(uint8_t *rtp_payload); int osmo_amr_rtp_enc(uint8_t *payload, uint8_t cmr, enum osmo_amr_type ft, enum osmo_amr_quality bfi);
View file
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
@@ -389,3 +389,44 @@ else return OSMO_GSM631_SID_CLASS_VALID; } + +/*! Preen potentially-SID FR codec frame in RTP format, ensuring that it is + * either a speech frame or a valid SID, and if the latter, making it a + * perfect, error-free SID frame. + * \paramin rtp_payload Buffer with RTP payload - must be writable! + * \returns true if the frame is good, false otherwise + */ +bool osmo_fr_sid_preen(uint8_t *rtp_payload) +{ + enum osmo_gsm631_sid_class sidc; + uint8_t *p, sub; + + sidc = osmo_fr_sid_classify(rtp_payload); + switch (sidc) { + case OSMO_GSM631_SID_CLASS_SPEECH: + return true; + case OSMO_GSM631_SID_CLASS_INVALID: + return false; + case OSMO_GSM631_SID_CLASS_VALID: + /* "Rejuvenate" this SID frame, correcting any errors: + * zero out all bits that aren't LARc or Xmaxc, thereby + * clearing all SID code word bits and all unused/reserved + * bits. */ + p = rtp_payload + 5; /* skip magic+LARc */ + for (sub = 0; sub < 4; sub++) { + *p++ = 0; + *p++ &= 0x1F; + *p++ &= 0x80; + *p++ = 0; + *p++ = 0; + *p++ = 0; + *p++ = 0; + } + return true; + default: + /* There are only 3 possible SID classifications per GSM 06.31 + * section 6.1.1, thus any other return value is a grave error + * in the code. */ + OSMO_ASSERT(0); + } +}
View file
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
@@ -351,3 +351,46 @@ else return OSMO_GSM631_SID_CLASS_VALID; } + +/*! Preen potentially-SID EFR codec frame in RTP format, ensuring that it is + * either a speech frame or a valid SID, and if the latter, making it a + * perfect, error-free SID frame. + * \paramin rtp_payload Buffer with RTP payload - must be writable! + * \returns true if the frame is good, false otherwise + */ +bool osmo_efr_sid_preen(uint8_t *rtp_payload) +{ + enum osmo_gsm631_sid_class sidc; + + sidc = osmo_efr_sid_classify(rtp_payload); + switch (sidc) { + case OSMO_GSM631_SID_CLASS_SPEECH: + return true; + case OSMO_GSM631_SID_CLASS_INVALID: + return false; + case OSMO_GSM631_SID_CLASS_VALID: + /* "Rejuvenate" this SID frame, correcting any errors: + * set all 95 SID code word bits to 1. */ + rtp_payload6 |= 0x6F; + rtp_payload7 = 0xFF; + rtp_payload8 = 0xFF; + rtp_payload9 |= 0x80; + rtp_payload12 |= 0x3B; + rtp_payload13 = 0xFF; + rtp_payload14 = 0xFF; + rtp_payload15 |= 0xE0; + rtp_payload19 = 0xFF; + rtp_payload20 = 0xFF; + rtp_payload21 = 0xFF; + rtp_payload25 = 0xFF; + rtp_payload26 |= 0xFC; + rtp_payload27 = 0xFF; + rtp_payload28 |= 0xC0; + return true; + default: + /* There are only 3 possible SID classifications per GSM 06.81 + * section 6.1.1, thus any other return value is a grave error + * in the code. */ + OSMO_ASSERT(0); + } +}
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.