diff options
Diffstat (limited to 'waltham-transmitter/transmitter-plugin/output.c')
-rw-r--r-- | waltham-transmitter/transmitter-plugin/output.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/waltham-transmitter/transmitter-plugin/output.c b/waltham-transmitter/transmitter-plugin/output.c index 829b4bf..c7aa616 100644 --- a/waltham-transmitter/transmitter-plugin/output.c +++ b/waltham-transmitter/transmitter-plugin/output.c @@ -193,7 +193,7 @@ transmitter_output_repaint(struct weston_output *base, output->renderer->dmafd = api->get_dma_fd_from_view(&output->base, view, &output->renderer->buf_stride); - if(!output->renderer->dmafd) { + if(output->renderer->dmafd < 0) { weston_log("Failed to get dmafd\n"); goto out; } @@ -210,7 +210,7 @@ transmitter_output_repaint(struct weston_output *base, output->renderer->repaint_output(output); output->renderer->dmafd = NULL; transmitter_api->surface_gather_state(txs); - weston_buffer_reference(&view->surface->buffer_ref, NULL); + //weston_buffer_reference(&view->surface->buffer_ref, NULL); break; } } @@ -222,7 +222,18 @@ transmitter_output_repaint(struct weston_output *base, if (!found_output) goto out; +#if 0 weston_compositor_read_presentation_clock(output->base.compositor, &ts); +#else + clock_gettime(CLOCK_MONOTONIC_RAW, &ts); + ts.tv_nsec += 33000000; + if(ts.tv_nsec >= 1000000000) + { + ts.tv_sec++; + ts.tv_nsec -= 1000000000; + } +#endif + weston_output_finish_frame(&output->base, &ts, 0); return 0; |