Comments (5)
@altonen something along those lines is probably the best solution. Care must be taken that the following operations don't become too slow: 1) checking if the packet is a duplicate and 2) checking if we can forget about this frame being completed in garbage collection (as it is possible that the same timestamp and sequence number happens in the future).
from uvgrtp.
What about using both the packet timestamp and sequence number for detecting duplicates?
from uvgrtp.
I think using the sequence number and sequence number only for duplicates would be completely fine, as long as the looparound (uint16_t) is accounted for. Maybe just keep a map of already received sequence numbers of max size half of UINT16_T_MAX ?
from uvgrtp.
The only problem with that is that you'd have to go through all completed fragments every time a fragment is received, which can be much more than going through all timestamps.
If I understand duplication correctly, it only happens when something else has already gone wrong, so this issue does not seem of high importance.
- Joni
from uvgrtp.
Fixed by 69a02c0
from uvgrtp.
Related Issues (20)
- 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
- rtcp_sender_report::report_blocks is always empty HOT 4
- Null pointer in rtp.cc HOT 2
- Payload not cleared if packet has an extension header HOT 1
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.