View Source Membrane.MP4.Demuxer.ISOM (Membrane MP4 plugin v0.17.0)

A Membrane Element for demuxing an MP4.

The MP4 must have fast start enabled, i.e. the moov box must precede the mdat box. Once the Demuxer identifies the tracks in the MP4, new_track_t/0 notification is sent for each of the tracks.

All the tracks in the MP4 must have a corresponding output pad linked (Pad.ref(:output, track_id)).

pads

Pads

input

:input

Availability :always
Caps Membrane.RemoteStream, restrictions:
  type: :bytestream,
  content_format: one_of([nil, Membrane.MP4])
Demand mode :manual
Demand unit :buffers
Direction :input
Mode :pull
Name :input

output

:output

Availability :on_request
Caps Membrane.MP4.Payload
Demand mode :manual
Demand unit :buffers
Direction :output
Mode :pull
Name :output

Link to this section Summary

Types

Notification sent when a new track is identified in the MP4.

Functions

Returns pads descriptions for Membrane.MP4.Demuxer.ISOM

Link to this section Types

@type new_track_t() :: {:new_track, track_id :: integer(), content :: struct()}

Notification sent when a new track is identified in the MP4.

Upon receiving the notification a Pad.ref(:output, track_id) pad should be linked. The content field describes the kind of Membrane.MP4.Payload which is contained in the track.

Link to this section Functions

@spec membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.MP4.Demuxer.ISOM