New streaming endpoints #265

Merged
blacklight merged 17 commits from 264-streaming-endpoints into master 2023-06-27 13:38:14 +02:00
Owner

A very large PR that includes the following:

  • A full rewrite of the streaming endpoints (namely camera and sound endpoints, at least for now) to support the new Tornado-based async paradigm.

  • A full rewrite of the sound plugin to be more extensible, feature-rich and stable.

  • A full rewrite of the logic that synchronizes camera and sound streams to any streaming clients by using Redis pubsub.

A very large PR that includes the following: - A full rewrite of the streaming endpoints (namely camera and sound endpoints, at least for now) to support the new Tornado-based async paradigm. - A full rewrite of the sound plugin to be more extensible, feature-rich and stable. - A full rewrite of the logic that synchronizes camera and sound streams to any streaming clients by using Redis pubsub.
blacklight added 17 commits 2023-06-27 13:34:48 +02:00
1c40e5e843
Black'd the camera plugin and writer.
Also, proper fix for the multi-inheritance problem of
the ffmpeg writers.
b4d714df8a
Removed `camera.gstreamer`.
Too much of a pain in the ass to handle, too many format options to
think of, too many combinations of pipelines to support, and if I don't
think of those beforehand then I'll have to offload all of that
complexity on the user.
4bf9c01ac9
Moved camera routes.
Camera routes migrated from Flask blueprints to Tornado handlers.
8b5eb82497
Camera stream writer fixes.
- The readiness condition should be `multiprocessing.Condition`, not
  `threading.Condition` - in most of the cases it will be checked in a
  multiprocess environment.

- Fixed parameter name for `write`.
d7208c6bbc
Refactored Tornado routes for native pub/sub support.
The Redis pub/sub mechanism is now a native feature for Tornado routes
through the `PubSubMixin`.

(Plus, lint/black chore for the sound plugin)
blacklight merged commit b01bf43552 into master 2023-06-27 13:38:14 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: platypush/platypush#265
No description provided.