#include "footage.h" #include #include #include #include "io/previewgenerator.h" extern "C" { #include } #include "project/clip.h" Footage::Footage() : ready(false), preview_gen(NULL), invalid(false), in(0), out(0) { ready_lock.lock(); } Footage::~Footage() { reset(); } void Footage::reset() { if (preview_gen != NULL) { preview_gen->cancel(); preview_gen->wait(); } video_tracks.clear(); audio_tracks.clear(); ready = false; } long Footage::get_length_in_frames(double frame_rate) { if (length >= 0) return qFloor(((double) length / (double) AV_TIME_BASE) * frame_rate); return 0; } FootageStream* Footage::get_stream_from_file_index(bool video, int index) { if (video) { for (int i=0;i>1; int sqx = (diff < 0) ? -diff : 0; int sqy = (diff > 0) ? diff : 0; p.drawImage(sqx, sqy, video_preview); video_preview_square = QIcon(pixmap); }