-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Samplebuilder is broken in v3.0.29 #1839
Comments
are you seeing |
I've only seen it once. |
is it always corrupted or sometimes? |
It's systematically corrupted. It takes about 20 seconds before it finds a keyframe (we send regular PLIs until we get a keyframe, so that shouldn't happen), and then there are green blocky artifacts that cover between half and the whole frame. This is on a lossless connection (streaming from localhost). |
I think we need to capture RTP packet data for replay as a unit test. I'm unsure why it's breaking down but we need something to demonstrate it failing because it does work in other scenarios. You should see every single time stamp that enters gets popped out. Also the total bytes going to the payloads input should equal the total bytes coming out (up to the same timestamp point). |
I've put a log at https://galene.org/samplebuilder-log.text . It's generated by the following:
|
I sorted and did some comparisons. Please double check but it looks like every packet timestamp in is getting combined into a single sample payload out at that timestamp. The total size of the sample is the total of the packets minus 4 bytes per packet (which your depacketizer must be stripping out of the packet payload). Without doing some kind of hash on the input/output data going in/out, the values in/out look correct. So unless the depacketizer is corrupting the packets before becoming samples, I don't see anything in/out of this routine that's incorrect. Do you see something that I missed? |
The other thing to check is that in your text file sequence numbers coming out are always increasing and never jumping around. Obviously if the samples coming out are jumbled in the wrong order that would cause issues. |
@robin-raymond it looks like the code is broken, please see #1873. @Sean-Der would you consider reverting the samplebuilder to v3.0.27 until the new code is fixed? v3 is supposed to be stable. |
Since the samplebuilder has been broken for over a month now, Galene is switching to its own samplebuilder. Please see https://github.org/jech/samplebuilder. @Sean-Der, please let me know whether you want me to submit it for inclusion, or whether I should keep working outside of Pion. |
Fixed with 36cf395 |
I've just tried upgrading Galene from v3.0.27 to v3.0.29. After fixing the issue in #1838, I'm getting corrupted video when attempting to save to disk, at least for VP8.
CC @robin-raymond
The text was updated successfully, but these errors were encountered: