mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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:
parent
9dff2ee0e6
commit
4f26ec3cfd
4 changed files with 48 additions and 33 deletions
|
@ -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
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 8b37d7ee833fab1d25b484d8574df3dae231b5f2
|
||||
Subproject commit df7f73bd454e0b0ee7870d8c85874aba9329fd2e
|
|
@ -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");
|
||||
|
|
|
@ -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). */
|
||||
|
|
Loading…
Reference in a new issue