Mathieu Duponchelle
b1c614a1df
address nightly clippy warnings
2022-05-26 18:22:53 +02:00
Mathieu Duponchelle
ad6e24c78b
Dockerfile: update to use monorepo
2022-05-26 18:03:01 +02:00
Mathieu Duponchelle
5fabc606ec
server: replace our StreamProducer implementation with the upstream one
...
We still keep a wrapper around it as we need our implementation to
keep track of consumer ids.
2022-05-26 18:03:01 +02:00
Mathieu Duponchelle
3678c05342
Refresh all outdated dependencies
2022-05-26 17:05:37 +02:00
Mathieu Duponchelle
4e91f5f8c1
scripts: update web_overlay example
2022-03-09 23:31:16 +01:00
Mathieu Duponchelle
205bd41de3
Refresh all outdated dependencies
2022-02-27 04:02:32 +01:00
Mathieu Duponchelle
4247ca2c33
scripts: update crossfade example
2022-02-27 04:02:32 +01:00
Mathieu Duponchelle
92e07782a6
Implement support for basic stream type selection
...
As `fallbacksrc` doesn't allow for in-depth stream selection, this
only adds support for connecting audio and video streams independently,
and enabling and disabling video or audio for each node type.
2022-02-21 23:54:05 +01:00
Mathieu Duponchelle
102f8bef98
PipelineManager: dump to dot on state change
2022-02-21 23:54:05 +01:00
Mathieu Duponchelle
3b40b04f83
API: remove Graph / Node sublevels [API break]
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
371bdc9828
MixerInfo: extend to include current settings [API break]
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
e05e9ad597
mixer: implement RemoveControlPoint
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
c0e766bb3c
scripts: port to new API
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
31e6f55d75
property_controller: add support for enum properties
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
7cba130938
API: Implement support for node control points [API break]
...
+ Switch Mixer to accept optional settings through a standardized
API
+ Make Mixer sample rate non-controllable, changing the sample
rate on the fly has limited interest, and the implementation
wasn't really useful either.
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
baebf8fb0d
mixer: remove SetSlotVolume command [API break]
...
This can be done with the connect configuration and the
control-point API
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
36c4d95e55
scripts/crossfade: make use of new API
...
+ use local playback
+ use connect configuration
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
0ddb20a69d
controller: parse arguments before trying to connect
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
327b2d1788
node: implement initial configuration for consumer slots [API break]
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
a0f9b72821
API: add new LocalPlayback destination family
2021-08-19 02:58:46 +02:00
Mathieu Duponchelle
90dc481bc3
chore: update server application blurb
2021-08-07 18:44:29 +02:00
Mathieu Duponchelle
ff1b5ef41c
chore: split up utils into multiple source files
2021-08-04 06:10:21 +02:00
Mathieu Duponchelle
7a1b084ebc
chore: move example scripts to subdirectory
2021-08-04 06:10:21 +02:00
Mathieu Duponchelle
6e80f8b69e
example: demonstrate web overlay
2021-08-01 18:37:38 +02:00
Mathieu Duponchelle
55c6422a25
mixer: output pixel format with alpha
...
This lets compositor select an alpha-capable format to perform
mixing in, enabling usage of mixers to implement overlays.
2021-08-01 18:37:38 +02:00
Mathieu Duponchelle
1a35ba4538
Merge pull request #3 from MathieuDuponchelle/control-points
...
Expose API to control properties over time
2021-07-31 00:42:11 +02:00
Mathieu Duponchelle
dd1bebcd64
Expose API to control properties over time
...
This initial version only supports controlling properties of mixer
slots, the API is generic however and should be easy to implement
for other nodes (eg Filter nodes when implemented).
Any property exposed by the mixer pads can be controlled through
that API, provided it is writable, readable if interpolating,
numerically-typed, or boolean / string if mode is "Set".
+ Update MixerInfo to include control points [API break]
+ Add sample script to demonstrate usage, `crossfade.py`
2021-07-31 00:29:43 +02:00
Mathieu Duponchelle
2612b9054e
PipelineManager: set base and start time at creation
...
Otherwise the pipeline might go to PLAYING before the manager
is actually started
2021-07-17 01:23:22 +02:00
Mathieu Duponchelle
32b3781810
source: set PLAYING state synchronously
...
The state change will be immediate anyway, and it eliminates
a potential race that occured during CI where by the time set_state
PLAYING was called the source had been rescheduled, and we tried
to connect pads to appsinks that had been moved to another pipeline.
2021-07-13 01:46:14 +02:00
Mathieu Duponchelle
2a47d7d6d9
tests: harden get_now() implementation
...
This is really quite unfortunate, but Instant::now()
is actually *not* monotonic on certain systems.
2021-07-13 01:42:50 +02:00
Mathieu Duponchelle
5be7906ee0
destination: implement basic test
2021-07-13 01:41:58 +02:00
Mathieu Duponchelle
f81c48ed0d
source: enable now opt-in immmediate-fallback
2021-07-03 00:42:14 +02:00
Mathieu Duponchelle
a190aac456
README: link documentation
2021-07-02 20:48:28 +02:00
Mathieu Duponchelle
747a7d0cdd
chore: build docs
2021-07-02 20:06:35 +02:00
Mathieu Duponchelle
2572567aec
check in Dockerfile
2021-07-02 19:19:30 +02:00
Mathieu Duponchelle
09adb93c1d
chore: set up CI
2021-07-02 19:19:30 +02:00
Mathieu Duponchelle
7eec04faa9
chore: fix clippy warnings
2021-07-02 19:00:44 +02:00
Erik St. Martin
096b7e5f75
Update README
2021-07-01 10:26:50 -04:00
Erik St. Martin
ba3004972b
Update SUPPORT.md
2021-06-30 12:51:10 -04:00
Mathieu Duponchelle
06f8e52134
README: fallbacksrc improvements have been merged
2021-06-30 15:51:15 +02:00
Mathieu Duponchelle
50ac48da54
chore: rename to Auteur
2021-06-25 03:18:13 +02:00
Mathieu Duponchelle
ece1c45e46
tests: add test asset
2021-06-25 03:02:45 +02:00
Mathieu Duponchelle
030d166d14
extend node status message
2021-06-20 02:44:58 +02:00
Mathieu Duponchelle
c5bcace793
controller: tidy up CommandResult [API break]
2021-06-20 01:50:19 +02:00
Mathieu Duponchelle
83d82ea393
rename Status command to GetInfo [API break]
2021-06-20 00:22:56 +02:00
Mathieu Duponchelle
62c1649a79
tests: support unit tests with synthetic times
...
+ make use of tokio::time::pause()
+ implement a test-specific method to retrieve "now" so that
time-aware unit tests can complete immediately yet deterministically
2021-06-14 22:04:24 +02:00
Mathieu Duponchelle
a52c1e5773
chore: add unit tests [new API]
2021-06-14 03:12:03 +02:00
Mathieu Duponchelle
362908edab
refactor: factor out state machine as Schedulable trait
2021-06-13 18:45:05 +02:00
Mathieu Duponchelle
cde53eab47
refactor: rename node::NodeStatus -> node::State [API break]
2021-06-12 16:36:21 +02:00
Mathieu Duponchelle
ecff80137a
refactor: unify stopped message [API break]
2021-06-12 05:15:49 +02:00