Commit Graph

22 Commits

Author SHA1 Message Date
Henry Ruhs c00ea92f35 Migrate to WHIP (#1120)
* migrate to whip part1

* migrate to whip part2

* migrate to whip part3

* migrate to whip part4

* migrate to whip/whep with bidirectional

* migrate to whip/whep with bidirectional

* use next library

* add _next to lid datachannel files

* cleanup and add todos

* use internal helper rtcGetPayloadTypesForCodec

* fix lint

* refactor decode()

* move logic to codecs

* move logic to codecs

* break encoders and decoders into multiple files

* break encoders and decoders into multiple files

* cleanup more

* drop action for stream endpoints, keep type for self documentation

* restore the v4 store

* fix: align frame_width and frame_height to even in both collect() and read_resolution() in both decoders.

---------

Co-authored-by: harisreedhar <h4harisreedhar.s.s@gmail.com>
2026-05-18 16:16:06 +02:00
Henry Ruhs dd1ded1408 Refactor/rtc cleanup 3 (#1118)
* tweak rtc store and make the decision to ban trivial testing

* clear todos for rtc_test, remove redundant tests

* clear todos for rtc_test, remove redundant tests

* break negotiation out of rtc flow, introduce create_sdp_answer and set_remote_description

* add todo

* move timeline control to the stream helper, clean send_audio|video_to_peers

* rename some methods

* fix test

* introduce detect_sdp_media

* introduce detect_sdp_media
2026-05-16 09:06:04 +02:00
Henry Ruhs 532464032b More RTC cleanup (#1115)
* reduce create_peer_connection like crazy

* turns out that we dont event and callback/while+sleep magic for create_sdp_offer and negotiate_sdp_answer

* test for audio/video to peers

* flag rtc methods to be revised

* fix lint
2026-05-15 15:10:51 +02:00
Henry Ruhs 98adce8a2b Refactor RTC structure (#1113)
* refactor rtc part1

* skip for macos

* merge create spd and create sdp offer

* fix lint

* add test for create_sdp_offer

* better naming for negotiate method as we get an answer

* extend tests based on mutations

* remove dead code

* rename rtc store and related methods

* clean store, move sender logic to stream helper under apis

* generate tests for rtc store
2026-05-15 11:46:51 +02:00
henryruhs 504f2240f7 make test more robust 2026-05-14 23:19:49 +02:00
henryruhs 1562fe2fee kill the stream helper in tests 2026-05-14 22:41:54 +02:00
henryruhs dc74e1c783 event driven test_stream_video 2026-05-14 22:21:36 +02:00
Henry Ruhs 9453a042a1 hash based test for test_stream_image (#1104)
* hash based test for test_stream_image

* new todo for test_video_stream

* new todo for test_video_stream
2026-05-12 19:51:19 +05:30
henryruhs fdf1b841b2 setup_platform is no longer needed, bring back conda.py 2026-05-11 17:42:51 +02:00
Henry Ruhs 20b392f760 ship libssl and libcrypto in linux (#1095) 2026-05-11 16:36:23 +02:00
henryruhs 527bb0ff45 cleanup 2026-05-11 16:36:23 +02:00
henryruhs e05d13c47e cleanup 2026-05-11 16:36:23 +02:00
Henry Ruhs 8bbb6e7062 Cleanup/stream part1 (#1093)
* use find_library from cytypes, enable rtc tests again

* install libvpx and libopus for unix on CI

* bug found when sending audio first

* no need for source path guard

* add more tests for libraries

* add more tests for libraries

* fix testing

* disable tests to see what happens

* disable tests to see what happens

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* debug ci

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* hope to solve everything via ENV

* fix testing

* fix testing

* fix testing

* fix testing

* fix testing

* fix testing

* switch to self hosted libraries

* fixes for macos

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries

* switch to self hosted libraries
2026-05-11 16:36:23 +02:00
Henry Ruhs 76c413a2c1 Refactor/ffmpeg less stream (#1092)
* remove ffmpeg from stream to use opus and vpx, add bunch of todos

* fix testing

* improve download checkout

* fix datachannel download, fix super dirty test clients - setup logic does not belong there

* fix testing
2026-05-11 16:36:23 +02:00
henryruhs 4198cca18f disable broken tests 2026-05-11 16:36:23 +02:00
henryruhs 9a2d57ae54 refactor detect_websocket_stream_mode and related tests a bit, disable broken tests 2026-05-11 16:36:23 +02:00
henryruhs fe002dc821 skip potential broken tests 2026-05-11 16:36:23 +02:00
henryruhs f8f5d6197d skip potential broken tests 2026-05-11 16:36:23 +02:00
henryruhs 66ee9144fb add TODOS 2026-05-11 16:36:23 +02:00
Harisreedhar dfaa1f9cd4 Replace aiortc with libdatachannel direct pipeline (#1083)
* fix stdin close error

* Refactor stream endpoint, fix encoder thread safety and improve tests

* fix and improve test

* remove not None

* use Enum

* use Enum and add todo

* remove poll
2026-05-11 16:36:23 +02:00
Harisreedhar ad1a6c9ea3 Implement basic webrtc stream (#1054)
* implement basic webrtc_stream

* add aiortc to requirements.txt

* update aiortc version

* rename variables with rtc_ prefix

* changes

* changes

* change helper to assert_helper and stream_helper

* rename variables with rtc_ prefix

* add error handling

* return whole connection

* remove monkey patch and some cleaning

* cleanup

* tiny adjustments

* tiny adjustments

* proper typing and naming for rtc offer set

* - remove async from on_video_track method
- rename source -> target
- add audio

* audio always before video

---------

Co-authored-by: henryruhs <info@henryruhs.com>
2026-05-11 16:36:03 +02:00
Harisreedhar 1ba2adc10b Rename process to stream (#1053)
* rename process to stream

* remove /image and add webrtc_stream_video scaffolding

* remove _image
2026-05-11 16:35:16 +02:00