henryruhs
57189c638e
optimize app context detection
2026-06-09 22:30:37 +02:00
Henry Ruhs
00fb89d4f1
Best performance to code ratio for stream ( #1150 )
...
* queue with futures, kill deque, add couple of todos
* resolve couple of todos
* add more todos
* add more todos and resolve others
* add more todos and resolve others
* fix test
* fix collapse
* adjust naming a bit
2026-06-09 22:16:51 +02:00
henryruhs
67cc3de934
just ignore type
2026-06-06 15:31:14 +02:00
henryruhs
accad0a2cb
fix ci
2026-06-06 13:53:30 +02:00
henryruhs
46d1575c9b
fix ci
2026-06-06 13:41:28 +02:00
henryruhs
f3bc5ffb4b
changes for vp9 support
2026-06-06 12:39:14 +02:00
henryruhs
5287ce6dcb
add todos
2026-06-06 11:45:38 +02:00
henryruhs
5d6258e17e
add vp9 support
2026-06-06 11:39:53 +02:00
henryruhs
036c5c0225
add vp9 support
2026-06-06 11:15:00 +02:00
henryruhs
2e884941f8
resolve todos
2026-06-06 08:36:20 +02:00
henryruhs
0ef5de1d02
guard for tobytes()
...
(cherry picked from commit 0cbfa5a415 )
2026-06-05 21:47:57 +02:00
henryruhs
dcb9a7a59b
minor improvement
...
(cherry picked from commit fd3e8b82e2 )
2026-06-05 21:47:57 +02:00
henryruhs
3f6738dd1d
fix ci
...
(cherry picked from commit fbfb21df3b )
2026-06-05 21:47:57 +02:00
henryruhs
19f8f5f206
bring back the face store but for source and reference only
...
(cherry picked from commit 9d8a5be714 )
2026-06-05 21:47:57 +02:00
Henry Ruhs
775985645e
Push based receive with queue ( #1146 )
...
* move to push based receive
* move to push based receive, fix mocks
* fix tests
* add todos
* remove asyncio
* remove asyncio
* resolve todos
* move to queue without events
* prevent debug spam
* concurrent stream inference
stream_video.py: pipeline face-swap inference across execution_thread_count workers (ThreadPoolExecutor + bounded in-flight deque, ordered encode) to keep the GPU busy during encode
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* add todos
* add todos
* add missing state
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-05 00:18:57 +02:00
henryruhs
1f494f54db
fix hashes
2026-06-03 10:43:16 +02:00
henryruhs
476a21cc7a
fix hashes
2026-06-03 10:43:09 +02:00
henryruhs
121c3a5af6
update hashes
2026-06-03 10:36:00 +02:00
Henry Ruhs
2ac9b70550
Feat/remb both direction ( #1145 )
...
* revamp remb to take both directions
* extract more methods
2026-06-03 10:31:33 +02:00
henryruhs
d9553b12e8
remove copy of buffer
2026-06-02 17:10:25 +02:00
henryruhs
3bda73699c
fix fast seeking
2026-06-02 16:29:58 +02:00
Henry Ruhs
7181b41f2d
Feat/finalize stream ( #1144 )
...
* break stream helper into pieces
* remove todos
2026-06-02 16:05:21 +02:00
harisreedhar
314ee61826
add create_event method
2026-06-02 03:06:16 +05:30
Harisreedhar
beeb1d99e9
Refactor(stream-helper): split encode/receive loops and unify audio/video structure ( #1142 )
...
* split encode loop
* unify audio and video encode loop methods
* improve variable names
* split receive methods
* test improve
* try to avoid != with even more weird approach
* remove source_path check
* remove empty variables
* fix lint
* avoid not in condition
* rename
* fix lint
2026-06-02 01:50:40 +05:30
Henry Ruhs
e2e4e6a95b
Refactor/stream helper testing ( #1141 )
...
* fix tests part1
* improve testing
* use real audio
* more renaming
* switch to hash assertions
* switch to hash assertions
* switch to hash assertions
* switch to hash assertions
* skip on macos
2026-06-01 18:42:37 +02:00
Harisreedhar
3eeb505c86
Refactor(stream-helper): pass peer context objects to receivers, fix codec guard, move YUV conversion into decoders ( #1140 )
...
* extract numpy.empty(0) into an empty_vision_frame variable so the sentinel intent is clear
* bring back todos
* bring back todos
* rename opus_buffer to audio
* move reshape and cvtColor into decoder modules
* add audio_codec check
* add audio_codec check
* rename audio video buffer
* simplify receive methods and cleanup test
* todo
* revert decode methods to return pointer
* remove duplicate test_stream_helper — tests live in test_api_stream_helper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 17:21:06 +05:30
harisreedhar
02f684e220
bring back todos
2026-06-01 15:48:10 +05:30
harisreedhar
a88d8ead49
bring back todos
2026-06-01 15:45:44 +05:30
harisreedhar
7735c3740f
bring back todos
2026-06-01 15:19:28 +05:30
henryruhs
f2de9f1843
rename to video pack and audio pack
2026-06-01 11:41:25 +02:00
Harisreedhar
aea36a9e55
Replace queues with timestamped deques and fix Audio Video sync ( #1139 )
...
* change to deque
* remove single line condition
* change threading to asyncio
* bringback todos
2026-06-01 15:03:33 +05:30
Henry Ruhs
0f5f75ba51
Cleanup/testing suite ( #1136 )
...
* clean testing suite
* clean testing suite part2
* clean testing suite part3
* add todos
* extend testing suite and kill some mutants
* fix hashes
* fix lint
* fix test
* fix test
2026-06-01 08:54:37 +02:00
Henry Ruhs
460c65004b
Add available event ( #1134 )
...
* remove sleep with available event
* reorder methods, caller has to follow variable names of consumer, reorder tests methods
* more todos for naming
2026-05-30 16:39:48 +05:30
Henry Ruhs
1ac0e3e9a4
remove face store ( #1132 ) ( #1133 )
2026-05-30 11:55:58 +02:00
Harisreedhar
9f6a19c1d2
feat(rtc): 2-way REMB with in-place encoder bitrate update ( #1131 )
...
* implement remb other direction
* update test
2026-05-30 04:41:10 +05:30
henryruhs
3ff327e670
add todos
2026-05-29 18:17:51 +02:00
henryruhs
2553ad7cad
add todos
2026-05-29 18:10:15 +02:00
Harisreedhar
6b9ddd9a4f
feat(rtc): REMB bitrate adaptation with in-place encoder update ( #1130 )
...
* improve test
* fix lint
* cleanup
* cleanup
2026-05-29 21:15:03 +05:30
henryruhs
871559cb6a
clean and simplify tests
2026-05-29 15:44:07 +02:00
Harisreedhar
2a8672b54d
Implement tier 1 REMB ( #1129 )
...
* implement tier 1
* fix lint
* cleanup
* cleanup
* fix lint
* use clear_remb method
* use single callback
* improve test
* improve test
* improve test
* improve test
* improve test
2026-05-29 19:00:27 +05:30
henryruhs
cc0af9175a
ban byte string
2026-05-26 19:15:11 +02:00
harisreedhar
d77be89177
improve encoder collect
2026-05-26 22:25:55 +05:30
henryruhs
e813d7df95
improve performance for decoder collect
2026-05-26 18:29:12 +02:00
henryruhs
6eaabe123e
remove --onnxruntime from install.py
2026-05-26 08:16:49 +02:00
henryruhs
e2bac200d6
remove --onnxruntime from install.py
2026-05-26 08:14:48 +02:00
Harisreedhar
4fe79483ea
Fix stream lifecycle bugs: threading, RTP sync, and resource cleanup ( #1125 )
...
* fix executor thread not terminating after stream deletion
* fix stream shutdown and thread lifecycle
* add todo
* cleanup
* cleanup
* cleanup
* cleanup
* audio_queue.put() → get_nowait() + put_nowait()
* rename test
* fix test
* merge tests
* cleanup tests
* cleanup tests
* cleanup tests
* simplify test logic with mock
* cleanup
* cleanup hard to read stream_helper.py
* introduce rtc_peer.has_peers
* fix lint
* add todos
* fix test hash
2026-05-22 16:29:45 +05:30
Harisreedhar
520dcbfd6b
Refine stream helper: queue-based loops, AV1/WHIP support, endpoint separation ( #1124 )
...
* rearrange methods
* add test_stream_helper.py
* improve tests
* use deque
* move decoder to recieve methods
* remove cleanup_peer
* add destroy_stream
* make run_peer_loop more readable
* make video and audio method simlar
* change deque to queue to avoid extra thread event
* remove negative condition
* cleanup
* remove wait_for_frame
* cleanup
* cleanup
* fix process_image
* fix lint
* cleanup
* remove last_time
* add todos
2026-05-20 23:43:14 +05:30
Henry Ruhs
48869bedf0
Follow WHIP specs ( #1123 )
...
* follow more specs of whip
* pass the location header value via API router
* fix CI
* remove more queries
2026-05-19 17:05:53 +02:00
Henry Ruhs
927857d70d
cleanup decoders tests ( #1122 )
...
* cleanup mostly decoders tests, also a bit encoders
* cleanup mostly decoders tests, also a bit encoders
2026-05-19 12:57:57 +02:00
Henry Ruhs
fbacb24fcc
Tiny refactor of codecs ( #1121 )
...
* improve performance using pointers
* simplify decoder's collect
* simplify decoder's collect
* add threading to decoders
* fix test
* switch back to return bytes
* fix macos
2026-05-19 10:31:53 +02:00