JDK-8092139 : Add MKV container support to media classes
Type:Enhancement
Component:javafx
Sub-Component:media
Affected Version:8u20
Priority:P4
Status:Closed
Resolution:Duplicate
Submitted:2014-03-26
Updated:2018-09-06
Resolved:2017-04-06
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
MKV is an open container format with a stable gstreamer plugin, so shouldn't be too much effort from a technical or legal sense to include in JavaFX.
Comments
Closing as a duplicate of JDK-8091656 to reduce RFE load, this will need to be re-evaluated
06-04-2017
Hi All,
Adding more media codecs support to FX will be a great feature i hope the team has the time to look into it
29-06-2014
I've produced a blog post on the topic here: http://berry120.blogspot.co.uk/2014/03/expanding-javafxs-media-support.html
Anyone is welcome to take what they feel is relevant from that post and publish it on the wiki.
27-03-2014
Sure, I'm writing a blog post at the moment (that I'll convert to a wiki page) that describes the process in more detail, but for adding the above patch it should be a case of:
- Clone the dev repo - "hg clone http://hg.openjdk.java.net/openjfx/8u-dev/master/"
- If running Windows, install samples from the Windows SDK (http://www.microsoft.com/en-gb/download/details.aspx?id=8279)
- Follow the instructions here (https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX) to build, making sure all the prerequisites are installed
- In the root of the repo, copy gradle.properties.template to gradle.properties, then uncomment the line (delete the first hash) that says "#COMPILE_MEDIA = true"
- Run "gradle sdk" to make sure it builds without applying the patch first
- Apply the patch to the repo - "hg import mkv support.patch"
- Run "gradle clean" to be sure things rebuild properly, then "gradle sdk" again
- Copy the built dll files and jfxrt.jar back to the Java runtime, and the standard media classes should now recognise and play files in the MKV container format.
I've also signed and emailed off the OCA - completely unsure of the process behind getting legal permission to use the gstreamer plugin code, but happy to move forward when I know what I have to do!
27-03-2014
media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-good/gst/matroska/Makefile.am and modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-good/gst/matroska/Makefile.in are not needed. You did all necessary changes in modules/media/src/main/native/gstreamer/projects/win/gstreamer-lite/Makefile.gstplugins
Other than that it looks fine.
27-03-2014
I looked at the patch, and more important than the OCA is the fact that this is largely third-party code which needs Oracle legal approval before the source code can be pushed to the OpenJFX repo. Kirill should be familiar with the process, but I can help as well.
Michael: For the short term, can you provide instructions that developers can use to take your patch and apply it to their local repo and build it? We can add that to the Wiki, too.
27-03-2014
Attaching Michael's patch on his behalf, but that is the extent of my planned contribution here - I am not involved in media support at all.
26-03-2014
OK. As a reminder (both to you and Jonathan) you need to be a signatory of the Oracle Contributor Agreement before we can evaluate your patch.
See: http://openjdk.java.net/contribute/
Thank you for contributing to OpenJFX.
26-03-2014
I've sent the relevant patch to Jonathan who said he'll attach it here - I'm also working on wiki instructions of how to do something similar if anyone wants to enable plugins for any further formats.
26-03-2014
Target for 8u40, since feature freeze for 8u20 is upon us, but perhaps it could be prototyped in 8u20. If you send a patch we can attach it to the JIRA. Or if you have Wiki instructions we can post it on OpenJFX Wiki.