diff options
author | Prasad, Ram | 2018-02-20 04:48:44 -0600 |
---|---|---|
committer | Ramprasad N | 2018-06-20 01:32:32 -0500 |
commit | 9a1cd733fa57e1eace21524456b652087d04168e (patch) | |
tree | 7c69cfbc1c524ae5db594e4009e7437ca3165b3c | |
parent | 3a5a7f778b3c3259faab04748e7b10f0fd696aab (diff) | |
download | gstreamer1-0-plugins-bad-master.tar.gz gstreamer1-0-plugins-bad-master.tar.xz gstreamer1-0-plugins-bad-master.zip |
A boolean redraw_pending is being used in render_frame to check
if previous frame submitted to weston has been displayed or not.
if displayed, a callback sets this to FALSE or drop the frame if
it is still TRUE.
Gstreamer applications which transit from state PLAY->PAUSE->READY and
back to PLAY->PAUSE->READY state doesn't show the video from second playback
since this flag was not reset to FALSE and all frames will get dropped.
Resetting the flag in PAUSE-->READY transition resolves this issue.
Signed-off-by: Ramprasad N <x0038811@ti.com>
-rw-r--r-- | ext/wayland/gstwaylandsink.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c index 898a7eb..13a6cb7 100644 --- a/ext/wayland/gstwaylandsink.c +++ b/ext/wayland/gstwaylandsink.c | |||
@@ -341,6 +341,7 @@ gst_wayland_sink_change_state (GstElement * element, GstStateChange transition) | |||
341 | switch (transition) { | 341 | switch (transition) { |
342 | case GST_STATE_CHANGE_PAUSED_TO_READY: | 342 | case GST_STATE_CHANGE_PAUSED_TO_READY: |
343 | gst_buffer_replace (&sink->last_buffer, NULL); | 343 | gst_buffer_replace (&sink->last_buffer, NULL); |
344 | g_atomic_int_set (&sink->redraw_pending, FALSE); | ||
344 | if (sink->window) { | 345 | if (sink->window) { |
345 | if (gst_wl_window_is_toplevel (sink->window)) { | 346 | if (gst_wl_window_is_toplevel (sink->window)) { |
346 | g_clear_object (&sink->window); | 347 | g_clear_object (&sink->window); |