aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-ms
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2021-11-17 14:46:04 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2021-11-17 14:46:04 +0100
commitf1b0db38037cf1113834afbf5b478bcc4e84c588 (patch)
tree61cb7213bf2fb23c1176c24655c44c03676ecc20 /nihav-ms
parent820b43313ea6d0e03c7bf063ee6a64f3ff0cf659 (diff)
downloadnihav-f1b0db38037cf1113834afbf5b478bcc4e84c588.tar.gz
add enabling/disabling features for files with both encoder and decoder
Diffstat (limited to 'nihav-ms')
-rw-r--r--nihav-ms/src/codecs/msadpcm.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/nihav-ms/src/codecs/msadpcm.rs b/nihav-ms/src/codecs/msadpcm.rs
index a63f4e5..068dd41 100644
--- a/nihav-ms/src/codecs/msadpcm.rs
+++ b/nihav-ms/src/codecs/msadpcm.rs
@@ -37,6 +37,7 @@ impl Predictor {
}
}
+#[cfg(feature="decoder_ms_adpcm")]
struct MSADPCMDecoder {
ainfo: NAAudioInfo,
chmap: NAChannelMap,
@@ -45,6 +46,7 @@ struct MSADPCMDecoder {
block_samps: usize,
}
+#[cfg(feature="decoder_ms_adpcm")]
impl MSADPCMDecoder {
fn new() -> Self {
Self {
@@ -57,6 +59,7 @@ impl MSADPCMDecoder {
}
}
+#[cfg(feature="decoder_ms_adpcm")]
impl NADecoder for MSADPCMDecoder {
#[allow(clippy::int_plus_one)]
fn init(&mut self, _supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()> {
@@ -162,17 +165,20 @@ impl NADecoder for MSADPCMDecoder {
}
}
+#[cfg(feature="decoder_ms_adpcm")]
impl NAOptionHandler for MSADPCMDecoder {
fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
fn set_options(&mut self, _options: &[NAOption]) { }
fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
}
+#[cfg(feature="decoder_ms_adpcm")]
pub fn get_decoder() -> Box<dyn NADecoder + Send> {
Box::new(MSADPCMDecoder::new())
}
#[derive(Default)]
+#[cfg(feature="encoder_ms_adpcm")]
struct MSADPCMEncoder {
stream: Option<NAStreamRef>,
samples: Vec<i16>,
@@ -182,8 +188,10 @@ struct MSADPCMEncoder {
srate: u32,
}
+#[cfg(feature="encoder_ms_adpcm")]
const DEFAULT_BLOCK_LEN: usize = 256;
+#[cfg(feature="encoder_ms_adpcm")]
impl MSADPCMEncoder {
fn new() -> Self { Self::default() }
fn encode_packet(&mut self) -> EncoderResult<NAPacket> {
@@ -297,6 +305,7 @@ impl MSADPCMEncoder {
}
}
+#[cfg(feature="encoder_ms_adpcm")]
impl NAEncoder for MSADPCMEncoder {
fn negotiate_format(&self, encinfo: &EncodeParameters) -> EncoderResult<EncodeParameters> {
match encinfo.format {
@@ -394,12 +403,14 @@ impl NAEncoder for MSADPCMEncoder {
}
}
+#[cfg(feature="encoder_ms_adpcm")]
impl NAOptionHandler for MSADPCMEncoder {
fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
fn set_options(&mut self, _options: &[NAOption]) { }
fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
}
+#[cfg(feature="encoder_ms_adpcm")]
pub fn get_encoder() -> Box<dyn NAEncoder + Send> {
Box::new(MSADPCMEncoder::new())
}