tirtc-device-builder 0.11.3 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This project follows Semantic Versioning.
|
|
4
4
|
|
|
5
|
+
## 0.11.4
|
|
6
|
+
|
|
7
|
+
- Add artifact-bound BK7258 H5, AI and WeChat VoIP media lessons: directional
|
|
8
|
+
capability reporting, 10/11 versus 14/15 STREAM routing, VoIP stream 0,
|
|
9
|
+
AI stream 1 with 16 kHz Opus, negative-on-failure SDK return semantics and
|
|
10
|
+
mode-specific uplink readiness gates.
|
|
11
|
+
- Require PCM-domain AEC from the real post-volume DAC reference for all
|
|
12
|
+
speakerphone full-duplex modes, plus routing/AEC diagnostics, double-talk HIL,
|
|
13
|
+
reference FIFO health and measured codec-task stack headroom.
|
|
14
|
+
- Update the validated BK7258 identity to the TiRTC-Nano 2.5.0 artifact and add
|
|
15
|
+
package validation that prevents these media invariants disappearing.
|
|
16
|
+
|
|
5
17
|
## 0.11.3
|
|
6
18
|
|
|
7
19
|
- Add a complete Beken onboarding path to the public README: Skill installation,
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.11.
|
|
1
|
+
0.11.4
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# LCKFB BK7258 XiaoTai lessons
|
|
2
2
|
|
|
3
3
|
Use this case study for BK7258 XiaoTai/TiRTC ports and reviews. It distils the
|
|
4
|
-
failures fixed in `lckfb-bk7258-xiaotai` through source commit `
|
|
4
|
+
failures fixed in `lckfb-bk7258-xiaotai` through source commit `05d3180`. These
|
|
5
5
|
are gates, not a generic board profile: retain the decisions, but use the exact
|
|
6
6
|
numbers only when the target matches the identity below.
|
|
7
7
|
|
|
@@ -14,9 +14,11 @@ The reproducible public SDK baseline is:
|
|
|
14
14
|
`release/v3.1.1.8`, commit
|
|
15
15
|
`1cfd56af09a3cb6470f35f1e0c604035ed1b6ee7`;
|
|
16
16
|
- GCC Arm None EABI 10.3.1, Cortex-M33, hard-float;
|
|
17
|
-
- TiRTC-Nano 2.
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- TiRTC-Nano 2.5.0 `mini`, BK7258 hard-float archive, SHA-256
|
|
18
|
+
`47e26827ca2419084163e3656dca4d6e508e433381784e9c03f232d3dbaa4171`;
|
|
19
|
+
- TiRTC SSL and DTLS disabled for the validated deployment, with remaining
|
|
20
|
+
crypto references resolved by the SDK PSA Mbed TLS 3.5.2 component and no
|
|
21
|
+
application-vendored compatibility archive;
|
|
20
22
|
- AP + CP + bootloader package and 16 MiB PSRAM.
|
|
21
23
|
|
|
22
24
|
The locally delivered folder named `bk_avdk_smp_v3.1.1.8_20260605` contains a
|
|
@@ -25,11 +27,13 @@ project configuration. It is useful only as implementation and fault-history
|
|
|
25
27
|
evidence. Do not identify it as the public tag, use it for SDK checksums, or make
|
|
26
28
|
it the default Kit source.
|
|
27
29
|
|
|
28
|
-
Hash
|
|
30
|
+
Hash every TiRTC or compatibility archive actually linked and record the SDK commit, compiler,
|
|
29
31
|
float ABI, libc/RTOS and partition maps. AP-only or CP-only output is diagnostic;
|
|
30
32
|
the deliverable is the combined package. A different value makes a new artifact
|
|
31
|
-
that must pass link,
|
|
32
|
-
|
|
33
|
+
that must pass link, signaling/WHIP and hardware validation again. Do not infer
|
|
34
|
+
a TLS recipe from the version name: the older 2.3.0 artifact required a separate
|
|
35
|
+
compatibility choice, while this validated 2.5.0 artifact uses the SDK PSA path
|
|
36
|
+
with TiRTC SSL/DTLS disabled.
|
|
33
37
|
Treat the AP and CP CMake caches as part of the SDK identity: both the cached
|
|
34
38
|
toolchain path and `beken-armino_SOURCE_DIR` must point inside the selected
|
|
35
39
|
official checkout. Reject or clean a cache created by the local modified SDK;
|
|
@@ -91,8 +95,8 @@ hardware:
|
|
|
91
95
|
`webclient_post(..., NULL, 0)` also requires explicit response handling;
|
|
92
96
|
- configure the send buffer before `TiRtcInit`, initialize/start one TiRTC
|
|
93
97
|
process, and pass SDK option string lengths with the exact convention used by
|
|
94
|
-
the matching headers/reference
|
|
95
|
-
|
|
98
|
+
the matching headers/reference; lock the convention with the selected archive
|
|
99
|
+
instead of carrying a value from an older delivery;
|
|
96
100
|
- treat a positive `TIRTC_OPT_TGTRP_POLL_TIMEOUT` return as the applied timeout,
|
|
97
101
|
not a failure. A false retry loop repeatedly initialized/uninitialized SDK
|
|
98
102
|
task state;
|
|
@@ -110,10 +114,51 @@ it. Do not generalize this case study into a universal plain-transport rule.
|
|
|
110
114
|
|
|
111
115
|
## Media and capability gate
|
|
112
116
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
Build an explicit matrix per product mode. The 2026-09-29 validated BK7258
|
|
118
|
+
contract is:
|
|
119
|
+
|
|
120
|
+
| Mode | Device uplink | Device downlink/subscription | Codec | Uplink gate |
|
|
121
|
+
|---|---|---|---|---|
|
|
122
|
+
| H5 STREAM | audio 10, video 11 | audio 14, video 15 | G.711 A-law, 8 kHz mono | local uplink subscription state |
|
|
123
|
+
| AI | audio 1 | audio 1 | Opus, 16 kHz mono, 20 ms/320 samples | accepted `start_session` |
|
|
124
|
+
| WeChat VoIP | audio 0, video 1 | audio 0, video 1 | G.711 A-law, 8 kHz mono; video not advertised here | protocol call-active state |
|
|
125
|
+
|
|
126
|
+
These stream IDs are a product/platform contract, not universal TiRTC defaults.
|
|
127
|
+
Verify them against the live profile API and official protocol before reuse.
|
|
128
|
+
Report the complete directional snapshot with `POST /v1/device/profile` before
|
|
129
|
+
sessions and after authenticated reconnect. Sending the locally advertised
|
|
130
|
+
stream does not imply subscribing to that same number: H5 publishes audio 10
|
|
131
|
+
but subscribes to browser talkback audio 14. VoIP publishes and receives audio
|
|
132
|
+
0 and must not wait for an optional H5-style subscription callback once the
|
|
133
|
+
business protocol has entered call-active state.
|
|
134
|
+
|
|
135
|
+
Treat TiRTC media and subscription API return values as negative-on-failure
|
|
136
|
+
unless the pinned API explicitly documents stricter semantics. Positive returns
|
|
137
|
+
were valid success values in this integration; checking `rc != 0` produced
|
|
138
|
+
false failures and muted paths.
|
|
139
|
+
|
|
140
|
+
SDK callbacks enqueue bounded copies and return. Prewarm the Opus codec,
|
|
141
|
+
playback, capture and queues before AI `start_session`, but gate microphone
|
|
142
|
+
uplink until the matching acceptance. Retain asynchronous peer descriptors and
|
|
143
|
+
tokens until callbacks complete.
|
|
144
|
+
|
|
145
|
+
AEC is a PCM pipeline property, not an Opus-only feature. Enable it for every
|
|
146
|
+
speakerphone full-duplex mode that has a playback reference. Feed the
|
|
147
|
+
post-volume PCM actually written to DAC into a bounded reference FIFO and
|
|
148
|
+
process aligned 20 ms microphone blocks. Validate far-end-only, near-end-only
|
|
149
|
+
and double-talk cases; reference underruns or overruns are release evidence,
|
|
150
|
+
not harmless counters. On this BK7258 port Opus encode/decode UsageFaults were
|
|
151
|
+
eliminated only after placing measured 40 KiB task stacks in PSRAM; carry the
|
|
152
|
+
stack size and high-water evidence rather than the number alone.
|
|
153
|
+
|
|
154
|
+
For one-way audio or echo, add bounded diagnostic logs that correlate mode,
|
|
155
|
+
generation, actual/expected stream ID, packet cadence, mic/reference/output
|
|
156
|
+
energy, AEC residual ratio and reference FIFO under/overruns. Reject or count
|
|
157
|
+
unexpected streams explicitly. Do not tune AEC until routing and reference
|
|
158
|
+
continuity are proven.
|
|
159
|
+
|
|
160
|
+
A camera-start failure degrades video while leaving an otherwise valid audio
|
|
161
|
+
session active.
|
|
117
162
|
|
|
118
163
|
BK7258 provides H.264 encoding but no demonstrated H.264 hardware decoder. The
|
|
119
164
|
AVDK virtual H.264 decoder is NAL inspection/logging, not decoded video. The
|
|
@@ -134,12 +179,17 @@ Require a host contract test plus artifact-bound HIL. At minimum verify:
|
|
|
134
179
|
- exact archive hashes, ABI/config/partition invariants and AP-only TiRTC
|
|
135
180
|
ownership;
|
|
136
181
|
- provisioning, binding, clock, signed login and one complete capability report;
|
|
137
|
-
-
|
|
182
|
+
- the exact mode matrix in the reported profile plus actual/expected stream
|
|
183
|
+
diagnostics; first uplink/downlink audio frames and first H.264 frame;
|
|
184
|
+
- H5 full duplex on 10/14, AI Opus full duplex on 1, and VoIP full duplex on 0;
|
|
185
|
+
- far-end-only, near-end-only and double-talk AEC evidence using the real DAC
|
|
186
|
+
reference, with bounded underrun/overrun counts;
|
|
138
187
|
- ten AI enter/exit cycles after background polling starts, with no UsageFault,
|
|
139
188
|
HardFault, reboot, leaked media owner or permanent busy state;
|
|
140
189
|
- camera failure with audio preserved, two consecutive remote-view sessions,
|
|
141
190
|
connect/confirmation timeouts and late-callback rejection;
|
|
142
|
-
- minimum/largest internal heap
|
|
191
|
+
- minimum/largest internal heap and task stack high-water during signaling,
|
|
192
|
+
Opus/AEC, camera and full-duplex overlap.
|
|
143
193
|
|
|
144
194
|
Use conventional `ERROR`, `WARN`, `INFO`, `DEBUG` levels. The checked-in
|
|
145
195
|
development configuration defaults to `DEBUG` and prints complete HTTP, MQTT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.11.
|
|
1
|
+
0.11.4
|