#pragma once
|
|
#ifndef MINIVIDEO_MEDIAFILE_H
|
#define MINIVIDEO_MEDIAFILE_H
|
|
#include <stdio.h>
|
#include <stdint.h>
|
|
#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
|