From f606249297765be81e977833995f6e10e59a7fbe Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Wed, 28 Jan 2004 22:14:14 +0000 Subject: [PATCH] gst-libs/gst/play/gstplay.c: seek on video sink element first. Original commit message from CVS: 2004-01-28 Julien MOUTTE * gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video sink element first. * gst/videoscale/gstvideoscale.c: (gst_videoscale_handle_src_event): Fixing src event handler. --- ChangeLog | 7 +++++++ common | 2 +- gst-libs/gst/play/gstplay.c | 4 ++-- gst-libs/gst/play/play.c | 4 ++-- gst/videoscale/gstvideoscale.c | 5 +++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index fbb86c6b34..2e6ca9e3d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-01-28 Julien MOUTTE + + * gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video + sink element first. + * gst/videoscale/gstvideoscale.c: + (gst_videoscale_handle_src_event): Fixing src event handler. + 2004-01-28 Ronald Bultje * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init), diff --git a/common b/common index 0bcde34201..5da247bb6f 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 0bcde342015b96d9a6ba3b9d9102e2a543399d96 +Subproject commit 5da247bb6f217c5c32e5ebab0d3a2014dfa452c3 diff --git a/gst-libs/gst/play/gstplay.c b/gst-libs/gst/play/gstplay.c index d8658e49da..f9389ea169 100644 --- a/gst-libs/gst/play/gstplay.c +++ b/gst-libs/gst/play/gstplay.c @@ -641,11 +641,11 @@ gst_play_seek_to_time (GstPlay * play, gint64 time_nanos) GST_IS_ELEMENT (video_sink_element)) { gboolean s = FALSE; - s = gst_element_seek (audio_sink_element, GST_FORMAT_TIME | + s = gst_element_seek (video_sink_element, GST_FORMAT_TIME | GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, time_nanos); if (!s) { - s = gst_element_seek (video_sink_element, GST_FORMAT_TIME | + s = gst_element_seek (audio_sink_element, GST_FORMAT_TIME | GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, time_nanos); } diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c index d8658e49da..f9389ea169 100644 --- a/gst-libs/gst/play/play.c +++ b/gst-libs/gst/play/play.c @@ -641,11 +641,11 @@ gst_play_seek_to_time (GstPlay * play, gint64 time_nanos) GST_IS_ELEMENT (video_sink_element)) { gboolean s = FALSE; - s = gst_element_seek (audio_sink_element, GST_FORMAT_TIME | + s = gst_element_seek (video_sink_element, GST_FORMAT_TIME | GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, time_nanos); if (!s) { - s = gst_element_seek (video_sink_element, GST_FORMAT_TIME | + s = gst_element_seek (audio_sink_element, GST_FORMAT_TIME | GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, time_nanos); } diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c index bc045bf308..ca556562f0 100644 --- a/gst/videoscale/gstvideoscale.c +++ b/gst/videoscale/gstvideoscale.c @@ -321,14 +321,15 @@ gst_videoscale_handle_src_event (GstPad *pad, GstEvent *event) gst_structure_set (structure, "pointer_y", G_TYPE_DOUBLE, a*videoscale->from_height/videoscale->to_height, NULL); } + gst_event_unref (event); new_event = gst_event_new (GST_EVENT_NAVIGATION); new_event->event_data.structure.structure = structure; - gst_pad_send_event (gst_pad_get_peer (videoscale->sinkpad), new_event); + return gst_pad_event_default (pad, new_event); break; default: + return gst_pad_event_default (pad, event); break; } - return TRUE; } static void