Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8094633

[Linux] JavaFX Media does not run on Ubuntu 14.04

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 8u5
    • Fix Version/s: 8u40
    • Component/s: javafx

      Description

      On Linux, JDK 8 includes a native JavaFX media library, libjfxmedia.so, that is built with libav-53 -- that is, the libavcodec53 and libavformat53 packages -- so this package is required to run JavaFX media applications. See http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html

      Newer distributions of Linux, such as Ubuntu 14.04 and Debian Jessie, include libav-54. There are incompatible changes in libav-54 such that JavaFX media fails to run with that version of the library.

      RT-35770 is a request to include support for running on libav-54 and libav-55 as well as libav-53. At a minimum we must add libav-54 support (while maintaining libav-53 support) in order to for FX 8 to be supported on Ubuntu 14.04.

        Issue Links

          Activity

          Hide
          stayer Kirill Kirichenko (Inactive) added a comment -
          Please review the following: http://cr.openjdk.java.net/~stayer/RT-37914/webrev.00/
          Reviewers: kcr, amatvee
          Show
          stayer Kirill Kirichenko (Inactive) added a comment - Please review the following: http://cr.openjdk.java.net/~stayer/RT-37914/webrev.00/ Reviewers: kcr, amatvee
          Hide
          almatvee Alexander Matveev added a comment -
          Approved.
          Show
          almatvee Alexander Matveev added a comment - Approved.
          Hide
          kcr Kevin Rushforth added a comment -
          One minor comment about the build.gradle changes as it affects an openjfx build (e.g., not a closed build).

          In the following:


                                       args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
          - "BASE_NAME=avplugin", "LIBAV_DIR=${project.ext.LIBAV}")
          + "BASE_NAME=avplugin")

          This changes existing behavior in that formerly, LIBAV_DIR would be set to the empty string whereas in your patch it is not set. Unless you are certain that they are equivalent (have you tested an open build?), a safer change might be:

                                       args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
          - "BASE_NAME=avplugin", "LIBAV_DIR=${project.ext.LIBAV}")
          + "BASE_NAME=avplugin", "LIBAV_DIR=")


          Either way is fine with me as long as you have thought about it.

          +1
          Show
          kcr Kevin Rushforth added a comment - One minor comment about the build.gradle changes as it affects an openjfx build (e.g., not a closed build). In the following:                              args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", - "BASE_NAME=avplugin", "LIBAV_DIR=${project.ext.LIBAV}") + "BASE_NAME=avplugin") This changes existing behavior in that formerly, LIBAV_DIR would be set to the empty string whereas in your patch it is not set. Unless you are certain that they are equivalent (have you tested an open build?), a safer change might be:                              args("CC=${mediaProperties.compiler}", "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", - "BASE_NAME=avplugin", "LIBAV_DIR=${project.ext.LIBAV}") + "BASE_NAME=avplugin", "LIBAV_DIR=") Either way is fine with me as long as you have thought about it. +1
          Hide
          stayer Kirill Kirichenko (Inactive) added a comment -
          I have tested the open build by deleting rt-closed dir. Actually this is checked for absence/emptiness in the makefile for the library. So it's all ok.
          Show
          stayer Kirill Kirichenko (Inactive) added a comment - I have tested the open build by deleting rt-closed dir. Actually this is checked for absence/emptiness in the makefile for the library. So it's all ok.
          Show
          stayer Kirill Kirichenko (Inactive) added a comment - http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/df28c1bdf2e1

            People

            • Assignee:
              stayer Kirill Kirichenko (Inactive)
              Reporter:
              kcr Kevin Rushforth
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported: