Comments (3)
Yes we need to do something better long-term, but we have the following things I haven't thought through fully yet.
- Do we buffer? If we do how much? Do we let users determine what to throw away?
- In most cases we are doing UDP, so I don't believe it will be blocking. In the cases we do TURN via TCP it will be a problem though.
There might be other issues, but haven't really tackled this fully yet.
from amazon-kinesis-video-streams-webrtc-sdk-c.
Yep, for UDP, that might not be a problem unless the send rate is reaching the network max. speed.
With TCP, it could be an issue. We can control the socket send buffer size via SO_SNDBUF , so no ned for another buffer in user space. Then might be throw away the packet once the socket buffer is full, i.e. EAGAIN or EWOULDBLOCK return in send.
The size of the socket send buffer size should be adjust according to the data type, a 1080p video streaming vs a voice only streaming need a different size. Possible buffer 100ms of data at most to ensure latency is minimum.
from amazon-kinesis-video-streams-webrtc-sdk-c.
That sounds like a good idea to me! We can probably just allow SO_SNDBUF
to be set via the Public API. The less code the better :)
In the future if we have to allow custom 'leak' behavior like GStreamer's queue (upstream vs downstream) we can always revisit.
from amazon-kinesis-video-streams-webrtc-sdk-c.
Related Issues (20)
- [Feature request]: Need to build the kvsdk package with OpenWrt HOT 3
- [Documentation]: README.md should mention the supported video codecs for WebRTC ingestion HOT 2
- [Bug]: Memory leak for WebRTC SDK 1.10.2 when testing sample code HOT 28
- [Bug]: kvsWebrtcClientMasterGstSample receive audio not work HOT 1
- [Bug]: KVS SDK RTP retransmitter bug HOT 2
- [Bug]: [2024/05/23 15:19:40:0909] W: [wsicli|5a|WS/h1/default/m-579da5db.kinesisvideo.ap-southeast-]: lws_client_ws_upgrade: got bad HTTP response '403' 2024-05-23 15:19:40.091 VERBOSE lwsWssCallbackRoutine(): WSS callback with reason 1 2024-05-23 15:19:40.091 WARN lwsWssCallbackRoutine(): Client connection failed. Connection error string: HS: ws upgrade response not 101 HOT 9
- softphone signaling server HOT 4
- [Bug]: how to ensure the functon "wakeLwsServiceEventLoop " thread safety,because of "lws_callback_on_writable" is not thread-safe HOT 1
- [Bug]: how to ensure the functon "wakeLwsServiceEventLoop " thread safety,because of "lws_callback_on_writable" is not thread-safe
- [Bug]: decryptSrtcpPacket(): Decrypting rtcp packet failed with error code 9 on srtp session HOT 4
- [Bug]: TURN_STATE_GET_CREDENTIALS fails after update from 1.7.2. to 1.10.2 of the SDK HOT 17
- [Bug]: Windows build fails at openssl HOT 1
- [Bug]: Seemingly SessionDescription creation bug HOT 2
- [Feature request]: Reduce the time it takes to connect to live view. HOT 1
- [Bug]: Close peer connection:ERROR fromCheckConnectionIceAgentState(): operation returned status code: 0x5a00000d HOT 4
- [Bug]: Call serializeSessionDescriptionInit and return STATUS_BUFFER_TOO_SMALL HOT 2
- [Bug]: 1.10.2, kvsWebrtcClientMasterGstSample continually increases CPU usage HOT 7
- [Bug]: Wrong SDP answer when the codec doesn't match with viewer HOT 5
- 【Question】Why H265 payloadType changed by DEFAULT_PAYLOAD_H265? HOT 1
- [Bug]: unable to stream H265 webrtc on test page HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amazon-kinesis-video-streams-webrtc-sdk-c.