diff --git a/mopidy/audio/scan.py b/mopidy/audio/scan.py index f04fa2fd..b1565ee3 100644 --- a/mopidy/audio/scan.py +++ b/mopidy/audio/scan.py @@ -43,7 +43,7 @@ class Scanner(object): finally: self._reset() - if data[gst.TAG_DURATION] < self.min_duration_ms: + if data[gst.TAG_DURATION] < self.min_duration_ms * gst.MSECOND: raise exceptions.ScannerError('Rejecting file with less than %dms ' 'audio data.' % self.min_duration_ms) return data @@ -88,8 +88,7 @@ class Scanner(object): def _query_duration(self): try: - duration = self.pipe.query_duration(gst.FORMAT_TIME, None)[0] - return duration // gst.MSECOND + return self.pipe.query_duration(gst.FORMAT_TIME, None)[0] except gst.QueryError: return None @@ -136,7 +135,7 @@ def audio_data_to_track(data): track_kwargs['uri'] = data['uri'] track_kwargs['last_modified'] = int(data['mtime']) - track_kwargs['length'] = data[gst.TAG_DURATION] + track_kwargs['length'] = data[gst.TAG_DURATION] // gst.MSECOND track_kwargs['album'] = Album(**album_kwargs) track_kwargs['artists'] = [Artist(**artist_kwargs)] diff --git a/tests/audio/scan_test.py b/tests/audio/scan_test.py index eb92635f..b53b0b57 100644 --- a/tests/audio/scan_test.py +++ b/tests/audio/scan_test.py @@ -31,7 +31,7 @@ class TranslatorTest(unittest.TestCase): 'album-disc-count': 3, 'date': FakeGstDate(2006, 1, 1,), 'container-format': 'ID3 tag', - 'duration': 4531, + 'duration': 4531000000, 'musicbrainz-trackid': 'mbtrackid', 'musicbrainz-albumid': 'mbalbumid', 'musicbrainz-artistid': 'mbartistid', @@ -182,8 +182,8 @@ class ScannerTest(unittest.TestCase): def test_duration_is_set(self): self.scan('scanner/simple') - self.check('scanner/simple/song1.mp3', 'duration', 4680) - self.check('scanner/simple/song1.ogg', 'duration', 4680) + self.check('scanner/simple/song1.mp3', 'duration', 4680000000) + self.check('scanner/simple/song1.ogg', 'duration', 4680000000) def test_artist_is_set(self): self.scan('scanner/simple')