We check the accuracy of RTP timestamp calculation in st20p, st30p and st40 Tx sessions. st20p_tx_ops.notify_frame_done does not return the actual value of rtp_timestamp assigned to the frame.
RxTxApp ran this config which has user_pacing and user_timestamp local_tx_1v.json
Update RxTxApp to have app_tx_st20p_notify_frame_done defined to log frame rtp_timestamp. It also aligned user_time_offset to the frame boundary. commit-2a0bffb.patch
Run the app and note rtp_timestamp difference
st_app_user_time, restart base tai time 1764254867958916614
frame_tai = 1764254867992904960; frame_rtp 2292153481; excepted_rtp 2292153537
frame_tai = 1764254868009588224; frame_rtp 2292154982; excepted_rtp 2292155038
frame_tai = 1764254868026271744; frame_rtp 2292156484; excepted_rtp 2292156540
frame_tai = 1764254868042955008; frame_rtp 2292157985; excepted_rtp 2292158041
frame_tai = 1764254868059638272; frame_rtp 2292159487; excepted_rtp 2292159543
frame_tai = 1764254868076321536; frame_rtp 2292160988; excepted_rtp 2292161044
frame_tai = 1764254868093005056; frame_rtp 2292162490; excepted_rtp 2292162546
frame_tai = 1764254868109688320; frame_rtp 2292163991; excepted_rtp 2292164047
The actual video stream has RTP offset 0 as expected but in notify_frame_done the RTP timestamp is shifted. It also applied to ext_frame mode.
We check the accuracy of RTP timestamp calculation in st20p, st30p and st40 Tx sessions. st20p_tx_ops.notify_frame_done does not return the actual value of rtp_timestamp assigned to the frame.
RxTxApp ran this config which has user_pacing and user_timestamp local_tx_1v.json
Update RxTxApp to have app_tx_st20p_notify_frame_done defined to log frame rtp_timestamp. It also aligned user_time_offset to the frame boundary. commit-2a0bffb.patch
Run the app and note rtp_timestamp difference
st_app_user_time, restart base tai time 1764254867958916614
frame_tai = 1764254867992904960; frame_rtp 2292153481; excepted_rtp 2292153537
frame_tai = 1764254868009588224; frame_rtp 2292154982; excepted_rtp 2292155038
frame_tai = 1764254868026271744; frame_rtp 2292156484; excepted_rtp 2292156540
frame_tai = 1764254868042955008; frame_rtp 2292157985; excepted_rtp 2292158041
frame_tai = 1764254868059638272; frame_rtp 2292159487; excepted_rtp 2292159543
frame_tai = 1764254868076321536; frame_rtp 2292160988; excepted_rtp 2292161044
frame_tai = 1764254868093005056; frame_rtp 2292162490; excepted_rtp 2292162546
frame_tai = 1764254868109688320; frame_rtp 2292163991; excepted_rtp 2292164047
The actual video stream has RTP offset 0 as expected but in notify_frame_done the RTP timestamp is shifted. It also applied to ext_frame mode.