librespot/metadata/src/cover.rs

20 lines
585 B
Rust
Raw Normal View History

2017-01-20 01:59:18 +00:00
use byteorder::{BigEndian, WriteBytesExt};
2016-03-13 20:03:40 +00:00
use std::io::Write;
2019-09-16 19:00:09 +00:00
use librespot_core::channel::ChannelData;
use librespot_core::session::Session;
use librespot_core::spotify_id::FileId;
2017-01-20 01:59:18 +00:00
pub fn get(session: &Session, file: FileId) -> ChannelData {
let (channel_id, channel) = session.channel().allocate();
let (_headers, data) = channel.split();
2017-01-20 01:59:18 +00:00
let mut packet: Vec<u8> = Vec::new();
packet.write_u16::<BigEndian>(channel_id).unwrap();
packet.write_u16::<BigEndian>(0).unwrap();
packet.write(&file.0).unwrap();
session.send_packet(0x19, packet);
2017-01-20 01:59:18 +00:00
data
2016-03-13 20:03:40 +00:00
}