use BMBitrate;
impl BMBitrate {
pub fn builder() -> BMBitrateBuilder {
BMBitrateBuilder::default()
}
}
#[derive(Default)]
pub struct BMBitrateBuilder {
n_bitrate: u16,
d_bitrate: u16,
n_sample_pos: u8,
d_sample_pos: u8
}
impl BMBitrateBuilder {
pub fn new() -> BMBitrateBuilder {
BMBitrateBuilder {
n_bitrate: 500,
d_bitrate: 2000,
n_sample_pos: 75,
d_sample_pos: 75
}
}
pub fn bitrate(mut self, n_bitrate: u16) -> BMBitrateBuilder {
self.n_bitrate = n_bitrate;
self
}
pub fn data_bitrate(mut self, d_bitrate: u16) -> BMBitrateBuilder {
self.d_bitrate = d_bitrate;
self
}
pub fn sample_pos(mut self, n_sample_pos: u8) -> BMBitrateBuilder {
self.n_sample_pos = n_sample_pos;
self
}
pub fn data_sample_pos(mut self, d_sample_pos: u8) -> BMBitrateBuilder {
self.d_sample_pos = d_sample_pos;
self
}
pub fn build(self) -> BMBitrate {
BMBitrate {
n_bitrate: self.n_bitrate,
d_bitrate: self.d_bitrate,
n_sample_pos: self.n_sample_pos,
d_sample_pos: self.d_sample_pos,
clock_freq: 0,
reserved: 0,
n_btr0: 0,
n_btr1: 0,
d_btr0: 0,
d_btr1: 0
}
}
}