[totem] backend: Implement has_{next,previous}_track
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [totem] backend: Implement has_{next,previous}_track
- Date: Fri, 13 Jul 2012 20:12:28 +0000 (UTC)
commit 7841b1c511af57aa376f253c07f0da82e853b101
Author: Bastien Nocera <hadess hadess net>
Date: Fri Jul 13 20:45:44 2012 +0100
backend: Implement has_{next,previous}_track
https://bugzilla.gnome.org/show_bug.cgi?id=515109
src/backend/bacon-video-widget.c | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 deletions(-)
---
diff --git a/src/backend/bacon-video-widget.c b/src/backend/bacon-video-widget.c
index 17bd354..364b64c 100644
--- a/src/backend/bacon-video-widget.c
+++ b/src/backend/bacon-video-widget.c
@@ -2855,8 +2855,15 @@ bacon_video_widget_set_subtitle (BaconVideoWidget * bvw, int subtitle)
gboolean
bacon_video_widget_has_next_track (BaconVideoWidget *bvw)
{
- //FIXME
- return TRUE;
+ g_return_val_if_fail (BACON_IS_VIDEO_WIDGET (bvw), FALSE);
+
+ if (bvw->priv->mrl == NULL)
+ return FALSE;
+
+ if (g_str_has_prefix (bvw->priv->mrl, "dvd:/"))
+ return TRUE;
+
+ return FALSE;
}
/**
@@ -2871,8 +2878,22 @@ bacon_video_widget_has_next_track (BaconVideoWidget *bvw)
gboolean
bacon_video_widget_has_previous_track (BaconVideoWidget *bvw)
{
- //FIXME
- return TRUE;
+ GstFormat fmt;
+ gint64 val;
+
+ g_return_val_if_fail (BACON_IS_VIDEO_WIDGET (bvw), FALSE);
+
+ if (bvw->priv->mrl == NULL)
+ return FALSE;
+
+ if (g_str_has_prefix (bvw->priv->mrl, "dvd:/"))
+ return TRUE;
+
+ fmt = gst_format_get_by_nick ("chapter");
+ if (gst_element_query_position (bvw->priv->play, &fmt, &val))
+ return (val > 0);
+
+ return FALSE;
}
static GList *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]