[][src]Crate minimp4_sys

Structs

MP4E_mux_tag
MP4E_track_t
MP4D_track_t
MP4D_demux_tag
MP4D_sample_to_chunk_t_tag
MP4D_demux_tag__bindgen_ty_1
MP4D_track_t__bindgen_ty_1__bindgen_ty_1
MP4D_track_t__bindgen_ty_1__bindgen_ty_2
MP4E_track_t__bindgen_ty_1__bindgen_ty_1
MP4E_track_t__bindgen_ty_1__bindgen_ty_2
_G_fpos64_t
_G_fpos_t
_IO_FILE
_IO_FILE_plus
_IO_jump_t
_IO_marker
__fsid_t
__locale_data
__locale_struct
__mbstate_t
__pthread_cond_s
__pthread_cond_s__bindgen_ty_1__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2__bindgen_ty_1
__pthread_internal_list
__pthread_mutex_s
__pthread_rwlock_arch_t
__sigset_t
__va_list_tag
div_t
drand48_data
fd_set
h264_sps_id_patcher_t
ldiv_t
lldiv_t
mp4_h26x_writer_t
random_data
timespec
timeval

Constants

AIO_PRIO_DELTA_MAX
ARG_MAX
BC_BASE_MAX
BC_DIM_MAX
BC_SCALE_MAX
BC_STRING_MAX
BIG_ENDIAN
BUFSIZ
BYTE_ORDER
CHARCLASS_NAME_MAX
COLL_WEIGHTS_MAX
DELAYTIMER_MAX
EOF
EXIT_FAILURE
EXIT_SUCCESS
EXPR_NEST_MAX
FD_SETSIZE
FILENAME_MAX
FIX_BAD_ANDROID_META_BOX
FOPEN_MAX
HEVC_NAL_BLA_W_LP
HEVC_NAL_CRA_NUT
HEVC_NAL_PPS
HEVC_NAL_SPS
HEVC_NAL_VPS
HOST_NAME_MAX
INT8_MIN
INT8_MAX
INT16_MIN
INT16_MAX
INT32_MIN
INT32_MAX
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MIN
INT_FAST8_MAX
INT_FAST16_MIN
INT_FAST16_MAX
INT_FAST32_MIN
INT_FAST32_MAX
INT_LEAST8_MIN
INT_LEAST8_MAX
INT_LEAST16_MIN
INT_LEAST16_MAX
INT_LEAST32_MIN
INT_LEAST32_MAX
LINE_MAX
LINK_MAX
LITTLE_ENDIAN
LOGIN_NAME_MAX
L_ctermid
L_tmpnam
MAX_CANON
MAX_CHUNKS_DEPTH
MAX_INPUT
MB_LEN_MAX
MINIMP4_MAX_SPS
MINIMP4_MAX_PPS
MINIMP4_TRANSCODE_SPS_ID
MINIMP4_ALLOW_64BIT
MP4D_TRACE_SUPPORTED
MP4D_TRACE_TIMESTAMPS
MP4D_INFO_SUPPORTED
MP4D_PRINT_INFO_SUPPORTED
MP4D_AVC_SUPPORTED
MP4D_TIMESTAMPS_SUPPORTED
MP4_OBJECT_TYPE_AVC
MP4_OBJECT_TYPE_HEVC
MP4_OBJECT_TYPE_USER_PRIVATE
MP4E_STATUS_OK
MP4E_STATUS_BAD_ARGUMENTS
MP4E_STATUS_NO_MEMORY
MP4E_STATUS_FILE_WRITE_ERROR
MP4E_STATUS_ONLY_ONE_DSI_ALLOWED
MP4E_SAMPLE_DEFAULT
MP4E_SAMPLE_RANDOM_ACCESS
MP4E_SAMPLE_CONTINUATION
MP4D_HANDLER_TYPE_VIDE
MP4D_HANDLER_TYPE_SOUN
MP4E_HANDLER_TYPE_GESM
MP4_OBJECT_TYPE_AUDIO_ISO_IEC_13818_7_MAIN_PROFILE
MP4_OBJECT_TYPE_AUDIO_ISO_IEC_13818_7_LC_PROFILE
MP4_OBJECT_TYPE_AUDIO_ISO_IEC_13818_7_SSR_PROFILE
MP4_OBJECT_TYPE_AUDIO_ISO_IEC_14496_3
MQ_PRIO_MAX
NAME_MAX
NGROUPS_MAX
NR_OPEN
PATH_MAX
PDP_ENDIAN
PIPE_BUF
PTHREAD_DESTRUCTOR_ITERATIONS
PTHREAD_KEYS_MAX
PTHREAD_STACK_MIN
PTRDIFF_MAX
PTRDIFF_MIN
P_tmpdir
RAND_MAX
RE_DUP_MAX
RTSIG_MAX
SEEK_CUR
SEEK_END
SEEK_SET
SEM_VALUE_MAX
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
TMP_MAX
TTY_NAME_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
WCONTINUED
WEXITED
WINT_MAX
WINT_MIN
WNOHANG
WNOWAIT
WSTOPPED
WUNTRACED
XATTR_LIST_MAX
XATTR_NAME_MAX
XATTR_SIZE_MAX
_ALLOCA_H
_ASSERT_H
_ATFILE_SOURCE
_BITS_BYTESWAP_H
_BITS_G_CONFIG_H
_BITS_LIBIO_H
_BITS_POSIX1_LIM_H
_BITS_POSIX2_LIM_H
_BITS_PTHREADTYPES_ARCH_H
_BITS_PTHREADTYPES_COMMON_H
_BITS_STDINT_INTN_H
_BITS_STDINT_UINTN_H
_BITS_STDIO_LIM_H
_BITS_SYSMACROS_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_TYPES_LOCALE_T_H
_BITS_TYPES___LOCALE_T_H
_BITS_UINTN_IDENTITY_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_ENDIAN_H
_FEATURES_H
_G_BUFSIZ
_G_HAVE_MMAP
_G_HAVE_MREMAP
_G_IO_IO_FILE_VERSION
_IOFBF
_IOLBF
_IONBF
_IOS_APPEND
_IOS_ATEND
_IOS_BIN
_IOS_INPUT
_IOS_NOCREATE
_IOS_NOREPLACE
_IOS_OUTPUT
_IOS_TRUNC
_IO_BAD_SEEN
_IO_BOOLALPHA
_IO_BUFSIZ
_IO_CURRENTLY_PUTTING
_IO_DEC
_IO_DELETE_DONT_CLOSE
_IO_DONT_CLOSE
_IO_EOF_SEEN
_IO_ERR_SEEN
_IO_FIXED
_IO_FLAGS2_MMAP
_IO_FLAGS2_NOTCANCEL
_IO_FLAGS2_USER_WBUF
_IO_HEX
_IO_INTERNAL
_IO_IN_BACKUP
_IO_IS_APPENDING
_IO_IS_FILEBUF
_IO_LEFT
_IO_LINE_BUF
_IO_LINKED
_IO_MAGIC
_IO_MAGIC_MASK
_IO_NO_READS
_IO_NO_WRITES
_IO_OCT
_IO_RIGHT
_IO_SCIENTIFIC
_IO_SHOWBASE
_IO_SHOWPOINT
_IO_SHOWPOS
_IO_SKIPWS
_IO_STDIO
_IO_TIED_PUT_GET
_IO_UNBUFFERED
_IO_UNIFIED_JUMPTABLES
_IO_UNITBUF
_IO_UPPERCASE
_IO_USER_BUF
_IO_USER_LOCK
_LIBC_LIMITS_H_
_OLD_STDIO_MAGIC
_POSIX2_BC_BASE_MAX
_POSIX2_BC_DIM_MAX
_POSIX2_BC_SCALE_MAX
_POSIX2_BC_STRING_MAX
_POSIX2_COLL_WEIGHTS_MAX
_POSIX2_EXPR_NEST_MAX
_POSIX2_LINE_MAX
_POSIX2_RE_DUP_MAX
_POSIX2_CHARCLASS_NAME_MAX
_POSIX_AIO_LISTIO_MAX
_POSIX_AIO_MAX
_POSIX_ARG_MAX
_POSIX_CHILD_MAX
_POSIX_CLOCKRES_MIN
_POSIX_C_SOURCE
_POSIX_DELAYTIMER_MAX
_POSIX_HOST_NAME_MAX
_POSIX_LINK_MAX
_POSIX_LOGIN_NAME_MAX
_POSIX_MAX_CANON
_POSIX_MAX_INPUT
_POSIX_MQ_OPEN_MAX
_POSIX_MQ_PRIO_MAX
_POSIX_NAME_MAX
_POSIX_NGROUPS_MAX
_POSIX_OPEN_MAX
_POSIX_PATH_MAX
_POSIX_PIPE_BUF
_POSIX_RE_DUP_MAX
_POSIX_RTSIG_MAX
_POSIX_SEM_NSEMS_MAX
_POSIX_SEM_VALUE_MAX
_POSIX_SIGQUEUE_MAX
_POSIX_SOURCE
_POSIX_SSIZE_MAX
_POSIX_STREAM_MAX
_POSIX_SYMLINK_MAX
_POSIX_SYMLOOP_MAX
_POSIX_THREAD_DESTRUCTOR_ITERATIONS
_POSIX_THREAD_KEYS_MAX
_POSIX_THREAD_THREADS_MAX
_POSIX_TIMER_MAX
_POSIX_TTY_NAME_MAX
_POSIX_TZNAME_MAX
_STDC_PREDEF_H
_STDINT_H
_STDIO_H
_STDLIB_H
_STRINGS_H
_STRING_H
_SYS_CDEFS_H
_SYS_SELECT_H
_SYS_SYSMACROS_H
_SYS_TYPES_H
_THREAD_SHARED_TYPES_H
__BIG_ENDIAN
__BIT_TYPES_DEFINED__
__BYTE_ORDER
__ENUM_IDTYPE_T
__FD_SETSIZE
__FD_ZERO_STOS
__FILE_defined
__FLOAT_WORD_ORDER
__GLIBC_MINOR__
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNUC_VA_LIST
__GNU_LIBRARY__
__HAVE_DISTINCT_FLOAT16
__HAVE_DISTINCT_FLOAT32
__HAVE_DISTINCT_FLOAT32X
__HAVE_DISTINCT_FLOAT64
__HAVE_DISTINCT_FLOAT64X
__HAVE_DISTINCT_FLOAT128
__HAVE_DISTINCT_FLOAT128X
__HAVE_FLOAT16
__HAVE_FLOAT32
__HAVE_FLOAT32X
__HAVE_FLOAT64X
__HAVE_FLOAT64X_LONG_DOUBLE
__HAVE_FLOAT64
__HAVE_FLOAT128
__HAVE_FLOAT128X
__HAVE_FLOATN_NOT_TYPEDEF
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__LITTLE_ENDIAN
__OFF_T_MATCHES_OFF64_T
__PDP_ENDIAN
__PTHREAD_MUTEX_HAVE_PREV
__PTHREAD_MUTEX_LOCK_ELISION
__PTHREAD_MUTEX_NUSERS_AFTER_KIND
__PTHREAD_MUTEX_USE_UNION
__PTHREAD_RWLOCK_INT_FLAGS_SHARED
__RLIM_T_MATCHES_RLIM64_T
__SIZEOF_PTHREAD_ATTR_T
__SIZEOF_PTHREAD_BARRIERATTR_T
__SIZEOF_PTHREAD_BARRIER_T
__SIZEOF_PTHREAD_CONDATTR_T
__SIZEOF_PTHREAD_COND_T
__SIZEOF_PTHREAD_MUTEXATTR_T
__SIZEOF_PTHREAD_MUTEX_T
__SIZEOF_PTHREAD_RWLOCKATTR_T
__SIZEOF_PTHREAD_RWLOCK_T
__STDC_IEC_559__
__STDC_IEC_559_COMPLEX__
__STDC_ISO_10646__
__STDC_NO_THREADS__
__SYSCALL_WORDSIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WALL
__WCLONE
__WCOREFLAG
__WNOTHREAD
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__W_CONTINUED
____FILE_defined
____mbstate_t_defined
__clock_t_defined
__clockid_t_defined
__codecvt_result___codecvt_error
__codecvt_result___codecvt_noconv
__codecvt_result___codecvt_ok
__codecvt_result___codecvt_partial
__glibc_c99_flexarr_available
__have_pthread_attr_t
__ldiv_t_defined
__lldiv_t_defined
__sigset_t_defined
__time_t_defined
__timer_t_defined
__timespec_defined
__timeval_defined
idtype_t_P_ALL
idtype_t_P_PGID
idtype_t_P_PID
track_media_kind_t_e_audio
track_media_kind_t_e_private
track_media_kind_t_e_video

Statics

_IO_2_1_stdin_
_IO_2_1_stdout_
_IO_2_1_stderr_
stderr
stdin
stdout
sys_errlist
sys_nerr

Functions

MP4D_open

Parse given input stream as MP4 file. Allocate and store data indexes. return 1 on success, 0 on failure Given file rewind()'ed on return. The MP4 indexes may be stored at the end of stream, so this function may parse all stream. It is guaranteed that function will read/seek sequentially, and will never jump back.

MP4D_frame_offset

Return position and size for given sample from given track. The 'sample' is a MP4 term for 'frame'

MP4D_close

De-allocated memory

MP4D_read_sps

Helper functions to parse mp4.track[ntrack].dsi for H.264 SPS/PPS Return pointer to internal mp4 memory, it must not be free()-ed

MP4D_read_pps
MP4E_open

Allocates and initialize mp4 multiplexor Given file handler is transparent to the MP4 library, and used only as argument for given fwrite_callback() function. By appropriate definition of callback function application may use any other file output API (for example C++ streams, or Win32 file functions)

MP4E_add_track

Add new track The track_data parameter does not referred by the multiplexer after function return, and may be allocated in short-time memory. The dsi member of track_data parameter is mandatory.

MP4E_put_sample

Add new sample to specified track The tracks numbered starting with 0, according to order of MP4E_add_track() calls 'kind' is one of MP4E_SAMPLE_... defines

MP4E_close

Finalize MP4 file, de-allocated memory, and closes MP4 multiplexer. The close operation takes a time and disk space, since it writes MP4 file indexes. Please note that this function does not closes file handle, which was passed to open function.

MP4E_set_dsi

Set Decoder Specific Info (DSI) Can be used for audio and private tracks. MUST be used for AAC track. Only one DSI can be set. It is an error to set DSI again

MP4E_set_vps

Set VPS data. MUST be used for HEVC (H.265) track.

MP4E_set_sps

Set SPS data. MUST be used for AVC (H.264) track. Up to 32 different SPS can be used in one track.

MP4E_set_pps

Set PPS data. MUST be used for AVC (H.264) track. Up to 256 different PPS can be used in one track.

MP4E_set_text_comment

Set or replace ASCII test comment for the file. Set comment to NULL to remove comment.

_Exit
_IO_feof
_IO_ferror
_IO_flockfile
_IO_free_backup_area
_IO_ftrylockfile
_IO_funlockfile
_IO_getc
_IO_padn
_IO_peekc_locked
_IO_putc
_IO_seekoff
_IO_seekpos
_IO_sgetn
_IO_vfprintf
_IO_vfscanf
__assert
__assert_fail
__assert_perror_fail
__ctype_get_mb_cur_max
__getdelim
__overflow
__stpcpy
__stpncpy
__strtok_r
__uflow
__underflow
a64l
abort
abs
aligned_alloc
alloca
at_quick_exit
atexit
atof
atoi
atol
atoll
bcmp
bcopy
bsearch
bzero
calloc
clearenv
clearerr
clearerr_unlocked
ctermid
div
dprintf
drand48
drand48_r
ecvt
ecvt_r
erand48
erand48_r
exit
explicit_bzero
fclose
fcvt
fcvt_r
fdopen
feof
feof_unlocked
ferror
ferror_unlocked
fflush
fflush_unlocked
ffs
ffsl
ffsll
fgetc
fgetc_unlocked
fgetpos
fgets
fileno
fileno_unlocked
flockfile
fmemopen
fopen
fprintf
fputc
fputc_unlocked
fputs
fread
fread_unlocked
free
freopen
fscanf
fscanf1
fseek
fseeko
fsetpos
ftell
ftello
ftrylockfile
funlockfile
fwrite
fwrite_unlocked
gcvt
getc
getc_unlocked
getchar
getchar_unlocked
getdelim
getenv
getline
getloadavg
getsubopt
getw
gnu_dev_major
gnu_dev_makedev
gnu_dev_minor
index
initstate
initstate_r
jrand48
jrand48_r
l64a
labs
lcong48
lcong48_r
ldiv
llabs
lldiv
lrand48
lrand48_r
malloc
mblen
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memmove
memset
mkdtemp
mkstemp
mkstemps
mktemp
mp4_h26x_write_init
mp4_h26x_write_close
mp4_h26x_write_nal
mrand48
mrand48_r
nrand48
nrand48_r
on_exit
open_memstream
pclose
perror
popen
posix_memalign
printf
pselect
putc
putc_unlocked
putchar
putchar_unlocked
putenv
puts
putw
qecvt
qecvt_r
qfcvt
qfcvt_r
qgcvt
qsort
quick_exit
rand
rand_r
random
random_r
realloc
realpath
remove
rename
renameat
rewind
rindex
rpmatch
scanf
scanf1
seed48
seed48_r
select
setbuf
setbuffer
setenv
setlinebuf
setstate
setstate_r
setvbuf
snprintf
sprintf
srand
srand48
srand48_r
srandom
srandom_r
sscanf
sscanf1
stpcpy
stpncpy
strcasecmp
strcasecmp_l
strcat
strchr
strcmp
strcoll
strcoll_l
strcpy
strcspn
strdup
strerror
strerror_l
strerror_r
strlen
strncasecmp
strncasecmp_l
strncat
strncmp
strncpy
strndup
strnlen
strpbrk
strrchr
strsep
strsignal
strspn
strstr
strtod
strtof
strtok
strtok_r
strtol
strtold
strtoll
strtoq
strtoul
strtoull
strtouq
strxfrm
strxfrm_l
system
tempnam
tmpfile
tmpnam
tmpnam_r
ungetc
unsetenv
valloc
vdprintf
vfprintf
vfscanf
vfscanf1
vprintf
vscanf
vscanf1
vsnprintf
vsprintf
vsscanf
vsscanf1
wcstombs
wctomb

