diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index 4b8e7f9..0322190 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -210,6 +210,8 @@
   g_mutex_init (&sink->display_lock);
   g_mutex_init (&sink->render_lock);
   g_cond_init (&sink->redraw_wait);
+  sink->frame_showed = 0;
+  sink->run_time = 0;
 }
 
 static void
@@ -365,6 +367,9 @@
     return ret;
 
   switch (transition) {
+    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+      sink->run_time = gst_element_get_start_time (element);
+      break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       gst_buffer_replace (&sink->last_buffer, NULL);
       if (sink->window) {
@@ -396,6 +401,14 @@
       }
       g_mutex_unlock (&sink->display_lock);
       g_clear_object (&sink->pool);
+      
+      if (sink->run_time > 0) {
+        g_print ("Total showed frames (%lld), playing for (%"GST_TIME_FORMAT"), fps (%.3f).\n",
+                sink->frame_showed, GST_TIME_ARGS (sink->run_time),
+                (gfloat)GST_SECOND * sink->frame_showed / sink->run_time);
+      }
+      sink->frame_showed = 0;
+      sink->run_time = 0;
       break;
     default:
       break;
@@ -856,6 +869,7 @@
   }
 done:
   {
+    sink->frame_showed++;
     g_mutex_unlock (&sink->render_lock);
     return ret;
   }
diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h
index 5224138..ff396e4 100644
--- a/ext/wayland/gstwaylandsink.h
+++ b/ext/wayland/gstwaylandsink.h
@@ -67,6 +67,10 @@
   GCond redraw_wait;
   GMutex render_lock;
   GstBuffer *last_buffer;
+
+  /* fps print support */
+  guint64 frame_showed;
+  GstClockTime run_time;
 };
 
 struct _GstWaylandSinkClass
