Diff between f426775b847779676d30bb596beb41f9992411b7 and feccaf0498edea458e3305b5f713561af0aed9a1

Changed Files

File Additions Deletions Status
profiles/audio/player.c +20 -17 modified

Full Patch

diff --git a/profiles/audio/player.c b/profiles/audio/player.c
index f8920c9..841a577 100644
--- a/profiles/audio/player.c
+++ b/profiles/audio/player.c
@@ -111,12 +111,31 @@ static struct pending_req *pending_new(GDBusPendingPropertySet id,
 	return p;
 }
 
+static uint32_t media_player_get_position(struct media_player *mp)
+{
+	double timedelta;
+	uint32_t sec, msec;
+
+	if (g_strcmp0(mp->status, "playing") != 0)
+		return mp->position;
+
+	timedelta = g_timer_elapsed(mp->progress, NULL);
+
+	sec = (uint32_t) timedelta;
+	msec = (uint32_t) ((timedelta - sec) * 1000);
+
+	return mp->position + sec * 1000 + msec;
+}
+
 static gboolean get_position(const GDBusPropertyTable *property,
 					DBusMessageIter *iter, void *data)
 {
 	struct media_player *mp = data;
+	uint32_t position;
+
+	position = media_player_get_position(mp);
 
-	dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &mp->position);
+	dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &position);
 
 	return TRUE;
 }
@@ -464,22 +483,6 @@ struct media_player *media_player_controller_create(const char *path)
 	return mp;
 }
 
-static uint32_t media_player_get_position(struct media_player *mp)
-{
-	double timedelta;
-	uint32_t sec, msec;
-
-	if (g_strcmp0(mp->status, "playing") != 0)
-		return mp->position;
-
-	timedelta = g_timer_elapsed(mp->progress, NULL);
-
-	sec = (uint32_t) timedelta;
-	msec = (uint32_t) ((timedelta - sec) * 1000);
-
-	return mp->position + sec * 1000 + msec;
-}
-
 void media_player_set_position(struct media_player *mp, uint32_t position)
 {
 	DBG("%u", position);