/*
 *******************************************************************************
 *  Copyright (c) 2010-2022 VATICS(KNERON) Inc. All rights reserved.
 *
 *  +-----------------------------------------------------------------+
 *  | THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED |
 *  | AND COPIED IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF SUCH  |
 *  | A LICENSE AND WITH THE INCLUSION OF THE THIS COPY RIGHT NOTICE. |
 *  | THIS SOFTWARE OR ANY OTHER COPIES OF THIS SOFTWARE MAY NOT BE   |
 *  | PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. THE   |
 *  | OWNERSHIP AND TITLE OF THIS SOFTWARE IS NOT TRANSFERRED.        |
 *  |                                                                 |
 *  | THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT   |
 *  | ANY PRIOR NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY |
 *  | VATICS(KNERON) INC.                                             |
 *  +-----------------------------------------------------------------+
 *
 *******************************************************************************
 */
#ifndef __MP4_PARSER_H__
#define __MP4_PARSER_H__

#ifdef __cplusplus
extern "C" {
#endif

#include <mp4_reader/mp4_types.h>
//#include "mp4_types.h"
#include <string.h>

typedef struct mp4_headers_info_struct
{
	mp4_moov_header_t mp4_moov_header;  // moov
	unsigned int video_entrycount;
	unsigned int audio_entrycount;
	unsigned int microsecond_per_frame;
	unsigned int next_keyframe_index;
	unsigned int isCO64;
} mp4_headers_info_t;

void MP4Parser_InitializeMP4HeadersInfo(mp4_headers_info_t *mp4_header_info);
int MP4Parser_Start(int fd, mp4_headers_info_t *mp4_info);
void MP4Parser_ReleaseIndexEntries(mp4_headers_info_t *mp4_info);


#ifdef __cplusplus
}
#endif

#endif


