From db20c378e7368ab63d9eb39c98118df8279bd7da Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 10 Apr 2009 14:12:53 +0200 Subject: [PATCH] seek: handle clock-lost messages When we receive a clock-lost message we need to pause and play to select a new clock. --- tests/examples/seek/seek.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/examples/seek/seek.c b/tests/examples/seek/seek.c index e24fe57513..1db16aad2d 100644 --- a/tests/examples/seek/seek.c +++ b/tests/examples/seek/seek.c @@ -2144,6 +2144,15 @@ msg_buffering (GstBus * bus, GstMessage * message, GstPipeline * data) } } +static void +msg_clock_lost (GstBus * bus, GstMessage * message, GstPipeline * data) +{ + g_print ("clock lost! PAUSE and PLAY to select a new clock\n"); + + gst_element_set_state (pipeline, GST_STATE_PAUSED); + gst_element_set_state (pipeline, GST_STATE_PLAYING); +} + #ifdef HAVE_X static guint embed_xid = 0; @@ -2210,6 +2219,8 @@ connect_bus_signals (GstElement * pipeline) g_signal_connect (bus, "message::new-clock", (GCallback) message_received, pipeline); + g_signal_connect (bus, "message::clock-lost", (GCallback) msg_clock_lost, + pipeline); g_signal_connect (bus, "message::error", (GCallback) message_received, pipeline); g_signal_connect (bus, "message::warning", (GCallback) message_received,