JavaScript is disabled. L-SMASH's restrictions

multiplexer body

Common

  • The output is suboptimal for streaming. This is not actually problem, because it's unavoidable with 1-pass muxing.

MP4 support

  • No presentation i.e. no BIFS and Object Descriptor tracks.
    • QuickTime Player rejects file with both BIFS and Object Descriptor tracks preceding video and/or audio tracks.
    • No one has interest in MP4 composition.

3GPP/3GPP2 support

  • No check for compliance as a library. Even if given any streams violating to the spec of 3gpp/3gpp2, L-SMASH just multiplexes them silently.
  • Playback on some stupid devices are not supported. Blame the vendor of such devices.
    • Some devices require absence of 'pasp' box which contains aspect ratio information.
    • Some devices require their custom box structure which is not mandatory in the spec.

DASH support

  • We may never support MPD in the range of L-SMASH project.
  • Only support self-initializing media segment with or without index.

Importers

Restrictions of importers. Currently, only the standalone muxer CLI tool is affected.

ADTS importer

  • By its definition, ADIF is not supported.
  • channel_config=0(custom channel configuration) is not supported.
  • Never does re-sync. The stream shall be fully consistent.
  • audioProfileLevelIndication is determined by its number of channels, and not by channels' layout.
  • Never detects HE-AAC automatically. HE-AAC streams are multiplexed in the way of Implicit Signaling.

MPEG-1/2BC Audio Legacy Interface importer

  • By its definition, using Legacy Interface defined by ISO/IEC 14496-3.
  • Never does timestamp adjustment even if it might be required. This only matters if the stream is cut and lacks preceding data of the first frame given.
  • Never does re-sync. The stream shall be fully consistent.
  • bitrate_index="free" is not supported.
  • MPEG-2.5 Audio is not supported. This is not of legitimate MPEG standard and MP4 does not have definitions for them.

AMR importer

  • AMR-WB+ is not supported.
  • Supports only the Single-Channel Storage Format, defined by RFC. The Multi-Channel Storage Format and IF1/IF2 are not supported.
  • Latest features might not be supported. We don't know recent AMR's detail.
  • Uses dummy and sub-optimal safe values for 'damr' box.

AC-3 importer

  • DolbyNet (bsid = 9 and 10) is not supported. The specifications we refer to does not have any definition for it.
  • The DecoderSpecificInfo for QuickTime file format is not supported. Its definition is closed and unknown.

Enhanced AC-3 importer

  • We might make a 'sample' which consists of non-6 audio blocks at the end of stream though the specification we refer to defines a 'sample' consists of 6 audio blocks.
  • The DecoderSpecificInfo for QuickTime file format is not supported. Its definition is closed and unknown.

MPEG-4 ALS importer

  • Unspecified number of samples i.e. samples = 0xffffffff is not supported.
  • ra_flag = 0 i.e. absence of ra_unit_size is not supported.

HEVC importer

  • When probing the stream, importer parses the entire stream in order to decide decoding and composition timestamps.
  • Streams with HRD + filler is not supported, because we have to remove filler and update HRD information due to that, but the current importer does not have HRD updater.
  • Remove AU delimiter when importing because it doesn't guarantee what slice types are in. AU delimiter is redundant for NALu Video file format.

H.264 importer

  • SVC and MVC is not supported.
  • When probing the stream, importer parses the entire stream in order to decide decoding and composition timestamps.
  • Streams with HRD + filler is not supported, because we have to remove filler and update HRD information due to that, but the current importer does not have HRD updater.
  • Remove AU delimiter when importing because it doesn't guarantee what slice types are in. AU delimiter is redundant for NALu Video file format.

SMPTE VC-1 importer

  • Simple and Main profiles are not supported because their container format defined in SMPTE 421m Annex L is different from Advanced profile's.
  • When probing the stream, importer parses the entire stream in order to decide decoding and composition timestamps, presence of B-frames, frame coding mode and so on.