summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Baker <steve@stevebaker.org>2002-12-11 04:39:45 +0000
committerSteve Baker <steve@stevebaker.org>2002-12-11 04:39:45 +0000
commit69463fe7d8affa82851eb2be488dde332bfb1c46 (patch)
tree77edd9ad6560c9543f88f3386bd006ffdad0fa02
parent868071b21bd7731daabf71fecb2880ae4f968b3e (diff)
downloadgstreamer-plugins-bad-69463fe7d8affa82851eb2be488dde332bfb1c46.tar.gz
Applied state-saving patch from Leif Johnson
Original commit message from CVS: Applied state-saving patch from Leif Johnson
-rw-r--r--gst-libs/gst/play/play.old.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst-libs/gst/play/play.old.c b/gst-libs/gst/play/play.old.c
index a102eb058..41f9edef2 100644
--- a/gst-libs/gst/play/play.old.c
+++ b/gst-libs/gst/play/play.old.c
@@ -642,9 +642,10 @@ void
gst_play_seek_to_time (GstPlay *play, gint64 time_nanos)
{
GstEvent *s_event;
+ guint8 prev_state;
gboolean audio_seek_worked = FALSE;
gboolean video_seek_worked = FALSE;
-
+
g_return_if_fail (GST_IS_PLAY (play));
if (time_nanos < 0LL){
play->seek_time = 0LL;
@@ -657,6 +658,7 @@ gst_play_seek_to_time (GstPlay *play, gint64 time_nanos)
}
/*g_print("doing seek to %lld\n", play->seek_time);*/
+ prev_state = GST_STATE(play->pipeline);
gst_element_set_state(play->pipeline, GST_STATE_PAUSED);
s_event = gst_event_new_seek (GST_FORMAT_TIME |
@@ -676,7 +678,7 @@ gst_play_seek_to_time (GstPlay *play, gint64 time_nanos)
play->time_nanos = gst_clock_get_time(play->clock);
g_signal_emit (G_OBJECT (play), gst_play_signals [TIME_TICK], 0, play->time_nanos);
}
- gst_element_set_state(play->pipeline, GST_STATE_PLAYING);
+ gst_element_set_state(play->pipeline, prev_state);
}
void