Procházet zdrojové kódy

Merge pull request #297 from kaymes/kaymes-faster

Improve playback speed
Sasha Hilton před 6 roky
rodič
revize
806a8f2da5
1 změnil soubory, kde provedl 9 přidání a 7 odebrání
  1. 9 7
      playback/src/player.rs

+ 9 - 7
playback/src/player.rs

@@ -560,12 +560,12 @@ impl PlayerInternal {
         let key = self
             .session
             .audio_key()
-            .request(track.id, file_id)
-            .wait()
-            .unwrap();
+            .request(track.id, file_id);
+        let encrypted_file = AudioFile::open(&self.session, file_id);
 
-        let encrypted_file = AudioFile::open(&self.session, file_id).wait().unwrap();
 
+        let encrypted_file = encrypted_file.wait().unwrap();
+        let key = key.wait().unwrap();
         let mut decrypted_file = AudioDecrypt::new(key, encrypted_file);
 
         let normalisation_factor = match NormalisationData::parse_from_file(&mut decrypted_file) {
@@ -580,9 +580,11 @@ impl PlayerInternal {
 
         let mut decoder = VorbisDecoder::new(audio_file).unwrap();
 
-        match decoder.seek(position) {
-            Ok(_) => (),
-            Err(err) => error!("Vorbis error: {:?}", err),
+        if position != 0 {
+            match decoder.seek(position) {
+                Ok(_) => (),
+                Err(err) => error!("Vorbis error: {:?}", err),
+            }
         }
 
         info!("Track \"{}\" loaded", track.name);