Autopsy  4.19.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel Class Reference

Inherits JPanel, and org.sleuthkit.autopsy.contentviewers.MediaFileViewer.MediaViewPanel.

Classes

class  CircularJSliderUI
 
class  ExtractMedia
 
class  VideoPanelUpdater
 

Public Member Functions

 MediaPlayerPanel () throws GstException, UnsatisfiedLinkError
 
List< String > getSupportedExtensions ()
 
List< String > getSupportedMimeTypes ()
 
boolean isSupported (AbstractFile file)
 

Private Member Functions

void customizeComponents ()
 
void enableComponents (boolean isEnabled)
 
void fastForwardButtonActionPerformed (java.awt.event.ActionEvent evt)
 
String formatTime (long ns)
 
double getPlayBackRate ()
 
void initComponents ()
 
void playBackSpeedComboBoxActionPerformed (java.awt.event.ActionEvent evt)
 
void playButtonActionPerformed (java.awt.event.ActionEvent evt)
 
void rewindButtonActionPerformed (java.awt.event.ActionEvent evt)
 
void updateTimeLabel (long start, long total)
 

Private Attributes

javax.swing.JSlider audioSlider
 
javax.swing.JPanel buttonPanel
 
javax.swing.JPanel controlPanel
 
Bus.EOS endOfStreamListener
 
Bus.ERROR errorListener
 
ExtractMedia extractMediaWorker
 
javax.swing.JButton fastForwardButton
 
JavaFxAppSink fxAppSink
 
volatile PlayBin gstPlayBin
 
javax.swing.JLabel infoLabel
 
final ImageIcon pauseIcon = new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/contentviewers/images/Pause-01.png"))
 
javax.swing.JPanel playBackPanel
 
javax.swing.JComboBox< String > playBackSpeedComboBox
 
javax.swing.JLabel playBackSpeedLabel
 
javax.swing.JButton playButton
 
final ImageIcon playIcon = new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/contentviewers/images/Play-arrow-01.png"))
 
javax.swing.JLabel progressLabel
 
javax.swing.JSlider progressSlider
 
javax.swing.JButton rewindButton
 
final Semaphore sliderLock
 
Bus.STATE_CHANGED stateChangeListener
 
final Timer timer = new Timer(16, new VideoPanelUpdater())
 
javax.swing.JPanel videoPanel
 
javax.swing.JLabel VolumeIcon
 

Static Private Attributes

static final String[] FILE_EXTENSIONS
 
static volatile boolean IS_GST_ENABLED = true
 
static final Logger logger = Logger.getLogger(MediaPlayerPanel.class.getName())
 
static final String MEDIA_PLAYER_ERROR_STRING
 
static final List< String > MIME_TYPES
 
static final int PROGRESS_SLIDER_SIZE = 2000
 
static final int SKIP_IN_SECONDS = 30
 

Detailed Description

This is a video player that is part of the Media View layered pane. It uses GStreamer to process the video and JavaFX to display it.

Definition at line 86 of file MediaPlayerPanel.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.MediaPlayerPanel ( ) throws GstException, UnsatisfiedLinkError

Creates a new MediaPlayerPanel

Definition at line 223 of file MediaPlayerPanel.java.

Member Function Documentation

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.customizeComponents ( )
private

Keep the video from automatically playing

Definition at line 231 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.enableComponents ( boolean  isEnabled)
private

Definition at line 405 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.fastForwardButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 1034 of file MediaPlayerPanel.java.

String org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.formatTime ( long  ns)
private

Convert nanoseconds into an HH:MM:SS format.

Definition at line 494 of file MediaPlayerPanel.java.

double org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.getPlayBackRate ( )
private

Reads the current selected playback rate from the speed combo box.

Returns
The selected rate.

Definition at line 481 of file MediaPlayerPanel.java.

List<String> org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.getSupportedExtensions ( )

returns supported extensions (each starting with .)

Returns

Implements org.sleuthkit.autopsy.contentviewers.MediaFileViewer.MediaViewPanel.

Definition at line 416 of file MediaPlayerPanel.java.

List<String> org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.getSupportedMimeTypes ( )
Returns
supported mime types

Implements org.sleuthkit.autopsy.contentviewers.MediaFileViewer.MediaViewPanel.

Definition at line 421 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.initComponents ( )
private

This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

Definition at line 800 of file MediaPlayerPanel.java.

boolean org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.isSupported ( AbstractFile  file)

Although it seems too restrictive, requiring both a supported extension and a supported MIME type prevents two undesirable behaviors:

1) Until AUT-1766 and AUT-1801 are fixed, we incorrectly identify all iff files as audio/aiff. This means that if this panel went with the looser 'mime type OR extension' criteria we use for images, then this panel would attempt (and fail) to display all iff files, even non audio ones.

2) The looser criteria means we are less confident about the files we are potentialy sending to GStreamer on 32bit jvms. We are less comfortable with the error handling for GStreamer, and don't want to send it files which might cause it trouble.

Implements org.sleuthkit.autopsy.contentviewers.MediaFileViewer.MediaViewPanel.

Definition at line 426 of file MediaPlayerPanel.java.

References org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector.getMIMEType().

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playBackSpeedComboBoxActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 1094 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 1070 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.rewindButtonActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 1012 of file MediaPlayerPanel.java.

void org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.updateTimeLabel ( long  start,
long  total 
)
private

Formats current time and total time as the following ratio: HH:MM:SS / HH:MM:SS

Parameters
start
total

Definition at line 472 of file MediaPlayerPanel.java.

Member Data Documentation

javax.swing.JSlider org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.audioSlider
private

Definition at line 1114 of file MediaPlayerPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.buttonPanel
private

Definition at line 1115 of file MediaPlayerPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.controlPanel
private

Definition at line 1116 of file MediaPlayerPanel.java.

Bus.EOS org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.endOfStreamListener
private

Definition at line 200 of file MediaPlayerPanel.java.

Bus.ERROR org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.errorListener
private

Definition at line 198 of file MediaPlayerPanel.java.

ExtractMedia org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.extractMediaWorker
private

Definition at line 211 of file MediaPlayerPanel.java.

javax.swing.JButton org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.fastForwardButton
private

Definition at line 1117 of file MediaPlayerPanel.java.

final String [] org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.FILE_EXTENSIONS
staticprivate
Initial value:
= new String[]{
".3g2",
".3gp",
".3gpp",
".aac",
".aif",
".aiff",
".amr",
".asf",
".au",
".avi",
".flac",
".flv",
".m4a",
".m4v",
".mka",
".mkv",
".mov",
".mp2",
".mp3",
".mp4",
".mpeg",
".mpg",
".mxf",
".ogg",
".wav",
".webm",
".wma",
".wmv"}

Definition at line 89 of file MediaPlayerPanel.java.

JavaFxAppSink org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.fxAppSink
private

Definition at line 197 of file MediaPlayerPanel.java.

volatile PlayBin org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.gstPlayBin
private

Definition at line 196 of file MediaPlayerPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.infoLabel
private

Definition at line 1118 of file MediaPlayerPanel.java.

volatile boolean org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.IS_GST_ENABLED = true
staticprivate

Definition at line 218 of file MediaPlayerPanel.java.

final Logger org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.logger = Logger.getLogger(MediaPlayerPanel.class.getName())
staticprivate

Definition at line 191 of file MediaPlayerPanel.java.

final String org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.MEDIA_PLAYER_ERROR_STRING
staticprivate
Initial value:
= NbBundle.getMessage(MediaPlayerPanel.class,
"GstVideoPanel.cannotProcFile.err")

Definition at line 192 of file MediaPlayerPanel.java.

final List<String> org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.MIME_TYPES
staticprivate

Definition at line 118 of file MediaPlayerPanel.java.

final ImageIcon org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.pauseIcon = new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/contentviewers/images/Pause-01.png"))
private

Definition at line 209 of file MediaPlayerPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playBackPanel
private

Definition at line 1119 of file MediaPlayerPanel.java.

javax.swing.JComboBox<String> org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playBackSpeedComboBox
private

Definition at line 1120 of file MediaPlayerPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playBackSpeedLabel
private

Definition at line 1121 of file MediaPlayerPanel.java.

javax.swing.JButton org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playButton
private

Definition at line 1122 of file MediaPlayerPanel.java.

final ImageIcon org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.playIcon = new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/contentviewers/images/Play-arrow-01.png"))
private

Definition at line 208 of file MediaPlayerPanel.java.

final int org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.PROGRESS_SLIDER_SIZE = 2000
staticprivate

Definition at line 205 of file MediaPlayerPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.progressLabel
private

Definition at line 1123 of file MediaPlayerPanel.java.

javax.swing.JSlider org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.progressSlider
private

Definition at line 1124 of file MediaPlayerPanel.java.

javax.swing.JButton org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.rewindButton
private

Definition at line 1125 of file MediaPlayerPanel.java.

final int org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.SKIP_IN_SECONDS = 30
staticprivate

Definition at line 206 of file MediaPlayerPanel.java.

final Semaphore org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.sliderLock
private

Definition at line 216 of file MediaPlayerPanel.java.

Bus.STATE_CHANGED org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.stateChangeListener
private

Definition at line 199 of file MediaPlayerPanel.java.

final Timer org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.timer = new Timer(16, new VideoPanelUpdater())
private

Definition at line 204 of file MediaPlayerPanel.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.videoPanel
private

Definition at line 1126 of file MediaPlayerPanel.java.

javax.swing.JLabel org.sleuthkit.autopsy.contentviewers.MediaPlayerPanel.VolumeIcon
private

Definition at line 1113 of file MediaPlayerPanel.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2021 Basis Technology. Generated on: Fri Aug 6 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.