-
Notifications
You must be signed in to change notification settings - Fork 1
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
Mapping out the MpegTsDemuxer flow #6
Comments
The current MpegTsDemuxer APIThe sole interaction point to the demuxer is
That's basically the API -- in goes stream data, out comes packets. This is in some ways performing the same function as a transform stream, but it doesn't implement that API. Action Items
|
How does processing work?An
A lot of these attributes are passed directly to utility functions WHICH MODIFY THEIR PROPERTIES. This makes it really hard to know exactly what's going on / debug. Action Items
|
How does processing work (continued)When new data is processed it is passed a The processing then does the following:
What this is saying, as written, is:
But that's not what we want! For instance, if packet length is 100, the remainder from the last processing is 80, the new data is 70, then 80 + 70 = 150 which is greater than the packet length and we very well could have a complete packet. What I believe it SHOULD be doing is saying is:
The current logic also doesn't update the internal pointer even though it adds data to leftover, which I think means that data would get overwritten. I've opened an upstream issue to get clarification. Action Items
|
How does processing work (continued again)
On each loop we do some things:
Action Items
|
Process has been refactored, but it would still be worth doing a deep dive into how the |
Discussion
What do you want to talk about?
The MpegTsDemuxer logic is complicated, but I'd like to try to map it out a little in the spirit of understanding how it works right now. This issue will capture that exploration. Some of the discussion may end up winding up as documentation as well.
Relevant Research
The text was updated successfully, but these errors were encountered: