Commit graph

14 commits

Author SHA1 Message Date
Sebastian Dröge cc4c814095 Update versions to 0.19.8 2023-02-09 21:27:26 +02:00
Sebastian Dröge fd28a25948 Update versions to 0.19.7 2023-01-19 19:02:09 +02:00
Sebastian Dröge 085108f4a2 Update versions to 0.19.6 2023-01-18 16:47:43 +02:00
Sebastian Dröge aadbeac8c1 Update versions to 0.19.5 2022-12-27 12:47:10 +02:00
Sebastian Dröge 9520f2da0e Update versions to 0.19.4 2022-12-16 11:40:57 +02:00
Sebastian Dröge 2fe30fb166 Update versions to 0.19.3 2022-11-28 10:14:29 +02:00
Sebastian Dröge bfa468e87f Update versions to 0.19.2 2022-11-13 19:45:33 +02:00
Sebastian Dröge 20120fda3d Update versions to 0.19.1 2022-10-24 11:23:00 +03:00
Sebastian Dröge dba98bd7c7 Add 0.19 version requirement to all dependencies from this repository 2022-10-22 20:24:47 +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