31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "metadata/ifc_metadata.h"
|
|
#include "mp4.h"
|
|
|
|
class MP4MetadataBase : public ifc_metadata
|
|
{
|
|
public:
|
|
MP4MetadataBase();
|
|
~MP4MetadataBase();
|
|
int Initialize(nx_uri_t filename, MP4FileHandle mp4_file);
|
|
|
|
int WASABICALL Metadata_GetField(int field, unsigned int index, nx_string_t *value);
|
|
int WASABICALL Metadata_GetInteger(int field, unsigned int index, int64_t *value);
|
|
int WASABICALL Metadata_GetReal(int field, unsigned int index, double *value);
|
|
int WASABICALL Metadata_GetArtwork(int field, unsigned int index, artwork_t *artwork, data_flags_t flags);
|
|
int WASABICALL Metadata_GetBinary(int field, unsigned int index, nx_data_t *data) { return NErr_NotImplemented; }
|
|
private:
|
|
MP4FileHandle mp4_file;
|
|
nx_uri_t mp4_metadata_filename;
|
|
nx_file_stat_s file_stats;
|
|
static struct mime_types_t
|
|
{
|
|
nx_string_t jpeg;
|
|
nx_string_t png;
|
|
nx_string_t bmp;
|
|
nx_string_t gif;
|
|
} mime_types;
|
|
static int NX_ONCE_API InitMIME(nx_once_t, void *, void **);
|
|
static nx_string_t GetMIMEFromType(uint32_t type);
|
|
}; |