Skip to content

Commit

Permalink
Ensure no frames are dropped in GLWidget if non-realtime.
Browse files Browse the repository at this point in the history
  • Loading branch information
ddennedy committed Oct 21, 2014
1 parent 6e6941b commit 7477e76
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/glwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -629,7 +629,8 @@ void GLWidget::updateTexture(GLuint yName, GLuint uName, GLuint vName)
void GLWidget::on_frame_show(mlt_consumer, void* self, mlt_frame frame_ptr)
{
GLWidget* widget = static_cast<GLWidget*>(self);
if (widget->frameRenderer() && widget->frameRenderer()->semaphore()->tryAcquire()) {
int timeout = (widget->consumer()->get_int("real_time") > 0)? 0: 1000;
if (widget->frameRenderer() && widget->frameRenderer()->semaphore()->tryAcquire(1, timeout)) {
Frame frame(frame_ptr);
widget->setLastFrame(frame_ptr);
emit widget->frameReceived(Mlt::QFrame(frame));
Expand Down

0 comments on commit 7477e76

Please sign in to comment.