Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mux
diff options
context:
space:
mode:
authorFrançois Laignel <francois@centricular.com>2023-06-19 17:26:57 +0300
committerFrançois Laignel <francois@centricular.com>2023-06-19 17:32:07 +0300
commitf85106b86ae10ff276b0ff46371e0dd591c54025 (patch)
tree3fbbb7ad78db22739be7751821c1e89a317d4ad0 /mux
parent84a33ca7b9fde27aabee41c191ad63763947033e (diff)
mp4, fmp4: fix byte order for opus extension
The "Encapsulation of Opus in ISO Base Media File Format" [1] specifications, § 4.3.2 Opus Specific Box, indicates that data must be stored as big-endian. In `write_dops`, `to_le_bytes` variants were used. Related to [2]. [1] https://opus-codec.org/docs/opus_in_isobmff.html#4.3.2 [2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4875 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1247>
Diffstat (limited to 'mux')
-rw-r--r--mux/fmp4/src/fmp4mux/boxes.rs6
-rw-r--r--mux/mp4/src/mp4mux/boxes.rs6
2 files changed, 6 insertions, 6 deletions
diff --git a/mux/fmp4/src/fmp4mux/boxes.rs b/mux/fmp4/src/fmp4mux/boxes.rs
index 720c823e4..9d84158e9 100644
--- a/mux/fmp4/src/fmp4mux/boxes.rs
+++ b/mux/fmp4/src/fmp4mux/boxes.rs
@@ -1502,9 +1502,9 @@ fn write_dops(v: &mut Vec<u8>, caps: &gst::Caps) -> Result<(), Error> {
// Version number
v.push(0);
v.push(channels);
- v.extend(pre_skip.to_le_bytes());
- v.extend(rate.to_le_bytes());
- v.extend(output_gain.to_le_bytes());
+ v.extend(pre_skip.to_be_bytes());
+ v.extend(rate.to_be_bytes());
+ v.extend(output_gain.to_be_bytes());
v.push(channel_mapping_family);
if channel_mapping_family > 0 {
v.push(stream_count);
diff --git a/mux/mp4/src/mp4mux/boxes.rs b/mux/mp4/src/mp4mux/boxes.rs
index 9dd37aea9..c1fa77918 100644
--- a/mux/mp4/src/mp4mux/boxes.rs
+++ b/mux/mp4/src/mp4mux/boxes.rs
@@ -1319,9 +1319,9 @@ fn write_dops(v: &mut Vec<u8>, caps: &gst::Caps) -> Result<(), Error> {
// Version number
v.push(0);
v.push(channels);
- v.extend(pre_skip.to_le_bytes());
- v.extend(rate.to_le_bytes());
- v.extend(output_gain.to_le_bytes());
+ v.extend(pre_skip.to_be_bytes());
+ v.extend(rate.to_be_bytes());
+ v.extend(output_gain.to_be_bytes());
v.push(channel_mapping_family);
if channel_mapping_family > 0 {
v.push(stream_count);