reveal in project, improved still detection and playback, fixed some ripple crashes
This commit is contained in:
+13
-1
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user