mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 17:59:24 +02:00
Use PacketType
instead of hex identifiers
This commit is contained in:
parent
4fe1183a80
commit
0703630041
12 changed files with 160 additions and 42 deletions
|
@ -4,6 +4,7 @@ use std::collections::HashMap;
|
|||
use std::io::Write;
|
||||
use tokio::sync::oneshot;
|
||||
|
||||
use crate::packet::PacketType;
|
||||
use crate::spotify_id::{FileId, SpotifyId};
|
||||
use crate::util::SeqGenerator;
|
||||
|
||||
|
@ -21,19 +22,19 @@ component! {
|
|||
}
|
||||
|
||||
impl AudioKeyManager {
|
||||
pub(crate) fn dispatch(&self, cmd: u8, mut data: Bytes) {
|
||||
pub(crate) fn dispatch(&self, cmd: PacketType, mut data: Bytes) {
|
||||
let seq = BigEndian::read_u32(data.split_to(4).as_ref());
|
||||
|
||||
let sender = self.lock(|inner| inner.pending.remove(&seq));
|
||||
|
||||
if let Some(sender) = sender {
|
||||
match cmd {
|
||||
0xd => {
|
||||
PacketType::AesKey => {
|
||||
let mut key = [0u8; 16];
|
||||
key.copy_from_slice(data.as_ref());
|
||||
let _ = sender.send(Ok(AudioKey(key)));
|
||||
}
|
||||
0xe => {
|
||||
PacketType::AesKeyError => {
|
||||
warn!(
|
||||
"error audio key {:x} {:x}",
|
||||
data.as_ref()[0],
|
||||
|
@ -66,6 +67,6 @@ impl AudioKeyManager {
|
|||
data.write_u32::<BigEndian>(seq).unwrap();
|
||||
data.write_u16::<BigEndian>(0x0000).unwrap();
|
||||
|
||||
self.session().send_packet(0xc, data)
|
||||
self.session().send_packet(PacketType::RequestKey, data)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue