gstreamer-rs/gstreamer-utils
Thibault Saunier f3bba21faa Introduce StreamProducer
Introduce a new `gstreamer-utils` crate where we implement a
`StreamProducer` structure that allows "producing" pipeline (Producers)
pushing their data to 0 or several "consuming" pipelines. The Producer
needs to push their data to an `appsink` which the `StreamProducer` controls
and the "consumer" pipelines need to have an AppSrc which the same
StreamProducer controls.

It allows similare behavior as a `tee` element but with a simpler to
handle addition and removal of "consumers" as well as a total decoupling
of the various consumer, both between each others and the producer
pipeline.

This has simply been extracted from
[webrtcsink](https://github.com/centricular/webrtcsink/blob/main/plugins/src/webrtcsink/utils.rs)
2022-05-11 10:14:54 -04:00
..
src Introduce StreamProducer 2022-05-11 10:14:54 -04:00
Cargo.toml Introduce StreamProducer 2022-05-11 10:14:54 -04:00
CHANGELOG.md Introduce StreamProducer 2022-05-11 10:14:54 -04:00
COPYRIGHT Introduce StreamProducer 2022-05-11 10:14:54 -04:00
LICENSE-APACHE Introduce StreamProducer 2022-05-11 10:14:54 -04:00
LICENSE-MIT Introduce StreamProducer 2022-05-11 10:14:54 -04:00