Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
9b77a171 by Felix Paul Kühne at 2021-06-16T05:40:08+00:00
macosx: expose live status and artwork to the OS

- - - - -


1 changed file:

- modules/gui/macosx/os-integration/VLCRemoteControlService.m


Changes:

=====================================
modules/gui/macosx/os-integration/VLCRemoteControlService.m
=====================================
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * VLCRemoteControlService.m: MacOS X interface module
  *****************************************************************************
- * Copyright (C) 2017-2019 VLC authors and VideoLAN
+ * Copyright (C) 2017-2021 VLC authors and VideoLAN
  *
  * Authors: Carola Nitz <nitz.carola # gmail.com>
  *          Felix Paul Kühne <fkuehne # videolan.org>
@@ -157,7 +157,22 @@ static inline NSArray * 
RemoteCommandCenterCommandsToHandle()
     currentlyPlayingTrackInfo[MPMediaItemPropertyArtist] = inputItem.artist;
     currentlyPlayingTrackInfo[MPMediaItemPropertyAlbumTitle] = 
inputItem.albumName;
     currentlyPlayingTrackInfo[MPMediaItemPropertyAlbumTrackNumber] = 
@([inputItem.trackNumber intValue]);
-    currentlyPlayingTrackInfo[MPMediaItemPropertyPlaybackDuration] = 
@(SEC_FROM_VLC_TICK(inputItem.duration));
+
+    vlc_tick_t duration = inputItem.duration;
+    currentlyPlayingTrackInfo[MPMediaItemPropertyPlaybackDuration] = 
@(SEC_FROM_VLC_TICK(duration));
+    currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyIsLiveStream] = 
@(duration <= 0);
+
+    NSURL *artworkURL = inputItem.artworkURL;
+    if (artworkURL) {
+        NSImage *coverArtImage = [[NSImage alloc] 
initWithContentsOfURL:artworkURL];
+        if (coverArtImage) {
+            MPMediaItemArtwork *mpartwork = [[MPMediaItemArtwork alloc] 
initWithBoundsSize:coverArtImage.size
+                                                                            
requestHandler:^NSImage* _Nonnull(CGSize size) {
+                return coverArtImage;
+            }];
+            currentlyPlayingTrackInfo[MPMediaItemPropertyArtwork] = mpartwork;
+        }
+    }
 
     [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = 
currentlyPlayingTrackInfo;
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/9b77a1719856c9da8c8c2db3b347e1026f957362

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/9b77a1719856c9da8c8c2db3b347e1026f957362
You're receiving this email because of your account on code.videolan.org.


_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to