예제 #1
0
  /**
   * Used to update audio component.
   *
   * @param info the video information.
   */
  protected void updateLanguage(VideoInfo info) {

    List<AudioStream> audioStreams = info.getAudioStreams();
    AudioStream audioSelection = findAudioSelection(audioStreams, getInputVideo().getAudioTrack());

    if (audioSelection != null) {
      updateViewer(languageCombo, audioStreams, audioSelection, false, false);
    } else {
      updateViewer(languageCombo, audioStreams, disableElement, false, true);
    }
  }
예제 #2
0
  /**
   * Used to update description component.
   *
   * @param info the video information.
   */
  protected void updateDescription(VideoInfo info) {
    String description;
    // Video description
    description = VideoInfoFormater.formatVideoInfo(info);
    videoDescription.setText(description);

    // Audio description
    List<AudioStream> audioStreams = info.getAudioStreams();
    AudioStream audioSelection = findAudioSelection(audioStreams, getInputVideo().getAudioTrack());
    if (audioSelection != null) {
      description = VideoInfoFormater.formatAudioStream(audioSelection);
    } else {
      description = ""; // $NON-NLS-1$
    }
    audioDescription.setText(description);
  }
예제 #3
0
  /** This implementation update all input video fields. */
  protected void videoHasChanged() {

    super.videoHasChanged();

    // Check if the input video has changed
    if (lastInputVideo != getInputVideo()) {

      lastInputVideo = getInputVideo();

      // Update the file name
      inputFileName.setText(getInputVideo().getFile().getAbsolutePath());

      // Check if viewsite are available
      if (getViewSite() == null) {
        return;
      }

      VideoInfo info;
      try {

        MPlayerWrapper mplayer = getViewSite().getMplayer();
        if (mplayer == null) {
          ErrorMessage.showLocalizedError(getShell(), Localization.MPLAYER_NOT_FOUND);
          return;
        }

        info = mplayer.getVideoInfo(getInputVideo());

      } catch (MPlayerException e) {
        e.printStackTrace();
        ErrorMessage.showMPlayerException(
            getShell(), e, Localization.INPUTOUTPUT_RETRIEVE_INFO_FAILED);
        return;
      }

      // CheckAudio selection
      List<AudioStream> audioStreams = info.getAudioStreams();
      AudioStream audioSelection =
          findAudioSelection(audioStreams, getInputVideo().getAudioTrack());

      if (audioSelection == null && audioStreams.size() > 0) {
        audioSelection = audioStreams.get(0);

        try {
          InputVideoFile inputVideo =
              new InputVideoFile(
                  getInputVideo().getFile(),
                  audioSelection.getAudioID(),
                  getInputVideo().getSubtitleTrack());

          if (audioStreams.size() == 1) {
            lastInputVideo = inputVideo;
            getVideo().setInputVideo(inputVideo);
          } else {
            getVideo().setInputVideo(inputVideo);
            return;
          }
        } catch (FileNotFoundException e) {
          ErrorMessage.showLocalizedError(getShell(), Localization.INPUTOUTPUT_FILE_NO_MORE_EXIST);
        }
      }

      // Update audio component.
      updateLanguage(info);

      // Update subtitle component
      updateSubtitle(info);

      // Update description
      updateDescription(info);
    }
  }