#pragma once #ifndef MINIVIDEO_MEDIAFILE_H #define MINIVIDEO_MEDIAFILE_H #include #include #include "minivideo_containers.h" typedef struct MediaFile_t { // Generic file infos FILE* file_pointer; //!< File pointer used during the life of this media file int64_t file_size; //!< File size in bytes char file_path[4096]; //!< Absolute path of the file (used to derive other paths/names/extention) // Additional file infos char file_directory[4096]; //!< Absolute path of the directory containing the file char file_name[255]; //!< File name (with file extension) char file_extension[255]; //!< File extension, without dot (may NOT correspond to the real file format) uint64_t file_creation_time; //!< File creation time (Unix time) (if available from filesystem metadata) uint64_t file_modification_time; //!< File modification time (Unix time) (if available from filesystem metadata) // Container Containers_e container; //!< File format / container used by this video file ContainerProfiles_e container_profile; //!< Container profile (if applicable) } MediaFile_t; #endif