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
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
Harisreedhar
6654abbdca
Fix bad caching of graphic devices ( #1064 )
...
* fix bad caching of graphic devices
* restore without cache
* restore without cache
* restore without cache
* remove detect_static_graphic_devices and add resolve_static_cudnn_conv_algo_search
2026-05-11 16:36:23 +02:00
Harisreedhar
facd908196
Dynamic bitrate for webrtc stream ( #1063 )
...
* use custom aiortc
* update naming to bitrate_
2026-05-11 16:36:23 +02:00
henryruhs
5c6b247449
merge stuff
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
246d48e079
add download action ( #1057 )
2026-05-11 16:36:23 +02:00
henryruhs
980c2d3939
fix stream of videos
2026-05-11 16:36:23 +02:00
harisreedhar
f0cacba52b
fix execution.py import order
2026-05-11 16:36:23 +02:00