librespot_core/
packet.rs

1// Ported from librespot-java. Relicensed under MIT with permission.
2
3use num_derive::{FromPrimitive, ToPrimitive};
4
5#[derive(Debug, Copy, Clone, FromPrimitive, ToPrimitive)]
6pub enum PacketType {
7    SecretBlock = 0x02,
8    Ping = 0x04,
9    StreamChunk = 0x08,
10    StreamChunkRes = 0x09,
11    ChannelError = 0x0a,
12    ChannelAbort = 0x0b,
13    RequestKey = 0x0c,
14    AesKey = 0x0d,
15    AesKeyError = 0x0e,
16    Image = 0x19,
17    CountryCode = 0x1b,
18    Pong = 0x49,
19    PongAck = 0x4a,
20    Pause = 0x4b,
21    ProductInfo = 0x50,
22    LegacyWelcome = 0x69,
23    LicenseVersion = 0x76,
24    Login = 0xab,
25    APWelcome = 0xac,
26    AuthFailure = 0xad,
27    MercuryReq = 0xb2,
28    MercurySub = 0xb3,
29    MercuryUnsub = 0xb4,
30    MercuryEvent = 0xb5,
31    TrackEndedTime = 0x82,
32    UnknownDataAllZeros = 0x1f,
33    PreferredLocale = 0x74,
34    Unknown0x0f = 0x0f,
35    Unknown0x10 = 0x10,
36    Unknown0x4f = 0x4f,
37
38    // TODO - occurs when subscribing with an empty URI. Maybe a MercuryError?
39    // Payload: b"\0\x08\0\0\0\0\0\0\0\0\x01\0\x01\0\x03 \xb0\x06"
40    Unknown0xb6 = 0xb6,
41}