void mov_reader_test(const char* mp4) { s_vfp = fopen("v.h264", "wb"); s_afp = fopen("a.aac", "wb"); void* mov = mov_reader_create(mp4); mov_reader_getinfo(mov, mov_video_info, mov_audio_info, NULL); while (mov_reader_read(mov, s_buffer, sizeof(s_buffer), onread, NULL) > 0) { } mov_reader_destroy(mov); fclose(s_vfp); fclose(s_afp); }
MP4FileSource::MP4FileSource(const char *file) { m_speed = 1.0; m_status = 0; m_clock = 0; m_frame.bytes = 0; m_count = 0; m_fp = fopen(file, "rb"); m_reader = mov_reader_create(mov_file_buffer(), m_fp); if (m_reader) mov_reader_getinfo(m_reader, MP4OnVideo, MP4OnAudio, this); for (int i = 0; i < m_count; i++) { struct media_t* m = &m_media[i]; rtp_set_info(m->rtp, "RTSPServer", path_basename(file)); } }