emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/emms 2749fdb998 30/42: Allow empty metadata blocks


From: ELPA Syncer
Subject: [elpa] externals/emms 2749fdb998 30/42: Allow empty metadata blocks
Date: Wed, 1 Nov 2023 15:58:01 -0400 (EDT)

branch: externals/emms
commit 2749fdb998b55c1e4bbed3c2bea7da4104e9eab4
Author: Petteri Hintsanen <petterih@iki.fi>
Commit: Petteri Hintsanen <petterih@iki.fi>

    Allow empty metadata blocks
    
    Strictly speaking all FLAC streams should have at least stream info
    block, but ignoring that does no harm.
---
 emms-info-flac.el | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/emms-info-flac.el b/emms-info-flac.el
index d33636b296..b34c902038 100644
--- a/emms-info-flac.el
+++ b/emms-info-flac.el
@@ -117,19 +117,25 @@ See `emms-info-vorbis-extract-comments' for details."
           (emms-info-flac--decode-meta-blocks
            (emms-info-flac--file-inserter filename)))
          (comment-block
-          (bindat-unpack emms-info-flac--comment-block-bindat-spec
-                         (car blocks)))
+          (and (car blocks)
+               (bindat-unpack emms-info-flac--comment-block-bindat-spec
+                              (car blocks))))
          (stream-info-block
-          (bindat-unpack emms-info-flac--stream-info-block-bindat-spec
-                         (cadr blocks)))
+          (and (cadr blocks)
+               (bindat-unpack emms-info-flac--stream-info-block-bindat-spec
+                              (cadr blocks))))
          (user-comments
-          (bindat-get-field comment-block 'user-comments))
+          (and comment-block
+               (bindat-get-field comment-block 'user-comments)))
          (comments
-          (emms-info-vorbis-extract-comments user-comments))
+          (and user-comments
+               (emms-info-vorbis-extract-comments user-comments)))
          (playing-time
-          (emms-info-flac--decode-duration
-           (emms-be-to-int
-            (bindat-get-field stream-info-block 'sample-metadata)))))
+          (and stream-info-block
+               (emms-info-flac--decode-duration
+                (emms-be-to-int
+                 (bindat-get-field stream-info-block
+                                   'sample-metadata))))))
     (nconc comments
            (when playing-time
              (list (cons "playing-time" playing-time))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]