[Xfce4-commits] [apps/parole] 01/01: Handle failed filename lookup, improve live stream support for streams reporting negative duration
noreply at xfce.org
noreply at xfce.org
Sun Feb 26 15:20:27 CET 2017
This is an automated email from the git hooks/post-receive script.
bluesabre pushed a commit to branch master
in repository apps/parole.
commit 2922856a11821235e3e0aafe66f01483cf8d7d1d
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Sun Feb 26 09:20:22 2017 -0500
Handle failed filename lookup, improve live stream support for streams reporting negative duration
---
src/gst/parole-gst.c | 5 +++++
src/parole-player.c | 24 +++++++++++++++++++-----
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c
index 5b988a6..8151b03 100644
--- a/src/gst/parole-gst.c
+++ b/src/gst/parole-gst.c
@@ -592,6 +592,11 @@ parole_gst_query_duration (ParoleGst *gst)
#endif
&absolute_duration);
+ if (absolute_duration < 0)
+ {
+ absolute_duration = 0;
+ }
+
if (gst_time == GST_FORMAT_TIME)
{
duration = absolute_duration / GST_SECOND;
diff --git a/src/parole-player.c b/src/parole-player.c
index 03d0a3e..6baddb3 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -1436,12 +1436,14 @@ parole_player_playing (ParolePlayer *player, const ParoleStream *stream)
{
parole_player_change_range_value (player, 0);
gtk_widget_set_visible( player->priv->label_duration, FALSE );
+ gtk_widget_set_visible( player->priv->label_divider, FALSE );
gtk_widget_set_visible( player->priv->label_elapsed, FALSE );
}
else
{
gtk_range_set_range (GTK_RANGE (player->priv->range), 0, duration);
gtk_widget_set_visible( player->priv->label_duration, TRUE );
+ gtk_widget_set_visible( player->priv->label_divider, TRUE );
gtk_widget_set_visible( player->priv->label_elapsed, TRUE );
}
@@ -1845,7 +1847,7 @@ parole_player_error_cb (ParoleGst *gst, const gchar *error, ParolePlayer *player
static gchar *
parole_player_get_filename_from_uri (gchar *uri)
{
- gchar *filename;
+ gchar *filename = NULL;
gchar *scheme;
scheme = g_uri_parse_scheme(uri);
@@ -1907,9 +1909,17 @@ parole_player_media_tag_cb (ParoleGst *gst, const ParoleStream *stream, ParolePl
{
/* No ID3, no problem! Show the filename instead */
filename = parole_player_get_filename_from_uri (uri);
- gtk_window_set_title (GTK_WINDOW (player->priv->window), filename);
- gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title), g_strdup_printf("<span color='#F4F4F4'><b><big>%s</big></b></span>", filename));
- g_free (filename);
+ if ( filename )
+ {
+ gtk_window_set_title (GTK_WINDOW (player->priv->window), filename);
+ gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title), g_strdup_printf("<span color='#F4F4F4'><b><big>%s</big></b></span>", filename));
+ g_free (filename);
+ }
+ else
+ {
+ gtk_window_set_title (GTK_WINDOW (player->priv->window), _("Parole Media Player"));
+ gtk_label_set_markup(GTK_LABEL(player->priv->audiobox_title), g_strdup_printf("<span color='#F4F4F4'><b><big>%s</big></b></span>", _("Unknown Song")));
+ }
}
g_free(uri);
@@ -1959,7 +1969,10 @@ parole_player_buffering_cb (ParoleGst *gst, const ParoleStream *stream, gint per
parole_gst_resume (PAROLE_GST (player->priv->gst));
gtk_widget_hide (player->priv->progressbar_buffering);
gtk_widget_show (player->priv->label_duration);
- gtk_widget_show (player->priv->range);
+ if ( player->priv->mini_mode )
+ gtk_widget_show (player->priv->label_divider);
+ else
+ gtk_widget_show (player->priv->range);
gtk_widget_show (player->priv->label_elapsed);
}
else
@@ -1974,6 +1987,7 @@ parole_player_buffering_cb (ParoleGst *gst, const ParoleStream *stream, gint per
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (player->priv->progressbar_buffering), buff);
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (player->priv->progressbar_buffering), (gdouble) percentage/100);
gtk_widget_hide (player->priv->label_duration);
+ gtk_widget_hide (player->priv->label_divider);
gtk_widget_hide (player->priv->range);
gtk_widget_hide (player->priv->label_elapsed);
gtk_widget_show (player->priv->progressbar_buffering);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list