reveal in project, improved still detection and playback, fixed some ripple crashes

This commit is contained in:
itsmattkc
2018-10-22 09:25:24 +11:00
parent 386693d372
commit bbdc17a984
14 changed files with 242 additions and 97 deletions
+13 -1
View File
@@ -126,13 +126,25 @@ void Clip::refresh() {
recalculateMaxLength();
}
void Clip::clear_queue() {
void Clip::queue_clear() {
while (queue.size() > 0) {
av_frame_free(&queue.first());
queue.removeFirst();
}
}
void Clip::queue_remove_earliest() {
int earliest_frame = 0;
for (int i=1;i<queue.size();i++) {
// TODO/NOTE: this will not work on sped up AND reversed video
if (queue.at(i)->pts < queue.at(earliest_frame)->pts) {
earliest_frame = i;
}
}
av_frame_free(&queue[earliest_frame]);
queue.removeAt(earliest_frame);
}
Clip::~Clip() {
if (open) {
close_clip(this);
+4 -1
View File
@@ -37,7 +37,6 @@ struct Clip
void reset_audio();
void reset();
void refresh();
void clear_queue();
long get_timeline_in_with_transition();
long get_timeline_out_with_transition();
long getLength();
@@ -49,6 +48,10 @@ struct Clip
void refactor_frame_rate(ComboAction* ca, double multiplier, bool change_timeline_points);
Sequence* sequence;
// queue functions
void queue_clear();
void queue_remove_earliest();
// timeline variables (should be copied in copy())
bool enabled;
long clip_in;