Failed to use plugins of latest GStreamer version 1.20.x installed by brew on macOS
I have a test project to try gstreamer-rs examples with dependencies from crates.io.
It worked nicely at first, but after recent upgrade of gstreamer, the code no longer runs. It complains for missing element from various plugins, e.g. "no element playbin", "no element decodebin", etc:
I have pushed the test project to Github so you may try it with the project: text Here is what I see when I run the example
$ cargo run --bin basic-tutorial-1
Finished dev [unoptimized + debuginfo] target(s) in 0.10s
Running `target/debug/basic-tutorial-1`
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Error { domain: gst_parse_error, code: 1, message: "no element \"playbin\"" }', src/bin/basic-tutorial-1.rs:14:71
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Versions of gstreamer and plugins are all 1.20.1. I forgot the previous version, probably it was 1.18.x. I have no way to revert, as brew only supports installing the latest version. In fact, I didn't intend to upgrade gstreamer, but brew did it by itself when I install other unrelated brew formula.
I tried re-installing gstreamer, rust & toolchain, and upgraded macOS from 12.2 to 12.3.1, but none of them worked.
Then I check GStreamer's release notes, and note that it moved all modules (I suppose it include plugins) to single git repository in 1.20.0.
Development in GitLab was switched to a single git repository containing all the modules
I guess this could be the reason I got the "no element playbin" error.