tests/examples/seek/seek.c: Make sure bus signals are reconnected when pressing STOP and then PLAY again for a parse ...

Original commit message from CVS:
2008-02-08  Julien Moutte  <julien@fluendo.com>

* tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals),
(main): Make sure bus signals are reconnected when pressing STOP
and then PLAY again for a parse launch pipeline. Fix a ref leak
on the bus.
* win32/common/config.h: Updated.
This commit is contained in:
Julien Moutte 2008-02-08 14:34:41 +00:00
parent 9dff2ee0e6
commit 4f26ec3cfd
4 changed files with 48 additions and 33 deletions

View file

@ -1,3 +1,11 @@
2008-02-08 Julien Moutte <julien@fluendo.com>
* tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals),
(main): Make sure bus signals are reconnected when pressing STOP
and then PLAY again for a parse launch pipeline. Fix a ref leak
on the bus.
* win32/common/config.h: Updated.
2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
* configure.ac:

2
common

@ -1 +1 @@
Subproject commit 8b37d7ee833fab1d25b484d8574df3dae231b5f2
Subproject commit df7f73bd454e0b0ee7870d8c85874aba9329fd2e

View file

@ -1112,7 +1112,7 @@ update_scale (gpointer data)
}
static void do_seek (GtkWidget * widget);
static void connect_bus_signals (GstElement * pipeline);
static void set_update_scale (gboolean active);
static gboolean
@ -1372,6 +1372,7 @@ stop_cb (GtkButton * button, gpointer data)
pipeline = pipelines[pipeline_type].func (pipeline_spec);
g_assert (pipeline);
gst_element_set_state (pipeline, GST_STATE_READY);
connect_bus_signals (pipeline);
}
}
return;
@ -1595,6 +1596,38 @@ msg_segment_done (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
g_print ("segment seek failed\n");
}
static void
connect_bus_signals (GstElement * pipeline)
{
GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH);
g_signal_connect (bus, "message::state-changed",
(GCallback) msg_state_changed, pipeline);
g_signal_connect (bus, "message::segment-done", (GCallback) msg_segment_done,
pipeline);
g_signal_connect (bus, "message::async-done", (GCallback) msg_async_done,
pipeline);
g_signal_connect (bus, "message::new-clock", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::error", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::warning", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::eos", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::tag", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::element", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::segment-done", (GCallback) message_received,
pipeline);
gst_object_unref (bus);
}
static void
print_usage (int argc, char **argv)
{
@ -1815,34 +1848,8 @@ main (int argc, char **argv)
g_signal_connect (pipeline, "deep_notify",
G_CALLBACK (gst_object_default_deep_notify), NULL);
}
{
GstBus *bus;
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
gst_bus_add_signal_watch_full (bus, G_PRIORITY_HIGH);
g_signal_connect (bus, "message::state-changed",
(GCallback) msg_state_changed, pipeline);
g_signal_connect (bus, "message::segment-done",
(GCallback) msg_segment_done, pipeline);
g_signal_connect (bus, "message::async-done",
(GCallback) msg_async_done, pipeline);
g_signal_connect (bus, "message::new-clock", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::error", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::warning", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::eos", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::tag", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::element", (GCallback) message_received,
pipeline);
g_signal_connect (bus, "message::segment-done",
(GCallback) message_received, pipeline);
}
connect_bus_signals (pipeline);
gtk_main ();
g_print ("NULL pipeline\n");

View file

@ -39,7 +39,7 @@
#define GST_LICENSE "LGPL"
/* package name in plugins */
#define GST_PACKAGE_NAME "GStreamer Base Plug-ins source release"
#define GST_PACKAGE_NAME "GStreamer Base Plug-ins CVS/prerelease"
/* package origin */
#define GST_PACKAGE_ORIGIN "Unknown package origin"
@ -211,13 +211,13 @@
#define PACKAGE_NAME "GStreamer Base Plug-ins"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GStreamer Base Plug-ins 0.10.17"
#define PACKAGE_STRING "GStreamer Base Plug-ins 0.10.17.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-base"
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.10.17"
#define PACKAGE_VERSION "0.10.17.1"
/* directory where plugins are located */
#undef PLUGINDIR
@ -241,7 +241,7 @@
#undef STDC_HEADERS
/* Version number of package */
#define VERSION "0.10.17"
#define VERSION "0.10.17.1"
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */