meh / rust-ffmpeg

Safe FFmpeg wrapper.
Do What The F*ck You Want To Public License
461 stars 96 forks source link

ffmpeg 4.0 build failure #112

Open ilovezfs opened 6 years ago

ilovezfs commented 6 years ago
==> Downloading https://github.com/ImageOptim/gifski/archive/0.8.2.tar.gz
Already downloaded: /Users/joe/Library/Caches/Homebrew/gifski-0.8.2.tar.gz
==> Verifying gifski-0.8.2.tar.gz checksum
tar xzf /Users/joe/Library/Caches/Homebrew/gifski-0.8.2.tar.gz
==> cargo build --release --features=video
    Updating registry `https://github.com/rust-lang/crates.io-index`
    Updating git repository `https://github.com/kornelski/rust-ffmpeg.git`
    Updating git repository `https://github.com/meh/rust-ffmpeg-sys`
 Downloading pbr v1.0.0
 Downloading rayon v0.9.0
 Downloading imagequant v2.11.9
 Downloading gif-dispose v2.1.0
 Downloading lodepng v2.1.2
 Downloading error-chain v0.11.0
 Downloading wild v0.1.1
 Downloading imgref v1.3.3
 Downloading rgb v0.8.7
 Downloading clap v2.30.0
 Downloading gif v0.9.2
 Downloading resize v0.3.0
 Downloading glob v0.2.11
 Downloading kernel32-sys v0.2.2
 Downloading winapi v0.2.8
 Downloading libc v0.2.37
 Downloading time v0.1.39
 Downloading winapi-build v0.1.1
 Downloading rayon-core v1.4.0
 Downloading either v1.4.0
 Downloading rand v0.4.2
 Downloading lazy_static v1.0.0
 Downloading crossbeam-deque v0.2.0
 Downloading num_cpus v1.8.0
 Downloading crossbeam-utils v0.2.2
 Downloading crossbeam-epoch v0.3.0
 Downloading cfg-if v0.1.2
 Downloading nodrop v0.1.12
 Downloading scopeguard v0.3.3
 Downloading arrayvec v0.4.7
 Downloading memoffset v0.2.1
 Downloading lazy_static v0.2.11
 Downloading imagequant-sys v2.11.9
 Downloading cc v1.0.4
 Downloading lzw v0.10.0
 Downloading color_quant v1.0.0
 Downloading backtrace v0.3.5
 Downloading rustc-demangle v0.1.7
 Downloading bitflags v0.9.1
 Downloading pkg-config v0.3.9
 Downloading bindgen v0.32.3
 Downloading regex v0.2.6
 Downloading log v0.3.9
 Downloading cexpr v0.2.3
 Downloading proc-macro2 v0.2.3
 Downloading quote v0.4.2
 Downloading which v1.0.5
 Downloading env_logger v0.4.3
 Downloading clang-sys v0.21.2
 Downloading peeking_take_while v0.1.2
 Downloading log v0.4.1
 Downloading strsim v0.7.0
 Downloading atty v0.2.6
 Downloading unicode-width v0.1.4
 Downloading textwrap v0.9.0
 Downloading bitflags v1.0.1
 Downloading vec_map v0.8.0
 Downloading nom v3.2.1
 Downloading memchr v1.0.2
 Downloading utf8-ranges v1.0.0
 Downloading aho-corasick v0.6.4
 Downloading thread_local v0.3.5
 Downloading regex-syntax v0.4.2
 Downloading memchr v2.0.1
 Downloading unreachable v1.0.0
 Downloading void v1.0.2
 Downloading unicode-xid v0.1.0
 Downloading libloading v0.4.3
 Downloading ansi_term v0.10.2
   Compiling libloading v0.4.3
   Compiling either v1.4.0
   Compiling ffmpeg v0.2.0-alpha.2 (https://github.com/kornelski/rust-ffmpeg.git#0eea6d01)
   Compiling cc v1.0.4
   Compiling rgb v0.8.7
   Compiling winapi v0.2.8
   Compiling libc v0.2.37
   Compiling strsim v0.7.0
   Compiling regex-syntax v0.4.2
   Compiling utf8-ranges v1.0.0
   Compiling bindgen v0.32.3
   Compiling void v1.0.2
   Compiling bitflags v1.0.1
   Compiling vec_map v0.8.0
   Compiling scopeguard v0.3.3
   Compiling unicode-width v0.1.4
   Compiling nodrop v0.1.12
   Compiling peeking_take_while v0.1.2
   Compiling resize v0.3.0
   Compiling rayon-core v1.4.0
   Compiling winapi-build v0.1.1
   Compiling wild v0.1.1
   Compiling imgref v1.3.3
   Compiling bitflags v0.9.1
   Compiling pkg-config v0.3.9
   Compiling glob v0.2.11
   Compiling unicode-xid v0.1.0
   Compiling lazy_static v1.0.0
   Compiling rustc-demangle v0.1.7
   Compiling memoffset v0.2.1
   Compiling color_quant v1.0.0
   Compiling cfg-if v0.1.2
   Compiling ansi_term v0.10.2
   Compiling lzw v0.10.0
   Compiling lazy_static v0.2.11
   Compiling atty v0.2.6
   Compiling which v1.0.5
   Compiling time v0.1.39
   Compiling memchr v1.0.2
   Compiling rand v0.4.2
   Compiling lodepng v2.1.2
   Compiling memchr v2.0.1
   Compiling num_cpus v1.8.0
   Compiling unreachable v1.0.0
   Compiling textwrap v0.9.0
   Compiling arrayvec v0.4.7
   Compiling kernel32-sys v0.2.2
   Compiling proc-macro2 v0.2.3
   Compiling backtrace v0.3.5
   Compiling log v0.4.1
   Compiling crossbeam-utils v0.2.2
   Compiling clang-sys v0.21.2
   Compiling imagequant-sys v2.11.9
   Compiling gif v0.9.2
   Compiling nom v3.2.1
   Compiling thread_local v0.3.5
   Compiling aho-corasick v0.6.4
   Compiling clap v2.30.0
   Compiling crossbeam-epoch v0.3.0
   Compiling log v0.3.9
   Compiling error-chain v0.11.0
   Compiling gif-dispose v2.1.0
   Compiling regex v0.2.6
   Compiling quote v0.4.2
   Compiling crossbeam-deque v0.2.0
   Compiling pbr v1.0.0
   Compiling imagequant v2.11.9
   Compiling cexpr v0.2.3
   Compiling rayon v0.9.0
   Compiling env_logger v0.4.3
   Compiling ffmpeg-sys v3.4.1 (https://github.com/meh/rust-ffmpeg-sys#9056485f)
error[E0425]: cannot find value `AV_PIX_FMT_VDA_VLD` in this scope
   --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/util/format/pixel.rs:696:26
    |
696 |             Pixel::VDA_VLD     => AV_PIX_FMT_VDA_VLD,
    |                                   ^^^^^^^^^^^^^^^^^^ did you mean `AV_PIX_FMT_VAAPI_VLD`?

error[E0425]: cannot find value `AV_PIX_FMT_VDA` in this scope
   --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/util/format/pixel.rs:740:18
    |
740 |             Pixel::VDA => AV_PIX_FMT_VDA,
    |                           ^^^^^^^^^^^^^^ did you mean `AV_PIX_FMT_CUDA`?

error[E0425]: cannot find value `AVFMT_RAWPICTURE` in this scope
 --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/format/format/flag.rs:9:25
  |
9 |         const RAW_PICTURE   = AVFMT_RAWPICTURE;
  |                               ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CODEC_ID_VIMA` in this scope
    --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/id.rs:1252:33
     |
1252 |             Id::VIMA                  => AV_CODEC_ID_VIMA,
     |                                          ^^^^^^^^^^^^^^^^ did you mean `AV_CODEC_ID_IMC`?

error[E0425]: cannot find value `AV_CODEC_CAP_HWACCEL_VDPAU` in this scope
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/capabilities.rs:11:31
   |
11 |         const HWACCEL_VDPAU       = AV_CODEC_CAP_HWACCEL_VDPAU;
   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `FF_DEBUG_MV` in this scope
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/debug.rs:11:23
   |
11 |         const MV          = FF_DEBUG_MV;
   |                             ^^^^^^^^^^^ did you mean `FF_DEBUG_ER`?

error[E0425]: cannot find value `FF_DEBUG_PTS` in this scope
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/debug.rs:15:23
   |
15 |         const PTS         = FF_DEBUG_PTS;
   |                             ^^^^^^^^^^^^ did you mean `FF_FDEBUG_TS`?

error[E0425]: cannot find value `FF_DEBUG_VIS_QP` in this scope
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/debug.rs:19:23
   |
19 |         const VIS_QP      = FF_DEBUG_VIS_QP;
   |                             ^^^^^^^^^^^^^^^ did you mean `FF_DEBUG_QP`?

error[E0425]: cannot find value `FF_DEBUG_VIS_MB_TYPE` in this scope
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/codec/debug.rs:20:23
   |
20 |         const VIS_MB_TYPE = FF_DEBUG_VIS_MB_TYPE;
   |                             ^^^^^^^^^^^^^^^^^^^^ did you mean `FF_DEBUG_MB_TYPE`?

error[E0599]: no variant named `XVMC` found for type `util::format::pixel::Pixel` in the current scope
   --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/util/format/pixel.rs:803:4
    |
10  | pub enum Pixel {
    | -------------- variant `XVMC` not found here
...
803 |             Pixel::XVMC   => AV_PIX_FMT_XVMC,
    |             ^^^^^^^^^^^ variant not found in `util::format::pixel::Pixel`

error[E0308]: mismatched types
  --> .brew_home/.cargo/git/checkouts/rust-ffmpeg-4e2fa0d809f646b8/0eea6d0/src/filter/mod.rs:64:22
   |
64 |             Some(Filter::wrap(ptr))
   |                               ^^^ types differ in mutability
   |
   = note: expected type `*mut sys::AVFilter`
              found type `*const sys::AVFilter`

error: aborting due to 11 previous errors

error: Could not compile `ffmpeg`.

To learn more, run the command again with --verbose.

regressed by https://github.com/FFmpeg/FFmpeg/commit/2b320318273b74df6e1b712fb33544d6a1b26be1 https://github.com/FFmpeg/FFmpeg/commit/693a11b8a269c695c2608172c223be246dd7343e and more

kornelski commented 6 years ago

Blocked by #97, and this is a fundamental problem that will re-occur with every single version

Boscop commented 4 years ago

Any update on this? #97 is closed, does it build with ffmpeg 4 now?

meh commented 4 years ago

The update is I'm mostly out of my long winter and I'll soon need this crate for work, so I'll fix everything soon™.

Boscop commented 4 years ago

@meh Thanks! For an art project I'm currently piping raw frames into the ffmpeg.exe but I can't write high resolution at high framerate through pipes, it would be faster to use the API. So I'm eagerly awaiting v4 support :)