Skip to content

Current master does not build #34

@SirVer

Description

@SirVer

I am tring to build bca2a6c under Mac OS and see these errors when running cargo build --all. I have similar errors when trying to compile https://github.com/rust-av/avp.

error[E0277]: the trait bound `MkvDemuxer: Demuxer` is not satisfied
  --> streams-info/src/streams_info.rs:38:36
   |
38 |     let mut demuxer = Context::new(MkvDemuxer::new(), ar);
   |                       ------------ ^^^^^^^^^^^^^^^^^ the trait `Demuxer` is not implemented for `MkvDemuxer`
   |                       |
   |                       required by a bound introduced by this call
   |
note: required by a bound in `av_format::demuxer::Context::<D, R>::new`
  --> /Users/hrapp/.cargo/registry/src/github.com-1ecc6299db9ec823/av-format-0.5.0/src/demuxer.rs:57:9
   |
57 | impl<D: Demuxer, R: Buffered> Context<D, R> {
   |         ^^^^^^^ required by this bound in `av_format::demuxer::Context::<D, R>::new`

error[E0277]: the trait bound `MkvDemuxer: Demuxer` is not satisfied
  --> frames-info/src/frames_info.rs:86:36
   |
86 |     let mut demuxer = Context::new(MkvDemuxer::new(), ar);
   |                       ------------ ^^^^^^^^^^^^^^^^^ the trait `Demuxer` is not implemented for `MkvDemuxer`
   |                       |
   |                       required by a bound introduced by this call
   |
note: required by a bound in `av_format::demuxer::Context::<D, R>::new`
  --> /Users/hrapp/.cargo/registry/src/github.com-1ecc6299db9ec823/av-format-0.5.0/src/demuxer.rs:57:9
   |
57 | impl<D: Demuxer, R: Buffered> Context<D, R> {
   |         ^^^^^^^ required by this bound in `av_format::demuxer::Context::<D, R>::new`

error[E0277]: the trait bound `MkvDemuxer: Demuxer` is not satisfied
  --> streams-info/src/streams_info.rs:38:23
   |
38 |     let mut demuxer = Context::new(MkvDemuxer::new(), ar);
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Demuxer` is not implemented for `MkvDemuxer`
   |
note: required by a bound in `av_format::demuxer::Context`
  --> /Users/hrapp/.cargo/registry/src/github.com-1ecc6299db9ec823/av-format-0.5.0/src/demuxer.rs:46:23
   |
46 | pub struct Context<D: Demuxer, R: Buffered> {
   |                       ^^^^^^^ required by this bound in `av_format::demuxer::Context`

error[E0277]: the trait bound `MkvDemuxer: Demuxer` is not satisfied
  --> frames-info/src/frames_info.rs:86:23
   |
86 |     let mut demuxer = Context::new(MkvDemuxer::new(), ar);
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Demuxer` is not implemented for `MkvDemuxer`
   |
note: required by a bound in `av_format::demuxer::Context`
  --> /Users/hrapp/.cargo/registry/src/github.com-1ecc6299db9ec823/av-format-0.5.0/src/demuxer.rs:46:23
   |
46 | pub struct Context<D: Demuxer, R: Buffered> {
   |                       ^^^^^^^ required by this bound in `av_format::demuxer::Context`

error[E0599]: the method `read_headers` exists for struct `av_format::demuxer::Context<MkvDemuxer, AccReader<File>>`, but its trait bounds were not satisfied
  --> frames-info/src/frames_info.rs:90:10
   |
90 |         .read_headers()
   |          ^^^^^^^^^^^^ method cannot be called on `av_format::demuxer::Context<MkvDemuxer, AccReader<File>>` due to unsatisfied trait bounds
   |
  ::: /Users/hrapp/.cargo/git/checkouts/matroska-89de4ba236a0b22a/b88747c/src/demuxer.rs:26:1
   |
26 | pub struct MkvDemuxer {
   | --------------------- doesn't satisfy `MkvDemuxer: Demuxer`
   |
   = note: the following trait bounds were not satisfied:
           `MkvDemuxer: Demuxer`

error[E0599]: the method `read_headers` exists for struct `av_format::demuxer::Context<MkvDemuxer, AccReader<File>>`, but its trait bounds were not satisfied
  --> streams-info/src/streams_info.rs:42:10
   |
42 |         .read_headers()
   |          ^^^^^^^^^^^^ method cannot be called on `av_format::demuxer::Context<MkvDemuxer, AccReader<File>>` due to unsatisfied trait bounds
   |
  ::: /Users/hrapp/.cargo/git/checkouts/matroska-89de4ba236a0b22a/b88747c/src/demuxer.rs:26:1
   |
26 | pub struct MkvDemuxer {
   | --------------------- doesn't satisfy `MkvDemuxer: Demuxer`
   |
   = note: the following trait bounds were not satisfied:
           `MkvDemuxer: Demuxer`

error[E0277]: the trait bound `libvpx::decoder::decoder_trait::Des: av_codec::decoder::Descriptor` is not satisfied
   --> frames-info/src/frames_info.rs:94:43
    |
94  |     let decoders = DecCodecs::from_list(&[VP9_DESCR, OPUS_DESCR, VORBIS_DESCR]);
    |                                           ^^^^^^^^^ the trait `av_codec::decoder::Descriptor` is not implemented for `libvpx::decoder::decoder_trait::Des`
    |
help: trait impl with same name found
   --> /Users/hrapp/.cargo/git/checkouts/vpx-rs-ab48b307657c386f/dca2a43/src/decoder.rs:207:5
    |
207 |     impl Descriptor for Des {
    |     ^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `av_codec` are being used?
    = note: required for the cast from `libvpx::decoder::decoder_trait::Des` to the object type `dyn av_codec::decoder::Descriptor`

error[E0277]: the trait bound `libopus::decoder::decoder_trait::Des: av_codec::decoder::Descriptor` is not satisfied
   --> frames-info/src/frames_info.rs:94:54
    |
94  |     let decoders = DecCodecs::from_list(&[VP9_DESCR, OPUS_DESCR, VORBIS_DESCR]);
    |                                                      ^^^^^^^^^^ the trait `av_codec::decoder::Descriptor` is not implemented for `libopus::decoder::decoder_trait::Des`
    |
help: trait impl with same name found
   --> /Users/hrapp/.cargo/git/checkouts/opus-rs-377ca7da91dbf68d/fde014f/src/decoder.rs:153:5
    |
153 |     impl Descriptor for Des {
    |     ^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `av_codec` are being used?
    = note: required for the cast from `libopus::decoder::decoder_trait::Des` to the object type `dyn av_codec::decoder::Descriptor`

error[E0277]: the trait bound `Des: av_codec::decoder::Descriptor` is not satisfied
  --> frames-info/src/frames_info.rs:94:66
   |
94 |     let decoders = DecCodecs::from_list(&[VP9_DESCR, OPUS_DESCR, VORBIS_DESCR]);
   |                                                                  ^^^^^^^^^^^^ the trait `av_codec::decoder::Descriptor` is not implemented for `Des`
   |
help: trait impl with same name found
  --> /Users/hrapp/.cargo/git/checkouts/av-vorbis-dc0aa63993bfa8b4/fc06e1c/src/decoder.rs:45:1
   |
45 | impl Descriptor for Des {
   | ^^^^^^^^^^^^^^^^^^^^^^^
   = note: perhaps two different versions of crate `av_codec` are being used?
   = note: required for the cast from `Des` to the object type `dyn av_codec::decoder::Descriptor`

error[E0277]: the trait bound `MkvDemuxer: Demuxer` is not satisfied
   --> frames-info/src/frames_info.rs:119:46
    |
119 |     while let Ok(data) = decode_single_frame(&mut demuxer, &mut decs) {
    |                          ------------------- ^^^^^^^^^^^^ the trait `Demuxer` is not implemented for `MkvDemuxer`
    |                          |
    |                          required by a bound introduced by this call
    |
note: required by a bound in `decode_single_frame`
   --> frames-info/src/frames_info.rs:24:27
    |
24  | fn decode_single_frame<D: Demuxer, R: Buffered>(
    |                           ^^^^^^^ required by this bound in `decode_single_frame`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `streams-info` due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `frames-info` due to 7 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions