Thread (12 messages) flat view 12 messages, 3 authors, 2011-09-27

Re: [PATCH 4/5] avrcp: fix handling of metadata item 0x7

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-09-16 07:50:58

Hi Lucas and David,

On Thu, Sep 15, 2011 at 7:21 AM, Lucas De Marchi
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: David Stockwell <redacted>

Metadata field number 0x7 should be the total playing time of the track
(TrackDuration) in msec, not current position within track.
---
 audio/avrcp.c |   18 ++++++------------
 1 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/audio/avrcp.c b/audio/avrcp.c
index f7f3924..835249b 100644
--- a/audio/avrcp.c
+++ b/audio/avrcp.c
@@ -141,7 +141,7 @@ enum media_info_id {
       MEDIA_INFO_TRACK =              4,
       MEDIA_INFO_N_TRACKS =           5,
       MEDIA_INFO_GENRE =              6,
-       MEDIA_INFO_CURRENT_POSITION =   7,
+       MEDIA_INFO_PLAYING_TIME =       7,
       MEDIA_INFO_LAST
 };
@@ -690,19 +690,13 @@ static int mp_get_media_attribute(struct media_player *mp,
               len = strlen(valstr);
               memcpy(elem->val, valstr, len);
               break;
-       case MEDIA_INFO_CURRENT_POSITION:
-               if (mi->elapsed != 0xFFFFFFFF) {
-                       uint32_t elapsed;
-
-                       mp_get_playback_status(mp, NULL, &elapsed, NULL);
-
-                       snprintf(valstr, 20, "%u", elapsed);
-                       len = strlen(valstr);
-                       memcpy(elem->val, valstr, len);
-               } else {
+       case MEDIA_INFO_PLAYING_TIME:
+               if (mi->track_len == 0xFFFFFFFF)
                       return -ENOENT;
-               }

+               snprintf(valstr, 20, "%u", mi->track_len);
+               len = strlen(valstr);
+               memcpy(elem->val, valstr, len);
               break;
       default:
               return -EINVAL;
--
1.7.6.1
Ack.

-- 
Luiz Augusto von Dentz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help