首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为gstreamer crate 0.14编写rust/gstreamer插件需要哪些依赖项?

为gstreamer crate 0.14编写rust/gstreamer插件需要哪些依赖项?
EN

Stack Overflow用户
提问于 2019-07-16 22:37:05
回答 2查看 625关注 0票数 1

我正在尝试遵循https://coaxion.net/blog/2018/01/how-to-write-gstreamer-elements-in-rust-part-1-a-video-filter-for-converting-rgb-to-grayscale/上关于使用rust编写gstreamer插件的教程。

如果您按照本教程到我有可编译代码的第一点,Cargo.toml是

代码语言:javascript
复制
[package]
name = "gst-plugin-tutorial"
version = "0.1.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"]
repository = "https://github.com/sdroege/gst-plugin-rs"
license = "MIT/Apache-2.0"

[dependencies]
glib = "0.4"
gstreamer = "0.10"
gstreamer-base = "0.10"
gstreamer-video = "0.10"
gst-plugin = "0.1"

[lib]
name = "gstrstutorial"
crate-type = ["cdylib"]
path = "src/lib.rs"

而src/lib.rs是

代码语言:javascript
复制
extern crate glib;
#[macro_use]
extern crate gstreamer as gst;
extern crate gstreamer_base as gst_base;
extern crate gstreamer_video as gst_video;
#[macro_use]
extern crate gst_plugin;

plugin_define!(
    b"rstutorial\0",
    b"Rust Tutorial Plugin\0",
    plugin_init,
    b"1.0\0",
    b"MIT/X11\0",
    b"rstutorial\0",
    b"rstutorial\0",
    b"https://github.com/sdroege/gst-plugin-rs\0",
    b"2017-12-30\0"
);

fn plugin_init(plugin: &gst::Plugin) -> bool {
    true
}

这是可以编译的,但我需要为其编写插件的项目使用的是gstreamer 1.16,因此它需要rust crate gstreamer 0.14。

当我修改Cargo.toml以引用gstreamer crate的最新版本时:

代码语言:javascript
复制
[dependencies]
#glib = "0.4"
gstreamer = "0.14"
gstreamer-base = "0.14"
gstreamer-video = "0.14"
gst-plugin = "0.3.2"

我在构建时遇到错误:

代码语言:javascript
复制
    Updating crates.io index
error: failed to select a version for `glib-sys`.
    ... required by package `gstreamer-base v0.14.0`
    ... which is depended on by `gst-plugin-tutorial v0.1.0 (/home/thoth/src/rust-gst-plugin-exp/coaxion-plugin)`
versions that meet the requirements `^0.9` are: 0.9.0

the package `glib-sys` links to the native library `glib`, but it conflicts with a previous package which links to `glib` as well:
package `glib-sys v0.7.0`
    ... which is depended on by `gst-plugin v0.3.2`
    ... which is depended on by `gst-plugin-tutorial v0.1.0 (/home/thoth/src/rust-gst-plugin-exp/coaxion-plugin)`

failed to select a version for `glib-sys` which could resolve this conflict

在rust中编写与gstreamer 1.16一起使用的gstreamer插件时,合适的crate版本组合是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57059793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档