11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
21PROMEKI_NAMESPACE_BEGIN
58 ImageFile(
int id = 0);
64 const String &filename()
const {
return _filename; }
70 void setFilename(
const String &val) {
79 const Frame &frame()
const {
return _frame; }
85 Frame &frame() {
return _frame; }
91 void setFrame(
const Frame &val) {
100 VideoPayload::Ptr videoPayload()
const {
101 auto vps = _frame.videoPayloads();
102 if (vps.isEmpty())
return VideoPayload::Ptr();
110 UncompressedVideoPayload::Ptr uncompressedVideoPayload()
const {
111 VideoPayload::Ptr vp = videoPayload();
112 if (!vp.isValid())
return UncompressedVideoPayload::Ptr();
113 return sharedPointerCast<UncompressedVideoPayload>(vp);
120 void setVideoPayload(
const VideoPayload::Ptr &val) {
121 _frame.payloadList().clear();
122 if (val.isValid()) _frame.addPayload(val);
130 const Metadata &metadata()
const {
return _frame.metadata(); }
136 Metadata &metadata() {
return _frame.metadata(); }
144 Error load(
const MediaConfig &config = MediaConfig());
153 Error save(
const MediaConfig &config = MediaConfig());
158 const ImageFileIO *_io;