use crate::common::error::Result;
use crate::id3::header::BitPaddedInt;
use crate::id3::tags::ID3Tags;
pub fn render_tag(tags: &ID3Tags, version: u8) -> Result<Vec<u8>> {
let frame_data = tags.render(version)?;
let padding = 1024usize;
let total_size = frame_data.len() + padding;
let mut tag = Vec::with_capacity(10 + total_size);
tag.extend_from_slice(b"ID3");
tag.push(version); tag.push(0);
tag.push(0);
tag.extend_from_slice(&BitPaddedInt::encode(total_size as u32, 4, 7));
tag.extend_from_slice(&frame_data);
tag.extend(std::iter::repeat_n(0u8, padding));
Ok(tag)
}