Skip to content

Add Janus Streaming plugin client and integration tests#8

Open
danielmast wants to merge 3 commits intojosephlim94:masterfrom
danielmast:master
Open

Add Janus Streaming plugin client and integration tests#8
danielmast wants to merge 3 commits intojosephlim94:masterfrom
danielmast:master

Conversation

@danielmast
Copy link

Summary

  • Implements JanusStreamingPlugin, a client for the Janus Streaming plugin
  • Exports JanusStreamingPlugin, StreamingError, and StreamingEventType from the package
  • Adds a full integration test suite in tests/test_plugin_streaming.py

What's included

janus_client/plugin_streaming.py

  • Watch live/recorded streams from Janus mountpoints
  • Full mountpoint lifecycle: create_mountpoint, destroy_mountpoint, edit_mountpoint, enable_mountpoint, disable_mountpoint
  • Viewer operations: watch, pause, stop, switch
  • Event system via on_event / StreamingEventType
  • wait_webrtcup() to await WebRTC connection establishment
  • Optional MediaRecorder integration for recording incoming streams

tests/test_plugin_streaming.py

  • Integration tests covering both HTTP and WebSocket transports
  • Tests: attach/destroy, list mountpoints, create/destroy, edit, enable/disable with secret protection, error handling for nonexistent mountpoints, event handler registration

Notes

The streaming plugin reverses the normal WebRTC signalling flow: Janus creates the SDP offer and the client creates the answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant