12 #if !defined( _WIN32 )
18 #define MW_MP4_API __declspec(dllexport)
20 #define MW_MP4_API __declspec(dllimport)
28 typedef enum _mw_mp4_status
30 MW_MP4_STATUS_SUCCESS = 0,
31 MW_MP4_STATUS_UNEXPECTED_ERROR,
32 MW_MP4_STATUS_INVALID_PARAM,
35 typedef enum _mw_mp4_video_type {
36 MW_MP4_VIDEO_TYPE_UNKNOWN = 0,
37 MW_MP4_VIDEO_TYPE_H264 = 1,
38 MW_MP4_VIDEO_TYPE_HEVC = 2,
39 MW_MP4_VIDEO_TYPE_H265 = MW_MP4_VIDEO_TYPE_HEVC
59 mw_mp4_video_type_t codec_type;
70 typedef enum _mw_mp4_audio_type {
71 MW_MP4_AUDIO_TYPE_UNKNOWN = 0,
72 MW_MP4_AUDIO_TYPE_AAC = 1,
73 MW_MP4_AUDIO_TYPE_ADTS_AAC = 2
74 }mw_mp4_audio_codec_t;
77 mw_mp4_audio_codec_t codec_type;
84 typedef enum _mw_mp4_subtitle_type {
85 MW_MP4_SUBTITLE_TYPE_UNKNOWN = 0,
86 MW_MP4_SUBTITLE_TYPE_CC608 = 1,
87 MW_MP4_SUBTITLE_TYPE_CC708 = 2
88 }mw_mp4_subtitle_type_t;
91 mw_mp4_subtitle_type_t codec_type;
159 mw_mp4_status_t mw_mp4_write_video(
mw_mp4_handle_t handle,
const uint8_t * p_stream, uint32_t size, uint64_t timestamp);
171 mw_mp4_status_t mw_mp4_write_audio(
mw_mp4_handle_t handle,
const uint8_t * p_stream, uint32_t size, uint64_t timestamp);
183 mw_mp4_status_t mw_mp4_write_subtitle(
mw_mp4_handle_t handle,
const uint8_t * p_stream, uint32_t size, uint64_t timestamp);
202 mw_mp4_status_t mw_mp4_repair(
const char * p_path,
bool del);
212 mw_mp4_status_t mw_mp4_repair_ex(
const wchar_t * p_path,
bool del);