Commit graph

15 commits

Author SHA1 Message Date
Sebastian Dröge 7de3cef890 Update versions to 0.20.7 2023-07-05 12:17:47 +03:00
Sebastian Dröge 3eacb10d43 Update versions to 0.20.6 2023-06-06 17:10:21 +03:00
Sebastian Dröge 022a340742 Update versions to 0.20.5 2023-04-22 11:49:53 +03:00
Sebastian Dröge 6fb1714114 Update versions to 0.20.4 2023-04-07 13:03:23 +03:00
Sebastian Dröge 55ad90cc4d Update versions to 0.20.3 2023-03-14 13:15:57 +02:00
Sebastian Dröge 4b9ac76020 Update versions to 0.20.2 2023-02-21 16:57:55 +02:00
Sebastian Dröge dabfc8d181 Update versions to 0.20.1 2023-02-13 15:02:29 +02:00
Sebastian Dröge 8a02757434 Add 0.20 version to all local dependencies 2023-02-09 23:53:05 +02:00
Sebastian Dröge 3d0f563111 Update minimum supported Rust version to 1.64
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175>
2022-12-25 14:54:38 +02:00
Sebastian Dröge 031133c179 Update versions to 0.20.0 2022-10-22 20:27:42 +03:00
Sebastian Dröge 35c6af424d Update minimum supported Rust version to 1.63 2022-09-04 10:37:13 +03:00
Tomasz Andrzejak 2090452e3d Update minimum supported rust version 2022-07-14 15:23:34 +02:00
Guillaume Desmottes 5349822962 utils/streamproducer: add ConsumptionLink
Having an explicit link object makes it much easier to build complex
producers/consumers dynamics graphs.
It provides helper to switch producers and prevent accidentally keeping
broken links around as they are disconnected on Drop.
2022-05-17 11:04:35 +03:00
Sebastian Dröge a51235048d utils/streamproducer: Add StreamProducer::configure_consumer()
This allows configuring an `appsrc` before actually adding it as
consumer at a later time, and can be useful if the pipeline with the
source should be started earlier than adding it to a consumer.

Also use strongly-typed property API for the `appsrc` properties.
2022-05-12 10:34:06 +03:00
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