From 5aba1efc95fac3df947baae2f5bd4e1a7593535a Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dsmyda" Date: Fri, 20 Dec 2019 12:17:37 -0500 Subject: [PATCH] Moved Gst init, which serves as a bandaid fix until the root cause is understood --- .../autopsy/contentviewers/MediaPlayerPanel.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/MediaPlayerPanel.java b/Core/src/org/sleuthkit/autopsy/contentviewers/MediaPlayerPanel.java index 84f7da6c36..ccc4941e55 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/MediaPlayerPanel.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/MediaPlayerPanel.java @@ -72,6 +72,7 @@ import org.freedesktop.gstreamer.Format; import org.freedesktop.gstreamer.GstException; import org.freedesktop.gstreamer.event.SeekFlags; import org.freedesktop.gstreamer.event.SeekType; +import org.sleuthkit.autopsy.coreutils.PlatformUtil; /** * This is a video player that is part of the Media View layered pane. It uses @@ -216,6 +217,14 @@ public class MediaPlayerPanel extends JPanel implements MediaFileViewer.MediaVie //True for fairness. In other words, //acquire() calls are processed in order of invocation. sliderLock = new Semaphore(1, true); + + /** + * See JIRA-5888 for details. Initializing gstreamer here is more stable + * on Windows. + */ + if(PlatformUtil.isWindowsOS()) { + Gst.init(); + } } private void customizeComponents() { @@ -504,8 +513,10 @@ public class MediaPlayerPanel extends JPanel implements MediaFileViewer.MediaVie // Initialize Gstreamer. It is safe to call this for every file. // It was moved here from the constructor because having it happen - // earlier resulted in conflicts on Linux. - Gst.init(); + // earlier resulted in conflicts on Linux. See JIRA-5888. + if(!PlatformUtil.isWindowsOS()) { + Gst.init(); + } //Video is ready for playback. Create new components gstPlayBin = new PlayBin("VideoPlayer", tempFile.toURI());