aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrasad, Ram2018-02-20 04:48:44 -0600
committerRamprasad N2018-06-20 01:32:32 -0500
commit9a1cd733fa57e1eace21524456b652087d04168e (patch)
tree7c69cfbc1c524ae5db594e4009e7437ca3165b3c
parent3a5a7f778b3c3259faab04748e7b10f0fd696aab (diff)
downloadgstreamer1-0-plugins-bad-master.tar.gz
gstreamer1-0-plugins-bad-master.tar.xz
gstreamer1-0-plugins-bad-master.zip
gstwaylandsink: Reset redraw_pending in PAUSE to READY transitionHEADmaster
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.c1
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);