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
Henry Ruhs
430b16ce56
introduce opus and vpx to libraries ( #1091 )
2026-05-11 16:36:23 +02:00
henryruhs
9a390bd5bc
more uniform codebase for libraries
2026-05-11 16:36:23 +02:00
Henry Ruhs
97e0df01b1
move datachannel to libraries and follow datachannel conventions ( #1090 )
...
* move datachannel to libraries and follow new datachannel_module convention
* move datachannel to libraries and follow new datachannel_module convention
2026-05-11 16:36:23 +02:00
Henry Ruhs
a8db033033
move stream mode to query parameter ( #1089 )
2026-05-11 16:36:23 +02:00
henryruhs
fda6b7f69d
fix test
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
2290e4ea57
giving up - set driver to 0.0.0 for amd
2026-05-11 16:36:23 +02:00
henryruhs
6ec9257e92
add driver version back for amd
2026-05-11 16:36:23 +02:00
henryruhs
d727558900
load rocm version for dedicated library
2026-05-11 16:36:23 +02:00
Harisreedhar
07c1c936af
Refine RTC bindings: callback-based SDP negotiation, peer state tracking, and type cleanup ( #1088 )
...
* Refine RTC bindings: callback-based SDP negotiation, peer state tracking, and type cleanup
* fix lint
* restore peer_connection and rename methods
* remove flags, unused_methods and improve tests
* fix indent
2026-05-11 16:36:23 +02:00
henryruhs
7322bd5d52
fix memory for amd
2026-05-11 16:36:23 +02:00
henryruhs
7f40516f71
use define_xxx for the type() factories
2026-05-11 16:36:23 +02:00
henryruhs
ef8567bd3a
adjust naming and fix version lookups
2026-05-11 16:36:23 +02:00
henryruhs
f8c90b4b25
simplify memory call for amd
2026-05-11 16:36:23 +02:00
henryruhs
343b7f6aad
simplify memory call for amd
2026-05-11 16:36:23 +02:00
henryruhs
9b878431d3
rename video memory to memory, add amdsmi library
2026-05-11 16:36:23 +02:00
henryruhs
74a9df35a6
scope the nvidia_ml stuff into module alias
2026-05-11 16:36:23 +02:00
henryruhs
0816bea6d3
cleanup
2026-05-11 16:36:23 +02:00
harisreedhar
6c1475f720
fix lint
2026-05-11 16:36:23 +02:00
henryruhs
b549a92a35
cleanup
2026-05-11 16:36:23 +02:00
Harisreedhar
949d9cd276
Move RTC init helpers to bindings layer and clean up structs ( #1086 )
...
* converted from type() factory to proper ctypes.Structure subclasses
* change class to method
* bring back rtcSetLocalDescription
* rename rtc_bindings.py to datachannel.py
* rename rtc_library to datachannel_library and rearrange methods
* cleanup
2026-05-11 16:36:23 +02:00
Harisreedhar
99fa2875a9
Fix SDP line endings and media description builder ( #1085 )
...
* SDP \r\n fix + build_media_description
* improve tests and remove default arguments
* improve tests
* Refine RTC types and tests with loopback SDP validation
* cleanup
2026-05-11 16:36:23 +02:00
henryruhs
b9445fd3a4
add TODOS
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
a2aedc8814
Add stream helper utilities and IVF frame iterator ( #1082 )
...
* Add stream helper utilities and IVF frame iterator
* fix lint
* some cosmetics
* fix lint
* changes
* improve test
* improve types and test
* add todo for better bitrate calculation
2026-05-11 16:36:23 +02:00
Harisreedhar
cc8bfc1af4
Implement RTC store ( #1081 )
...
* implement RTC store
* fix ffmpeg_builder
* add RtcSdpOffer type
2026-05-11 16:36:23 +02:00
Harisreedhar
31a16982f3
Refactor RTC library initialization and peer connection API ( #1079 )
...
* Replace the mutable RTC_LIBRARY global with @lru_cache on create_static_rtc_library. Expose all RTC_CONFIGURATION fields as parameters with defaults on create_peer_connection. Split add_media_tracks into add_video_track and add_audio_track, each with configurable
defaults and descriptive parameter names (sync_source_id, canonical_name). Use os.linesep for SDP media descriptions. Simplify init_ctypes to return None and remove the redundant null guard.
* cleanup
2026-05-11 16:36:23 +02:00
Harisreedhar
db545b8ae4
libdatachannel implementation Part 1 ( #1077 )
...
* add libdatachannel
* move some methods to rtc_helper.py
* move some methods to rtc_helper.py
* open_vp8_encoder -> spawn_stream_encoder
* update url (linux only)
* fix lint
* remove RTC_STATE and add unit tests
* remove convert_to_raw_rgb
* remove 'utf-8' from decode
* cleanup
* cleanup
* cleanup
* move rtc types to rtc_bindings.py
* remove load_library
* cleanup
* add todos and some cleanup
* fix lint
2026-05-11 16:36:23 +02:00
Harisreedhar
701a1b5f9e
Remove upload queue & media chunk reader ( #1076 )
...
* remove upload queue & media chunk reader
* remove macos large
---------
Co-authored-by: henryruhs <info@henryruhs.com >
2026-05-11 16:36:23 +02:00
henryruhs
1f80aa735a
remove macos large
2026-05-11 16:36:23 +02:00
Harisreedhar
ccfc5f61b6
Fix symatically wrong usage in tests ( #1075 )
...
* fix symatically wrong usage in tests
* add target-240p.jpg everywhere
* combine both target
2026-05-11 16:36:23 +02:00
henryruhs
6e7bcb599a
once invalid value causes other to fail too
2026-05-11 16:36:23 +02:00
Harisreedhar
47b703f4f5
Ignore set state for non api scope ( #1073 )
...
* ignore set state for non api scope
* replace 404 with 422
* remove two loops
* use HTTP_422_UNPROCESSABLE_CONTENT
2026-05-11 16:36:23 +02:00
henryruhs
7111af232c
add todos
2026-05-11 16:36:23 +02:00
henryruhs
2709515c39
fix stuck ffmpeg due multi thread lock
2026-05-11 16:36:23 +02:00
henryruhs
a9a4adb083
make ci great again
2026-05-11 16:36:23 +02:00
Henry Ruhs
eac03796f7
Fix/ffmpeg sanitize ( #1074 )
...
* fix sanitize for videos
* fix macos
* fix macos
2026-05-11 16:36:23 +02:00
Henry Ruhs
5790e03009
Feat/ffprobe v2 ( #1072 )
...
* follow the todos
* extend to support bit_rate and more
* simplify like crazy
* simplify like crazy
* minor changes
* clean testing
* clean testing
* kill pipe resolver helpers
* kill pipe resolver helpers
* bit rate seems to be different on CI
* use .splitlines() over .split(os.linesep)
* skip test for windows
* hack testing
2026-05-11 16:36:23 +02:00
henryruhs
fe7f402474
fix more todos
2026-05-11 16:36:23 +02:00
henryruhs
0fd6a403b8
stop passing format
2026-05-11 16:36:23 +02:00
Harisreedhar
df38778558
fix refresh_session does not validate expiry before refreshing ( #1071 )
2026-05-11 16:36:23 +02:00
henryruhs
e15a2dec76
add tons of todos
2026-05-11 16:36:23 +02:00
henryruhs
399e07261d
add tons of todos
2026-05-11 16:36:23 +02:00
henryruhs
61c67c8637
fix macos
2026-05-11 16:36:23 +02:00
henryruhs
a16bd54493
add meaningful tests
2026-05-11 16:36:23 +02:00