Skip to content

st30p_tx_get_frame() timeout before the specified block_timeout 1s elapses #1678

Description

@DianaEs2

Occasionally, st30p_tx_get_frame() can return earlier than specified 1s timeout. RxTxApp keeps trying to get audio frame. But in practice, an application may decide to drop audio instead. It's excepted that in blocking mode (STXXP_TX_FLAG_BLOCK_GET,) the timeout period should be respected. There is no value in sending a late audio frame 1s later.

It is a regression bug, it did not happen in commit 982e2ea (2026-07-14). It was introduced at some point before c2d9c22 (2026-07-23).

To see the short timeout in st30p_tx_get_frame(), introduce a 1-second pause in the audio stream. Apply this patch commit-753b729.patch. Run RxTxApp with this config local_tx_1a.json

Observe these messages in the log:
st_app_user_time, drop one second of data
app_tx_st30p_frame_thread(0), get frame time out, waited for 501 ns
app_tx_st30p_frame_thread(0), get frame time out, waited for 206 ns
app_tx_st30p_frame_thread(0), get frame time out, waited for 340 ns

Full log attached audio_drop.log

Please note that a similar problem occurs in st40p_tx and st20p_tx.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions