-
Notifications
You must be signed in to change notification settings - Fork 6
Create DemuxingSource element to simplify demuxing of ISOM MP4 files #122
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
Conversation
…ts checking DemuxingSource
…e ISOM.Engine. Move DemuxingSource to MP4.Demuxer namespace. Add docs and typespecs for ISOM.Engine
| Once the Demuxer identifies the tracks in the MP4, `t:new_tracks_t/0` notification | ||
| is sent for each of the tracks. The parent can then link `Pad.ref(:output, track_id)` for desired tracks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be useful to allow kind: :audio | :video pad options like the demuxer does
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already support :kind pad option, apparently I've forgotten to describe that here :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've improved the moduledoc
| any_of( | ||
| %Membrane.AAC{config: {:esds, _esds}}, | ||
| %Membrane.H264{ | ||
| stream_structure: {_avc, _dcr}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we change _avc to :avc? This same in H265 below
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that _avc stands for either :avc1 or :avc3, I can add a guard
| A type representing a callback that is used to provide data to the demuxer. | ||
| The callback needs to accept the start position and size (both expressed in bytes) and | ||
| needs to return a binary of that size. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What if e.g. we demand more bytes than there are in the file we read?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't demand more bytes that there are in the file (if it does, it means that there is a bug in the demuxing logic)
Co-authored-by: Mateusz Front <mateusz.front@swmansion.com>
Co-authored-by: Mateusz Front <mateusz.front@swmansion.com>
Co-authored-by: Mateusz Front <mateusz.front@swmansion.com>
Co-authored-by: Mateusz Front <mateusz.front@swmansion.com>
This PR:
Demuxer.ISOM.EngineDemuxer.ISOM.Enginein theDemuxingSourceDemuxingSourcecloses #776
TODO:
kindpad option