[sound-juicer] Handle GST_STATE_CHANGE_ASYNC in sj-play.c better (#567011)
- From: Ross Burton <rburton src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sound-juicer] Handle GST_STATE_CHANGE_ASYNC in sj-play.c better (#567011)
- Date: Mon, 10 Oct 2011 14:26:08 +0000 (UTC)
commit 2d5deeb9bf9bf2eb9389b61de81ef2017cf8e0d0
Author: Matthew Martin <mtt martin gmail com>
Date: Mon Oct 10 15:25:29 2011 +0100
Handle GST_STATE_CHANGE_ASYNC in sj-play.c better (#567011)
Signed-off-by: Ross Burton <ross linux intel com>
libjuicer/sj-metadata-gvfs.c | 6 +++---
src/sj-play.c | 9 +++++----
2 files changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/libjuicer/sj-metadata-gvfs.c b/libjuicer/sj-metadata-gvfs.c
index f9fb95a..0c05a80 100644
--- a/libjuicer/sj-metadata-gvfs.c
+++ b/libjuicer/sj-metadata-gvfs.c
@@ -63,11 +63,11 @@ device_to_cdda_uri (const char *device)
{
if (g_str_has_prefix (device, "/dev/") == FALSE)
return NULL;
-#ifdef __sun
+#ifdef __sun
return g_strdup_printf ("cdda://%s", device + strlen ("/dev/rdsk/"));
-#else
+#else
return g_strdup_printf ("cdda://%s", device + strlen ("/dev/"));
-#endif
+#endif
}
static GList *
diff --git a/src/sj-play.c b/src/sj-play.c
index b6006f6..bc48275 100644
--- a/src/sj-play.c
+++ b/src/sj-play.c
@@ -57,6 +57,11 @@ select_track (void)
}
ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);
+ if (ret == GST_STATE_CHANGE_ASYNC) {
+ while (ret == GST_STATE_CHANGE_ASYNC)
+ ret = gst_element_get_state (pipeline, NULL, NULL, GST_MSECOND);
+ }
+
if (ret == GST_STATE_CHANGE_FAILURE) {
return FALSE;
} else if (ret == GST_STATE_CHANGE_SUCCESS) {
@@ -69,11 +74,7 @@ select_track (void)
/* seek failed - what now? */
return FALSE;
}
- } else if (ret == GST_STATE_CHANGE_ASYNC) {
- /* do nothing, seek will hopefully be done later?! */
- current_track = seek_to_track;
}
-
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]