Open ThatNerdUKnow opened 1 year ago
It seems that the following enums were missing some match arms. I've cloned this repo and had my editor automatically generate the missing match arms:
This compiler error doesn't seem to affect linux builds.
impl<From<AVPixelFormat> for Pixel{
// Current match arms elided
AV_PIX_FMT_VUYA => todo!(),
AV_PIX_FMT_RGBAF16BE => todo!(),
AV_PIX_FMT_RGBAF16LE => todo!(),
AV_PIX_FMT_VUYX => todo!(),
AV_PIX_FMT_P012LE => todo!(),
AV_PIX_FMT_P012BE => todo!(),
AV_PIX_FMT_Y212BE => todo!(),
AV_PIX_FMT_Y212LE => todo!(),
AV_PIX_FMT_XV30BE => todo!(),
AV_PIX_FMT_XV30LE => todo!(),
AV_PIX_FMT_XV36BE => todo!(),
AV_PIX_FMT_XV36LE => todo!(),
AV_PIX_FMT_RGBF32BE => todo!(),
AV_PIX_FMT_RGBF32LE => todo!(),
AV_PIX_FMT_RGBAF32BE => todo!(),
AV_PIX_FMT_RGBAF32LE => todo!(),
}
impl From<AVCodecID> for Id{
// Current match arms elided
AV_CODEC_ID_RADIANCE_HDR => todo!(),
AV_CODEC_ID_WBMP => todo!(),
AV_CODEC_ID_MEDIA100 => todo!(),
AV_CODEC_ID_VQC => todo!(),
AV_CODEC_ID_BONK => todo!(),
AV_CODEC_ID_MISC4 => todo!(),
AV_CODEC_ID_APAC => todo!(),
AV_CODEC_ID_FTR => todo!(),
}
Could this be a matter of creating enum variants for Pixel
and Id
like so?
pub enum Pixel{
// Current variants elided
#[cfg(target_os = "windows")]
YUVA
}
and then the following match arms in the From
implementations?
impl From<AVPixelFormat> for Pixel{
// Current match arms elided
#[cfg(target_os = "windows")]
AV_PIX_FMT_VUYA => Pixel::YUVA,
}
Also if it's relevant, my installed version of ffmpeg is ffmpeg version 4.2.3
happens for me too, should I just build it on linux from now on?
I can build it outside of the other crate on windows, but that crate won't compile....
my issue seems to be with
----------------------
...
4587 | AV_PIX_FMT_P212BE = 222,
| ^^^^^^^^^^^^^^^^^ not covered
4588 | #[doc = "< interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, little-endian"]
4589 | AV_PIX_FMT_P212LE = 223,
| ^^^^^^^^^^^^^^^^^ not covered
4590 | #[doc = "< interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, big-endian"]
4591 | AV_PIX_FMT_P412BE = 224,
| ^^^^^^^^^^^^^^^^^ not covered
4592 | #[doc = "< interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, little-endian"]
4593 | AV_PIX_FMT_P412LE = 225,
It seems to not like to build in its dev env, not knowing the things that are missing, but works when the branches are added and just used in another crate. Is this a quirk of how rust bindings work?
(I probably missed something when adding them (may be feature flag stuff.))
It's related to what version of ffmpeg library you use.
Currently ffmpeg-next
supported FFmpeg versions: 3.4.x through 4.4.x.
OS: Windows 10 Ffmpeg version: ffmpeg-master-latest-win64-gpl-shared. 12/24/2022
I followed the installation guide from the wiki for building on windows. I have downloaded the latest ffmpeg windows build and set the
FFMPEG_DIR
variable accordingly.I get the following error when building my project that depends on ffmpeg-next in windows. This project compiles just fine in linux