Comments (4)
Hi,
as Marko already mentioned/implied, the RTCP code was hacked together fast and is quite untested so there be dragons but unfortunately I'm not sure what kind of pressure there is to fix these bugs right now at least.
As for these issues, I'm not sure what you mean by RTCP being horribly out of sync. I believe we set, for simplicity's sake, the RTCP interval to maximum which I believe is around 5 seconds. So every 5 seconds you should receive an RTCP report. RTCP reports are not tied to any single RTP packet but to an interval of time where multiple RTP packets may arrive.
The fix to stop the RTCP reports from coming after sender has stopped streaming is quite simple. The RTCP runner could keep track of when the last packet from the participant was received and if it was more than some interval, it could convert the participant back to receiver (i.e., it wouldn't send RTCP packets to that participant anymore). Somebody should check what the specification has to say about this though.
The crash is probably quite easy to fix. When the session is destroyed, the RTCP destructor must block until the RTCP runner has stopped. This could be done with a condition variable/simple boolean to signal the RTCP runner that is must stop.
from uvgrtp.
Just to clarify on the previous response, we (Ultra Video Group) will fix all reasonable issues users encounter, but we have somewhat limited resources to dedicate to this task (after @altonen graduated). If no one else has time, I will look at this bug when I have the time. Unfortunately, I'm not very familiar with the library.
As far as I understand, RTCP reports are supposed to be sent at constant intervals regardless of how many frames the user sends.
from uvgrtp.
@polusto That is fine, I will submit a pull request to the previous issue (about APP packets) tomorrow. This one is not as critical
from uvgrtp.
I'm closing this issue since there doesn't seem to any direct bugs. There will probably be a slight improvement to the timing accuracy of the reports coming in near future. We may continue the discussion of RTCP reports in issue #59
from uvgrtp.
Related Issues (20)
- Multiplexing packets based on protocol HOT 3
- Streaming 4K H264 video through Wireguard VPN HOT 9
- Compilation on Nanopi board HOT 3
- RTCP interval issues HOT 2
- A mistake for APP packet payload copying HOT 1
- Python API HOT 1
- Failed to flush the message queue HOT 15
- RTP header extension HOT 2
- uint8 overflow in a test HOT 2
- H264 Failed to flush the message queue HOT 16
- H265 Failed to flush the message queue HOT 3
- Streaming H264 video HOT 2
- Visual Studio Library Linking Documentation HOT 2
- Not Receiving RTP Packets from FFmpeg HOT 5
- H26x: Aggregation causes NAL units to be sent in different order HOT 5
- H26x incorrectly detected start code if preceded by 0x1 HOT 1
- H26x 00 01 00 detected as start code at certain alignments HOT 3
- bug in reception_flow.cc HOT 3
- error in uvgrtp::formats::h26x::packet_handler HOT 2
- [Android] Library fails to compile (at least for old SDK level 21) HOT 2
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 uvgrtp.