MP4(3)

NAME

MP4Create - Create a new mp4 file

SYNTAX

#include <mp4.h>

MP4FileHandle MP4Create(
    const char* fileName,
    u_int32_t verbosity = 0,
    bool use64bits = 0,
    bool useExtensibleFormat = 0
);

ARGUMENTS

fileName
    Specifies the path name of the file to be created.

verbosity
    Specifies a bitmask of diagnostic details the library should print to stdout during its functioning. See MP4SetVerbosity() for values.

use64Bits
    Instructs the library to create a file that will use 64 values (instead of 32 bit) for properties related to the file size. I.e. the file is expected grow to over 4 GB in size. This is rarely needed for encoded media, and can limit interoperability, hence it is not recommended.

useExtensibleFormat
    Currently ignored. When implemented it will use extensions to the mp4 file format to allow incremental additions to media tracks.

RETURN VALUES

Upon successful completion the function returns a handle to the newly create mp4 file. This is used in subsequent calls to the library to modify the file. Upon an error, MP4_INVALID_FILE_HANDLE is returned.

DESCRIPTION

MP4Create is the first call that should be used when you want to create a new, empty mp4 file. It is equivalent to opening a file for writing, but also involved the creation of the necessary mp4 framework structures. I.e. a MP4Create() followed by an MP4Close() will result in a file with a non-zero size.

Caveat: If MP4Create() is called with a file name that already exists the contents of the existing file will be lost, assuming the system permissions allow the calling process to truncate the existing file.

SEE ALSO

MP4(3)