Type Definitions

FILE
MP4D_file_offset_t
MP4E_mux_t
MP4D_sample_to_chunk_t
MP4D_demux_t
_Float32
_Float32x
_Float64
_Float64x
_IO_lock_t
__FILE
__blkcnt64_t
__blkcnt_t
__blksize_t
__builtin_va_list
__caddr_t
__clock_t
__clockid_t
__codecvt_result
__compar_fn_t
__daddr_t
__dev_t
__fd_mask
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__gnuc_va_list
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__intmax_t
__intptr_t
__io_close_fn
__io_read_fn
__io_seek_fn
__io_write_fn
__key_t
__locale_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__pthread_list_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uintmax_t
__useconds_t
blkcnt_t
blksize_t
boxsize_t
caddr_t
clock_t
clockid_t
daddr_t
dev_t
fd_mask
fpos_t
fsblkcnt_t
fsfilcnt_t
fsid_t
gid_t
id_t
idtype_t
ino_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
key_t
locale_t
loff_t
mode_t
nlink_t
off_t
pid_t
pthread_key_t
pthread_once_t
pthread_spinlock_t
pthread_t
quad_t
register_t
sigset_t
suseconds_t
time_t
timer_t
track_media_kind_t
u_char
u_int
u_int8_t
u_int16_t
u_int32_t
u_int64_t
u_long
u_quad_t
u_short
uid_t
uint
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
ulong
ushort
va_list
wchar_t

Unions

MP4D_track_t__bindgen_ty_1
MP4E_track_t__bindgen_ty_1
__mbstate_t__bindgen_ty_1
__pthread_cond_s__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2
pthread_attr_t
pthread_barrier_t
pthread_barrierattr_t
pthread_cond_t
pthread_condattr_t
pthread_mutex_t
pthread_mutexattr_t
pthread_rwlock_t
pthread_rwlockattr_t