Jump to content

SimTX API v24/Packets/IqStreamDescriptor: Difference between revisions

From SimTX Wiki
Clanker (talk | contribs)
m Clanker moved page SimTX API/Packets/IqStreamDescriptor to SimTX API v24/Packets/IqStreamDescriptor: Archive the v24 protocol reference
Clanker (talk | contribs)
Archive the v24 protocol reference: use the v24 templates, links and categories
 
Line 1: Line 1:
{{SimTX API navigation}}
{{SimTX API v24 navigation}}
{{SimTX packet
{{SimTX packet v24
| name = IqStreamDescriptor
| name = IqStreamDescriptor
| id = 1
| id = 1
| hex = 0x01
| hex = 0x01
| direction = s2c
| direction = s2c
| session = [[SimTX API/Receiver session|Receiver]]
| session = [[SimTX API v24/Receiver session|Receiver]]
| size = 13 bytes
| size = 13 bytes
| permission = None
| permission = None
| answers = [[SimTX API/Packets/ReceiverSessionRequest|ReceiverSessionRequest]]
| answers = [[SimTX API v24/Packets/ReceiverSessionRequest|ReceiverSessionRequest]]
| group = receiver
| group = receiver
}}
}}
'''IqStreamDescriptor''' tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a [[SimTX API/Packets/ReceiverSessionRequest|ReceiverSessionRequest]], before the first IQ block. Its values are authoritative and may differ from what the client requested.
'''IqStreamDescriptor''' tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a [[SimTX API v24/Packets/ReceiverSessionRequest|ReceiverSessionRequest]], before the first IQ block. Its values are authoritative and may differ from what the client requested.


== Layout ==
== Layout ==
Line 29: Line 29:


== Usage ==
== Usage ==
* Size buffers from <code>chunkSamples</code> and <code>sampleFormat</code>: each [[SimTX API/Packets/IqBlock|IqBlock]] payload is exactly <code>4 + chunkSamples × 2 × bytesPerComponent</code> bytes, where <code>bytesPerComponent</code> is 2 for INT16 and 1 for INT8.
* Size buffers from <code>chunkSamples</code> and <code>sampleFormat</code>: each [[SimTX API v24/Packets/IqBlock|IqBlock]] payload is exactly <code>4 + chunkSamples × 2 × bytesPerComponent</code> bytes, where <code>bytesPerComponent</code> is 2 for INT16 and 1 for INT8.
* No second descriptor is sent after a [[SimTX API/Packets/ReceiverRetune|ReceiverRetune]]. Track the current frequency on the client side.
* No second descriptor is sent after a [[SimTX API v24/Packets/ReceiverRetune|ReceiverRetune]]. Track the current frequency on the client side.


== See also ==
== See also ==
* [[SimTX API/Receiver session#Negotiation|Negotiation]]
* [[SimTX API v24/Receiver session#Negotiation|Negotiation]]


{{SimTX API navbox}}
{{SimTX API v24 navbox}}
[[Category:SimTX API]]
[[Category:SimTX API v24]]

Latest revision as of 16:15, 24 October 2026

This page documents protocol v24, which current servers no longer accept. See SimTX API for v25.
IqStreamDescriptor
Packet ID 1(0x01)
Direction Server → client
Session Receiver
Body size 13 bytes
Permission None
Answered by
Answers ReceiverSessionRequest

IqStreamDescriptor tells a receiver client the parameters of the stream it is about to receive. The server sends it once, after accepting a ReceiverSessionRequest, before the first IQ block. Its values are authoritative and may differ from what the client requested.

Layout[edit | edit source]

Field Type Description
packetId u8 Always 1.
sampleRate i32 Negotiated sample rate in complex samples per second.
centerFreqHz f32 Centre frequency in hertz.
chunkSamples i32 Number of complex samples in every following IQ block.
sampleFormat i8 0 = INT8, 1 = INT16. Servers currently always send 1.

Usage[edit | edit source]

  • Size buffers from chunkSamples and sampleFormat: each IqBlock payload is exactly 4 + chunkSamples × 2 × bytesPerComponent bytes, where bytesPerComponent is 2 for INT16 and 1 for INT8.
  • No second descriptor is sent after a ReceiverRetune. Track the current frequency on the client side.

See also[edit | edit source]

SimTX API v24 reference (protocol v24, archived)
Start OverviewQuick startData typesLimits and errorsPacket list
Account service OverviewDevice loginServer directoryGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeReceiver sessionTransmitter sessionControl sessionCatalogModeration
Handshake HandshakeHandshakeResult
Receiver ReceiverSessionRequestReceiverRetuneForwardedClientAddressIqStreamDescriptorIqBlockTimedIqBlock
Transmitter TransmitterSessionRequestSampleBlockTxModeInfoTxUpdateTxQueueTxAcceptTxRejectTxKickTxTelemetryTxUpdateAck
Control ControlAckBannerListStationsStationListServerHealthRequestServerHealthReportCoverageMapRequestCoverageMapResponseWeatherMapRequestWeatherMapResponseStartMonitorStopMonitorMonitorBlockMonitorEnd
Catalog CatalogListRequestCatalogListCatalogFetchCatalogEntryCatalogUploadCatalogUploadResultCatalogDeleteCatalogDeleteResult
Moderation KickRequestKickResultIpModerationRequestIpModerationResultBroadcastBannerModerationErrorStationImpactList
Current Protocol v25 reference