mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 07:08:23 +00:00
gst/playback/gstplaybin.c: Only seek on one sink, the first one that succeeds.
Original commit message from CVS: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_send_event): Only seek on one sink, the first one that succeeds.
This commit is contained in:
parent
17d40cbbd1
commit
7d29a33df8
2 changed files with 32 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2005-09-22 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
|
||||||
|
(gst_play_bin_send_event):
|
||||||
|
Only seek on one sink, the first one that succeeds.
|
||||||
|
|
||||||
2005-09-22 Michael Smith <msmith@fluendo.com>
|
2005-09-22 Michael Smith <msmith@fluendo.com>
|
||||||
|
|
||||||
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear),
|
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_clear),
|
||||||
|
|
|
@ -101,6 +101,9 @@ static void gst_play_bin_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * spec);
|
const GValue * value, GParamSpec * spec);
|
||||||
static void gst_play_bin_get_property (GObject * object, guint prop_id,
|
static void gst_play_bin_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * spec);
|
GValue * value, GParamSpec * spec);
|
||||||
|
|
||||||
|
static gboolean gst_play_bin_send_event (GstElement * element,
|
||||||
|
GstEvent * event);
|
||||||
static GstStateChangeReturn gst_play_bin_change_state (GstElement * element,
|
static GstStateChangeReturn gst_play_bin_change_state (GstElement * element,
|
||||||
GstStateChange transition);
|
GstStateChange transition);
|
||||||
|
|
||||||
|
@ -190,6 +193,7 @@ gst_play_bin_class_init (GstPlayBinClass * klass)
|
||||||
|
|
||||||
gstelement_klass->change_state =
|
gstelement_klass->change_state =
|
||||||
GST_DEBUG_FUNCPTR (gst_play_bin_change_state);
|
GST_DEBUG_FUNCPTR (gst_play_bin_change_state);
|
||||||
|
gstelement_klass->send_event = GST_DEBUG_FUNCPTR (gst_play_bin_send_event);
|
||||||
|
|
||||||
playbasebin_klass->setup_output_pads = setup_sinks;
|
playbasebin_klass->setup_output_pads = setup_sinks;
|
||||||
}
|
}
|
||||||
|
@ -849,6 +853,28 @@ setup_sinks (GstPlayBaseBin * play_base_bin, GstPlayBaseGroup * group)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gst_play_bin_send_event (GstElement * element, GstEvent * event)
|
||||||
|
{
|
||||||
|
GstPlayBin *play_bin;
|
||||||
|
GList *sinks;
|
||||||
|
gboolean res = FALSE;
|
||||||
|
|
||||||
|
play_bin = GST_PLAY_BIN (element);
|
||||||
|
|
||||||
|
sinks = play_bin->sinks;
|
||||||
|
while (sinks) {
|
||||||
|
GstElement *sink = GST_ELEMENT_CAST (sinks->data);
|
||||||
|
|
||||||
|
if ((res = gst_element_send_event (sink, event)))
|
||||||
|
break;
|
||||||
|
|
||||||
|
sinks = g_list_next (sinks);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
static GstStateChangeReturn
|
static GstStateChangeReturn
|
||||||
gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue