From c0b087e4b7c2bf8f47ab5772fc8699e22d167900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 12 Jan 2006 14:56:11 +0000 Subject: [PATCH] gst-libs/gst/cdda/gstcddabasesrc.c: No need to post a tag message on the bus when seeking within the same track, only... Original commit message from CVS: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_handle_track_seek): No need to post a tag message on the bus when seeking within the same track, only post it when the current track changes. --- ChangeLog | 8 ++++++++ gst-libs/gst/cdda/gstcddabasesrc.c | 18 +++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 796ee2b559..b2441e4832 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-01-12 Tim-Philipp Müller + + * gst-libs/gst/cdda/gstcddabasesrc.c: + (gst_cdda_base_src_handle_track_seek): + No need to post a tag message on the bus when seeking + within the same track, only post it when the current + track changes. + 2006-01-11 Jan Schmidt * gst/playback/gstplaybasebin.c: (group_destroy), diff --git a/gst-libs/gst/cdda/gstcddabasesrc.c b/gst-libs/gst/cdda/gstcddabasesrc.c index 2ced37da22..152f797491 100644 --- a/gst-libs/gst/cdda/gstcddabasesrc.c +++ b/gst-libs/gst/cdda/gstcddabasesrc.c @@ -790,16 +790,20 @@ gst_cdda_base_src_handle_track_seek (GstCddaBaseSrc * src, gdouble rate, return FALSE; } - src->cur_track = (gint) start; - src->uri_track = -1; - src->prev_track = -1; + GST_DEBUG_OBJECT (src, "seeking to track %d", start + 1); - GST_DEBUG_OBJECT (src, "seeking to track %d", src->cur_track + 1); - - src->cur_sector = src->tracks[src->cur_track].start; + src->cur_sector = src->tracks[start].start; GST_DEBUG_OBJECT (src, "starting at sector %d", src->cur_sector); - gst_cdda_base_src_update_duration (src); + if (src->cur_track != start) { + src->cur_track = (gint) start; + src->uri_track = -1; + src->prev_track = -1; + + gst_cdda_base_src_update_duration (src); + } else { + GST_DEBUG_OBJECT (src, "is current track, just seeking back to start"); + } /* send fake segment seek event in TIME format to * base class (so we get a newsegment etc.) */