12345678910111213141516171819202122232425262728293031 |
- #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);
- };
|