Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support gstreamer #25

Open
jf2048 opened this issue May 28, 2022 · 2 comments
Open

Support gstreamer #25

jf2048 opened this issue May 28, 2022 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@jf2048
Copy link
Owner

jf2048 commented May 28, 2022

Need to write an example using the macro with an gstreamer element, and possibly create another gst_element macro to make it easier.

@jf2048 jf2048 added enhancement New feature or request help wanted Extra attention is needed labels May 28, 2022
@thiblahute
Copy link

I implemented a webrtcsrc element based on this crate, I think we have mostly everything we need tbh.

@thiblahute
Copy link

thiblahute commented Jul 18, 2022

I also started adding macros to ease GstElement implementation here, at this point it implements element metadata and pad templates declaration in the macros like:

#[gobject::gst_element(
    class(final),
    long_name = "TheTestElement",
    classification = "Test/Filter",
    description = "Just a test",
    author = "Thibault Saunier <tsaunier@igalia.com>",
    pad_templates(
        src(presence="always"),
        // `__` is transformed to `_%` as "%" is not a valid character
        sink__u(direction="sink", presence="sometimes", caps="video/x-raw"),
    )
)]

My next step will be to improve the way we interact with Pads creation and integration into the Elements, maybe adding a macros like:

    #[gobject::gst_pad(sink__u)]
    impl SrcPad {
        fn chain() -> Result<gst::FlowSuccess, gst::FlowError> {
            ...
        }
    }

but I am still thinking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants