From 5340c62173d2f1f65d2db086b5206df686ac9c55 Mon Sep 17 00:00:00 2001 From: Donough Liu Date: Sun, 24 Aug 2025 05:37:01 +0800 Subject: [PATCH 1/2] fix(avutil): correct FFmpeg version of ch_layout --- src/avutil/channel_layout.rs | 13 ++----------- src/avutil/mod.rs | 1 + src/lib.rs | 4 +++- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/avutil/channel_layout.rs b/src/avutil/channel_layout.rs index 93dc710..d14a838 100644 --- a/src/avutil/channel_layout.rs +++ b/src/avutil/channel_layout.rs @@ -54,19 +54,14 @@ AV_CH_MASK_CONST!(AV_CH_WIDE_RIGHT, AV_CHAN_WIDE_RIGHT); AV_CH_MASK_CONST!(AV_CH_SURROUND_DIRECT_LEFT, AV_CHAN_SURROUND_DIRECT_LEFT); AV_CH_MASK_CONST!(AV_CH_SURROUND_DIRECT_RIGHT, AV_CHAN_SURROUND_DIRECT_RIGHT); AV_CH_MASK_CONST!(AV_CH_LOW_FREQUENCY_2, AV_CHAN_LOW_FREQUENCY_2); -#[cfg(feature = "ffmpeg5")] AV_CH_MASK_CONST!(AV_CH_TOP_SIDE_LEFT, AV_CHAN_TOP_SIDE_LEFT); -#[cfg(feature = "ffmpeg5")] AV_CH_MASK_CONST!(AV_CH_TOP_SIDE_RIGHT, AV_CHAN_TOP_SIDE_RIGHT); -#[cfg(feature = "ffmpeg5")] AV_CH_MASK_CONST!(AV_CH_BOTTOM_FRONT_CENTER, AV_CHAN_BOTTOM_FRONT_CENTER); -#[cfg(feature = "ffmpeg5")] AV_CH_MASK_CONST!(AV_CH_BOTTOM_FRONT_LEFT, AV_CHAN_BOTTOM_FRONT_LEFT); -#[cfg(feature = "ffmpeg5")] AV_CH_MASK_CONST!(AV_CH_BOTTOM_FRONT_RIGHT, AV_CHAN_BOTTOM_FRONT_RIGHT); -#[cfg(feature = "ffmpeg6")] +#[cfg(feature = "ffmpeg7_1")] AV_CH_MASK_CONST!(AV_CH_SIDE_SURROUND_LEFT, AV_CHAN_SIDE_SURROUND_LEFT); -#[cfg(feature = "ffmpeg6")] +#[cfg(feature = "ffmpeg7_1")] AV_CH_MASK_CONST!(AV_CH_SIDE_SURROUND_RIGHT, AV_CHAN_SIDE_SURROUND_RIGHT); #[cfg(feature = "ffmpeg7_1")] AV_CH_MASK_CONST!(AV_CH_TOP_SURROUND_LEFT, AV_CHAN_TOP_SURROUND_LEFT); @@ -113,13 +108,11 @@ AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_7POINT1POINT2, AV_CH_LAYOUT_7POINT1|AV_CH AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_7POINT1POINT4_BACK, AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT); AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_7POINT2POINT3, AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2); AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_9POINT1POINT4_BACK, AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER); -#[cfg(feature = "ffmpeg5")] AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_9POINT1POINT6, AV_CH_LAYOUT_9POINT1POINT4_BACK|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT); AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_HEXADECAGONAL, AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT); #[cfg(feature = "ffmpeg8")] AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_BINAURAL, AV_CH_BINAURAL_LEFT|AV_CH_BINAURAL_RIGHT); AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_STEREO_DOWNMIX, AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT); -#[cfg(feature = "ffmpeg5")] AV_CH_LAYOUT_CONST!(AV_CH_LAYOUT_22POINT2, AV_CH_LAYOUT_9POINT1POINT6|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT); // Alias @@ -161,13 +154,11 @@ pub const AV_CHANNEL_LAYOUT_7POINT1POINT2: AVChannelLayout = AV_CHANNEL_LAYO pub const AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK: AVChannelLayout= AV_CHANNEL_LAYOUT_MASK!(12, AV_CH_LAYOUT_7POINT1POINT4_BACK); pub const AV_CHANNEL_LAYOUT_7POINT2POINT3: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(12, AV_CH_LAYOUT_7POINT2POINT3); pub const AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK: AVChannelLayout= AV_CHANNEL_LAYOUT_MASK!(14, AV_CH_LAYOUT_9POINT1POINT4_BACK); -#[cfg(feature = "ffmpeg5")] pub const AV_CHANNEL_LAYOUT_9POINT1POINT6: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(16, AV_CH_LAYOUT_9POINT1POINT6); pub const AV_CHANNEL_LAYOUT_HEXADECAGONAL: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(16, AV_CH_LAYOUT_HEXADECAGONAL); #[cfg(feature = "ffmpeg8")] pub const AV_CHANNEL_LAYOUT_BINAURAL: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(2, AV_CH_LAYOUT_BINAURAL); pub const AV_CHANNEL_LAYOUT_STEREO_DOWNMIX: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(2, AV_CH_LAYOUT_STEREO_DOWNMIX); -#[cfg(feature = "ffmpeg5")] pub const AV_CHANNEL_LAYOUT_22POINT2: AVChannelLayout = AV_CHANNEL_LAYOUT_MASK!(24, AV_CH_LAYOUT_22POINT2); pub const AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK: AVChannelLayout = AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK; diff --git a/src/avutil/mod.rs b/src/avutil/mod.rs index 5a271db..30d6e8d 100644 --- a/src/avutil/mod.rs +++ b/src/avutil/mod.rs @@ -5,5 +5,6 @@ pub mod error; #[rustfmt::skip] pub mod pixfmt; pub mod rational; +#[cfg(feature = "ffmpeg6")] #[rustfmt::skip] pub mod channel_layout; diff --git a/src/lib.rs b/src/lib.rs index 86a7628..d8f6eca 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -10,7 +10,9 @@ mod avutil; )] pub mod ffi { pub use crate::avutil::{ - _avutil::*, channel_layout::*, common::*, error::*, pixfmt::*, rational::*, + _avutil::*, common::*, error::*, pixfmt::*, rational::*, }; + #[cfg(feature = "ffmpeg6")] + pub use crate::avutil::channel_layout::*; include!(concat!(env!("OUT_DIR"), "/binding.rs")); } From 67681f5f942d2f00647c069083c2e9d8efb234b1 Mon Sep 17 00:00:00 2001 From: Donough Liu Date: Sun, 24 Aug 2025 05:44:00 +0800 Subject: [PATCH 2/2] Fix fmt --- src/lib.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index d8f6eca..e09c5dc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,10 +9,8 @@ mod avutil; clippy::all )] pub mod ffi { - pub use crate::avutil::{ - _avutil::*, common::*, error::*, pixfmt::*, rational::*, - }; #[cfg(feature = "ffmpeg6")] pub use crate::avutil::channel_layout::*; + pub use crate::avutil::{_avutil::*, common::*, error::*, pixfmt::*, rational::*}; include!(concat!(env!("OUT_DIR"), "/binding.rs")); }