43 lines
644 B
C++
43 lines
644 B
C++
#include "Frame.h"
|
|
#include <stdexcept>
|
|
|
|
namespace ffcpp {
|
|
|
|
Frame::Frame() {
|
|
_frame = av_frame_alloc();
|
|
}
|
|
|
|
Frame::Frame(Frame &&frame) {
|
|
*this = std::move(frame);
|
|
}
|
|
|
|
Frame::~Frame() {
|
|
if(_frame) {
|
|
av_frame_free(&_frame);
|
|
}
|
|
}
|
|
|
|
Frame& Frame::operator=(Frame&& frame) {
|
|
_frame = frame._frame;
|
|
frame._frame = nullptr;
|
|
return *this;
|
|
}
|
|
|
|
Frame::operator AVFrame*() {
|
|
return _frame;
|
|
}
|
|
|
|
Frame::operator const AVFrame*() const {
|
|
return _frame;
|
|
}
|
|
|
|
void Frame::guessPts() {
|
|
_frame->pts = av_frame_get_best_effort_timestamp(_frame);
|
|
}
|
|
|
|
void Frame::setPictureType(AVPictureType type) {
|
|
_frame->pict_type = type;
|
|
}
|
|
|
|
}
|