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
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
9b878431d3
rename video memory to memory, add amdsmi library
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
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
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
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
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
61c67c8637
fix macos
2026-05-11 16:36:23 +02:00
henryruhs
edf8914da3
add meaningful tests
2026-05-11 16:36:23 +02:00
henryruhs
2aced392e1
cleanup code part1
2026-05-11 16:36:23 +02:00
Harisreedhar
2b76f3381f
Assets ffmpeg stream upload ( #1069 )
...
* ffmpeg sanitize
* fix type
* fix type
* add config
* ChunkQueue -> UploadQueue
* revert assets.py
* move resolve methods to ffmpeg_builder.py
* Refactor ffmpeg.py
* Remove partial import
* improve test
* remove put(None)
* cleanup
* without poll() not working
* ChunkReader -> MediaChunkReader
* improve assert by replacing generic is_file
* naming and cleanup
2026-05-11 16:36:23 +02:00
Harisreedhar
f40ee8335a
Fix hardcoded fps ( #1068 )
...
* fix hardcoded fps
* fallback to temp_fps when output_video_fps is None
* fix test_ffmpeg
* change temp-fps -> output-audio-fps
* cleanup
* cleanup
2026-05-11 16:36:23 +02:00
Harisreedhar
b9c1ff8185
add test when get_metrics_set() returns None ( #1067 )
2026-05-11 16:36:23 +02:00
Harisreedhar
48bae74001
fix false vram numbers ( #1065 )
2026-05-11 16:36:23 +02:00
Henry Ruhs
efab505adb
asset validation and image encoder lookup ( #1058 )
...
* asset validation and image encoder lookup
* asset validation and image encoder lookup
* asset validation and image encoder lookup
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
Henry Ruhs
ef47b17a4a
rename args store to capability store ( #1048 )
...
* rename args store to capability store
* fix lint and remove unused types
2026-05-11 16:35:16 +02:00
Harisreedhar
7c078644ad
Improve tests ( #1047 )
...
* improve tests
* does it hurt someone to have crazy numbers?
---------
Co-authored-by: henryruhs <info@henryruhs.com >
2026-05-11 16:35:16 +02:00
harisreedhar
47bdcd67f1
fix pre-check issue
2026-05-11 16:35:16 +02:00
harisreedhar
f83ff29116
remove pre_check
2026-05-11 16:35:16 +02:00
harisreedhar
91067c6394
remove program
2026-05-11 16:35:16 +02:00
harisreedhar
1f0af5906d
hopefully fix test
2026-05-11 16:35:16 +02:00
harisreedhar
887a6ac1c7
pre_check() on test instead
2026-05-11 16:35:16 +02:00
harisreedhar
a21c23173e
fix naming and remove unwanted state initialization
2026-05-11 16:35:16 +02:00
harisreedhar
cd3f6f2224
init 'face_selector_mode' to many
2026-05-11 16:35:16 +02:00
harisreedhar
4a0f4bcb9a
update test
2026-05-11 16:35:16 +02:00
harisreedhar
b5a89971c4
process image
2026-05-11 16:35:16 +02:00
Harisreedhar
53845585ef
Feat/refactor args ( #1045 )
...
* follow the new argument naming convention
* revert
* use get_xxx_arguments
* Simple fix Args
* Fix more stuff
---------
Co-authored-by: henryruhs <info@henryruhs.com >
2026-05-11 16:35:16 +02:00