[SBI,NAS] Fix conversion of bitrate between OpenAPI/NAS and internal representation

From the OpenAPI document,TS29571_CommonData.yaml : BitRate
String representing a bit rate; the prefixes follow the standard symbols from The International
System of Units, and represent x1000 multipliers, with the exception that prefix "K" is
used to represent the standard symbol "k".
This commit is contained in:
Bostjan Meglic 2023-05-29 12:24:07 +00:00 committed by Sukchan Lee
parent 2152d67480
commit bbc397013b
2 changed files with 34 additions and 34 deletions

View File

@ -432,7 +432,7 @@ void ogs_nas_bitrate_from_uint64(ogs_nas_bitrate_t *nas, uint64_t bitrate)
ogs_assert(nas);
ogs_assert(bitrate);
bitrate >>= 10; /* bps to Kbps */
bitrate /= 1000; /* bps to Kbps */
for (nas->unit = OGS_NAS_BR_UNIT_1K;
nas->unit < OGS_NAS_BR_UNIT_256P; nas->unit++) {
@ -449,55 +449,55 @@ uint64_t ogs_nas_bitrate_to_uint64(ogs_nas_bitrate_t *nas_bitrate)
ogs_assert(nas_bitrate);
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_1K)
return nas_bitrate->value * 1024;
return nas_bitrate->value * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_4K)
return nas_bitrate->value * 4 * 1024;
return nas_bitrate->value * 4 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_16K)
return nas_bitrate->value * 16 * 1024;
return nas_bitrate->value * 16 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_64K)
return nas_bitrate->value * 64 * 1024;
return nas_bitrate->value * 64 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_256K)
return nas_bitrate->value * 256 * 1024;
return nas_bitrate->value * 256 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_1M)
return nas_bitrate->value * 1024 * 1024;
return nas_bitrate->value * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_4M)
return nas_bitrate->value * 4 * 1024 * 1024;
return nas_bitrate->value * 4 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_16M)
return nas_bitrate->value * 16 * 1024 * 1024;
return nas_bitrate->value * 16 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_64M)
return nas_bitrate->value * 64 * 1024 * 1024;
return nas_bitrate->value * 64 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_256M)
return nas_bitrate->value * 256 * 1024 * 1024;
return nas_bitrate->value * 256 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_1G)
return nas_bitrate->value * 1024 * 1024 * 1024;
return nas_bitrate->value * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_4G)
return nas_bitrate->value * 4 * 1024 * 1024 * 1024;
return nas_bitrate->value * 4 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_16G)
return nas_bitrate->value * 16 * 1024 * 1024 * 1024;
return nas_bitrate->value * 16 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_64G)
return nas_bitrate->value * 64 * 1024 * 1024 * 1024;
return nas_bitrate->value * 64 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_256G)
return nas_bitrate->value * 256 * 1024 * 1024 * 1024;
return nas_bitrate->value * 256 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_1T)
return nas_bitrate->value * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_4T)
return nas_bitrate->value * 4 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 4 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_16T)
return nas_bitrate->value * 16 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 16 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_64T)
return nas_bitrate->value * 64 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 64 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_256T)
return nas_bitrate->value * 256 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 256 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_1P)
return nas_bitrate->value * 1024 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 1000 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_4P)
return nas_bitrate->value * 4 * 1024 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 4 * 1000 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_16P)
return nas_bitrate->value * 16 * 1024 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 16 * 1000 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_64P)
return nas_bitrate->value * 64 * 1024 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 64 * 1000 * 1000 * 1000 * 1000 * 1000;
if (nas_bitrate->unit == OGS_NAS_BR_UNIT_256P)
return nas_bitrate->value * 256 * 1024 * 1024 * 1024 * 1024 * 1024;
return nas_bitrate->value * 256 * 1000 * 1000 * 1000 * 1000 * 1000;
ogs_fatal("Unknown unit [%d]", nas_bitrate->unit);
ogs_assert_if_reached();

View File

@ -516,16 +516,16 @@ char *ogs_sbi_bitrate_to_string(uint64_t bitrate, int unit)
{
if (unit == OGS_SBI_BITRATE_KBPS) {
return ogs_msprintf("%lld Kbps",
(long long)bitrate / 1024);
(long long)bitrate / 1000);
} else if (unit == OGS_SBI_BITRATE_MBPS) {
return ogs_msprintf("%lld Mbps",
(long long)bitrate / 1024 / 1024);
(long long)bitrate / 1000 / 1000);
} else if (unit == OGS_SBI_BITRATE_GBPS) {
return ogs_msprintf("%lld Gbps",
(long long)bitrate / 1024 / 1024 / 1024);
(long long)bitrate / 1000 / 1000 / 1000);
} else if (unit == OGS_SBI_BITRATE_TBPS) {
return ogs_msprintf("%lld Tbps",
(long long)bitrate / 1024 / 1024 / 1024 / 1024);
(long long)bitrate / 1000 / 1000 / 1000 / 1000);
}
return ogs_msprintf("%lld bps", (long long)bitrate);
@ -547,13 +547,13 @@ uint64_t ogs_sbi_bitrate_from_string(char *str)
SWITCH(unit+1)
CASE("Kbps")
return bitrate * 1024;
return bitrate * 1000;
CASE("Mbps")
return bitrate * 1024 * 1024;
return bitrate * 1000 * 1000;
CASE("Gbps")
return bitrate * 1024 * 1024 * 1024;
return bitrate * 1000 * 1000 * 1000;
CASE("Tbps")
return bitrate * 1024 * 1024 * 1024 * 1024;
return bitrate * 1000 * 1000 * 1000 * 1000;
DEFAULT
END
return bitrate;