aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2020-10-23 12:11:58 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2020-10-23 12:11:58 +0200
commite5d3fef58177a87f67cfbe31a65df7a34f13b83b (patch)
treed4f6e15527c05741dd58d95f59d585e82b28584a
parent7769ca01cbfffd4c12d5e77953bb851bf0dfac91 (diff)
downloadnihav-e5d3fef58177a87f67cfbe31a65df7a34f13b83b.tar.gz
mov: adjust signedness for certain kinds of audio
-rw-r--r--nihav-commonfmt/src/demuxers/mov.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs
index b271b95..5a0e4f9 100644
--- a/nihav-commonfmt/src/demuxers/mov.rs
+++ b/nihav-commonfmt/src/demuxers/mov.rs
@@ -592,8 +592,10 @@ fn read_stsd(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
} else {
"unknown"
};
-//todo adjust format for various PCM kinds
- let soniton = NASoniton::new(sample_size as u8, SONITON_FLAG_SIGNED | SONITON_FLAG_BE);
+ let mut soniton = NASoniton::new(sample_size as u8, SONITON_FLAG_SIGNED | SONITON_FLAG_BE);
+ if &fcc == b"raw " && sample_size == 8 {
+ soniton.signed = false;
+ }
let block_align = 1;
if sver == 1 {
let samples_per_packet = br.read_u32be()?;