Mp4Muxer.Builder


class Mp4Muxer.Builder


A builder for Mp4Muxer instances.

Summary

Public constructors

Builder(outputStream: FileOutputStream!)

Creates a Builder instance with default values.

Public functions

Mp4Muxer!

Builds an Mp4Muxer instance.

Mp4Muxer.Builder!

Sets the AnnexBToAvccConverter to be used by the muxer to convert H.264 and H.265 NAL units from the Annex-B format (using start codes to delineate NAL units) to the AVCC format (which uses length prefixes).

Mp4Muxer.Builder!
@CanIgnoreReturnValue
setAttemptStreamableOutputEnabled(
    attemptStreamableOutputEnabled: Boolean
)

Sets whether to attempt to write a file where the metadata is stored at the start, which can make the file more efficient to read sequentially.

Mp4Muxer.Builder!

Sets the EditableVideoParameters.

Mp4Muxer.Builder!

Sets the LastSampleDurationBehavior.

Mp4Muxer.Builder!

Sets the specific MP4 file format.

Mp4Muxer.Builder!

Sets whether to enable the sample copy.

Public constructors

Builder

Builder(outputStream: FileOutputStream!)

Creates a Builder instance with default values.

Parameters
outputStream: FileOutputStream!

The FileOutputStream to write the media data to.

Public functions

build

fun build(): Mp4Muxer!

Builds an Mp4Muxer instance.

setAnnexBToAvccConverter

@CanIgnoreReturnValue
fun setAnnexBToAvccConverter(annexBToAvccConverter: AnnexBToAvccConverter!): Mp4Muxer.Builder!

Sets the AnnexBToAvccConverter to be used by the muxer to convert H.264 and H.265 NAL units from the Annex-B format (using start codes to delineate NAL units) to the AVCC format (which uses length prefixes).

The default value is DEFAULT.

setAttemptStreamableOutputEnabled

@CanIgnoreReturnValue
fun setAttemptStreamableOutputEnabled(
    attemptStreamableOutputEnabled: Boolean
): Mp4Muxer.Builder!

Sets whether to attempt to write a file where the metadata is stored at the start, which can make the file more efficient to read sequentially.

Setting to true does not guarantee a streamable MP4 output.

The default value is true.

setEditableVideoParameters

@CanIgnoreReturnValue
fun setEditableVideoParameters(
    editableVideoParameters: Mp4Muxer.EditableVideoParameters!
): Mp4Muxer.Builder!

Sets the EditableVideoParameters.

setOutputFileFormat

@CanIgnoreReturnValue
fun setOutputFileFormat(@Mp4Muxer.FileFormat fileFormat: Int): Mp4Muxer.Builder!

Sets the specific MP4 file format.

The default value is FILE_FORMAT_DEFAULT.

For FILE_FORMAT_EDITABLE_VIDEO, EditableVideoParameters must also be setEditableVideoParameters set}.

setSampleCopyEnabled

@CanIgnoreReturnValue
fun setSampleCopyEnabled(enabled: Boolean): Mp4Muxer.Builder!

Sets whether to enable the sample copy.

If the sample copy is enabled, writeSampleData copies the input ByteBuffer and BufferInfo before it returns, so it is safe to reuse them immediately. Otherwise, the muxer takes ownership of the and the BufferInfo and the caller must not modify them.

The default value is true.