vlc | branch: master | Felix Paul Kühne <[email protected]> | Sun Mar 10 19:54:04 2019 +0100| [61951b5c8467f7abdb0524d0549c9b35fe95a36b] | committer: Felix Paul Kühne
macosx/info panel: replace use of private API for statistics > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=61951b5c8467f7abdb0524d0549c9b35fe95a36b --- .../gui/macosx/coreinteraction/VLCInputManager.m | 4 --- .../macosx/panels/VLCInformationWindowController.h | 2 -- .../macosx/panels/VLCInformationWindowController.m | 42 ++++++++++++---------- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/modules/gui/macosx/coreinteraction/VLCInputManager.m b/modules/gui/macosx/coreinteraction/VLCInputManager.m index 8afa757964..7abe71ef9f 100644 --- a/modules/gui/macosx/coreinteraction/VLCInputManager.m +++ b/modules/gui/macosx/coreinteraction/VLCInputManager.m @@ -31,7 +31,6 @@ #import "os-integration/VLCRemoteControlService.h" #import "os-integration/iTunes.h" #import "os-integration/Spotify.h" -#import "panels/VLCInformationWindowController.h" #import "panels/VLCTrackSynchronizationWindowController.h" #import "panels/dialogs/VLCResumeDialogController.h" #import "windows/extensions/VLCExtensionsManager.h" @@ -83,9 +82,6 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, [inputManager performSelectorOnMainThread:@selector(updateMainWindow) withObject:nil waitUntilDone:NO]; break; case INPUT_EVENT_STATISTICS: - dispatch_async(dispatch_get_main_queue(), ^{ - [[[VLCMain sharedInstance] currentMediaInfoPanel] updateStatistics]; - }); break; case INPUT_EVENT_ES: break; diff --git a/modules/gui/macosx/panels/VLCInformationWindowController.h b/modules/gui/macosx/panels/VLCInformationWindowController.h index 1859eee02b..a87c992b4b 100644 --- a/modules/gui/macosx/panels/VLCInformationWindowController.h +++ b/modules/gui/macosx/panels/VLCInformationWindowController.h @@ -93,6 +93,4 @@ - (void)updatePanelWithItem:(input_item_t *)newInputItem; -- (void)updateStatistics; - @end diff --git a/modules/gui/macosx/panels/VLCInformationWindowController.m b/modules/gui/macosx/panels/VLCInformationWindowController.m index bd72d10039..72e6f7499e 100644 --- a/modules/gui/macosx/panels/VLCInformationWindowController.m +++ b/modules/gui/macosx/panels/VLCInformationWindowController.m @@ -26,6 +26,7 @@ #import "main/CompatibilityFixes.h" #import "main/VLCMain.h" #import "playlist/VLCPlaylistController.h" +#import "playlist/VLCPlayerController.h" #import <vlc_url.h> @@ -62,10 +63,15 @@ { self = [super initWithWindowNibName:@"MediaInfo"]; if (self) { - [[NSNotificationCenter defaultCenter] addObserver:self + NSNotificationCenter *defaultNotificationCenter = [NSNotificationCenter defaultCenter]; + [defaultNotificationCenter addObserver:self selector:@selector(currentPlaylistItemChanged:) name:VLCPlaylistCurrentItemChanged object:nil]; + [defaultNotificationCenter addObserver:self + selector:@selector(updateStatistics:) + name:VLCPlayerStatisticsUpdated + object:nil]; } return self; } @@ -265,43 +271,41 @@ FREENULL( psz_##foo ); /* reload the codec details table */ [self updateStreamsList]; - - /* update the stats once to display p_item change faster */ - [self updateStatistics]; } -- (void)updateStatistics +- (void)updateStatistics:(NSNotification *)aNotification { if (!self.isWindowLoaded || !b_stats) return; - if (!_mediaItem || !_mediaItem->p_stats) { - [self initMediaPanelStats]; + if (![self.window isVisible]) return; - } - if (![self.window isVisible]) + VLCInputStats *inputStats = aNotification.userInfo[VLCPlayerInputStats]; + if (!inputStats) { + [self initMediaPanelStats]; return; + } /* input */ [_readBytesTextField setStringValue: [NSString stringWithFormat: - @"%8.0f KiB", (float)(_mediaItem->p_stats->i_read_bytes)/1024]]; + @"%8.0f KiB", (float)(inputStats.inputReadBytes)/1024]]; [_inputBitrateTextField setStringValue: [NSString stringWithFormat: - @"%6.0f kb/s", (float)(_mediaItem->p_stats->f_input_bitrate)*8000]]; + @"%6.0f kb/s", (float)(inputStats.inputBitrate)*8000]]; [_demuxBytesTextField setStringValue: [NSString stringWithFormat: - @"%8.0f KiB", (float)(_mediaItem->p_stats->i_demux_read_bytes)/1024]]; + @"%8.0f KiB", (float)(inputStats.demuxReadBytes)/1024]]; [_demuxBitrateTextField setStringValue: [NSString stringWithFormat: - @"%6.0f kb/s", (float)(_mediaItem->p_stats->f_demux_bitrate)*8000]]; + @"%6.0f kb/s", (float)(inputStats.demuxBitrate)*8000]]; /* Video */ - [_videoDecodedTextField setIntegerValue: _mediaItem->p_stats->i_decoded_video]; - [_displayedTextField setIntegerValue: _mediaItem->p_stats->i_displayed_pictures]; - [_lostFramesTextField setIntegerValue: _mediaItem->p_stats->i_lost_pictures]; + [_videoDecodedTextField setIntegerValue: inputStats.decodedVideo]; + [_displayedTextField setIntegerValue: inputStats.displayedPictures]; + [_lostFramesTextField setIntegerValue: inputStats.lostPictures]; /* Audio */ - [_audioDecodedTextField setIntegerValue: _mediaItem->p_stats->i_decoded_audio]; - [_playedAudioBuffersTextField setIntegerValue: _mediaItem->p_stats->i_played_abuffers]; - [_lostAudioBuffersTextField setIntegerValue: _mediaItem->p_stats->i_lost_abuffers]; + [_audioDecodedTextField setIntegerValue: inputStats.decodedAudio]; + [_playedAudioBuffersTextField setIntegerValue: inputStats.playedAudioBuffers]; + [_lostAudioBuffersTextField setIntegerValue: inputStats.lostAudioBuffers]; } - (void)updateStreamsList _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
