[rhythmbox] switch streaming sources over to playback status to report buffering
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] switch streaming sources over to playback status to report buffering
- Date: Mon, 1 Apr 2013 11:06:13 +0000 (UTC)
commit e1f7b99bc4b5e41d31c000445dc4010cba161b67
Author: Jonathan Matthew <jonathan d14n org>
Date: Sat Mar 23 23:48:25 2013 +1000
switch streaming sources over to playback status to report buffering
.../rb-audioscrobbler-radio-source.c | 12 ++++++++----
plugins/iradio/rb-iradio-source.c | 9 ++++++++-
sources/rb-streaming-source.c | 2 +-
3 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c
b/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c
index b0ddd52..346e963 100644
--- a/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c
+++ b/plugins/audioscrobbler/rb-audioscrobbler-radio-source.c
@@ -225,6 +225,7 @@ static void impl_remove (RBDisplayPage *page);
/* RBSource implementations */
static RBEntryView *impl_get_entry_view (RBSource *asource);
static RBSourceEOFType impl_handle_eos (RBSource *asource);
+static void impl_get_playback_status (RBSource *source, char **text, float *progress);
enum {
PROP_0,
@@ -311,6 +312,7 @@ rb_audioscrobbler_radio_source_class_init (RBAudioscrobblerRadioSourceClass *kla
source_class->impl_try_playlist = (RBSourceFeatureFunc) rb_false_function;
source_class->impl_get_entry_view = impl_get_entry_view;
source_class->impl_handle_eos = impl_handle_eos;
+ source_class->impl_get_playback_status = impl_get_playback_status;
g_object_class_install_property (object_class,
PROP_PARENT,
@@ -1016,19 +1018,21 @@ static void
impl_get_status (RBDisplayPage *page, char **text, char **progress_text, float *progress)
{
RBAudioscrobblerRadioSource *source = RB_AUDIOSCROBBLER_RADIO_SOURCE (page);
-
- /* pulse progressbar if we're busy, otherwise see what the streaming source part of us has to say */
if (source->priv->is_busy) {
/* We could be calling either radio.tune or radio.getPlaylist methods.
* "Tuning station" seems like a user friendly message to display for both cases.
*/
*progress_text = g_strdup (_("Tuning station"));
*progress = -1.0f;
- } else {
- rb_streaming_source_get_progress (RB_STREAMING_SOURCE (source), progress_text, progress);
}
}
+static void
+impl_get_playback_status (RBSource *source, char **text, float *progress)
+{
+ rb_streaming_source_get_progress (RB_STREAMING_SOURCE (source), text, progress);
+}
+
static RBSourceEOFType
impl_handle_eos (RBSource *asource)
{
diff --git a/plugins/iradio/rb-iradio-source.c b/plugins/iradio/rb-iradio-source.c
index da2de04..5118201 100644
--- a/plugins/iradio/rb-iradio-source.c
+++ b/plugins/iradio/rb-iradio-source.c
@@ -106,6 +106,7 @@ static void impl_add_uri (RBSource *source,
RBSourceAddCallback callback,
gpointer data,
GDestroyNotify destroy_data);
+static void impl_get_playback_status (RBSource *source, char **text, float *progress);
static void rb_iradio_source_do_query (RBIRadioSource *source);
static void impl_reset_filters (RBSource *source);
@@ -206,6 +207,7 @@ rb_iradio_source_class_init (RBIRadioSourceClass *klass)
source_class->impl_song_properties = impl_song_properties;
source_class->impl_want_uri = impl_want_uri;
source_class->impl_add_uri = impl_add_uri;
+ source_class->impl_get_playback_status = impl_get_playback_status;
g_object_class_override_property (object_class,
PROP_SHOW_BROWSER,
@@ -615,7 +617,12 @@ impl_get_status (RBDisplayPage *page,
*text = g_strdup_printf (ngettext ("%d station", "%d stations", num_entries),
num_entries);
- rb_streaming_source_get_progress (RB_STREAMING_SOURCE (source), progress_text, progress);
+}
+
+static void
+impl_get_playback_status (RBSource *source, char **text, float *progress)
+{
+ rb_streaming_source_get_progress (RB_STREAMING_SOURCE (source), text, progress);
}
static void
diff --git a/sources/rb-streaming-source.c b/sources/rb-streaming-source.c
index 0e18031..6ce25de 100644
--- a/sources/rb-streaming-source.c
+++ b/sources/rb-streaming-source.c
@@ -232,7 +232,7 @@ buffering_cb (GObject *backend, gpointer whatever, guint progress, RBStreamingSo
GDK_THREADS_ENTER ();
source->priv->buffering = progress;
- rb_display_page_notify_status_changed (RB_DISPLAY_PAGE (source));
+ rb_source_notify_playback_status_changed (RB_SOURCE (source));
GDK_THREADS_LEAVE ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]