@@ -2,59 +2,88 @@ GStreamer 1.x Java Core (gst1-java-core)
2
2
========================================
3
3
4
4
This is a set of Java bindings for [ GStreamer 1.x] [ gstreamer ] , an open-source
5
- multimedia framework. The bindings are a fork of the original [ GStreamer-Java] [ gstreamer-java ]
6
- bindings for GStreamer 0.10.
5
+ multimedia framework.
7
6
8
7
## Status and support
9
8
10
- Releases are available via Maven Central (under the ` org.freedesktop.gstreamer ` group ID),
11
- or can be downloaded from the GitHub [ release page] [ gst1-releases ] .
9
+ Releases are available via Maven Central (under the ` org.freedesktop.gstreamer `
10
+ group ID), or can be downloaded from the GitHub [ release page] [ gst1-releases ] .
12
11
13
- The bindings are currently at version 0.9.x as we progress to a 1.0 release. However,
14
- they are actively in use in a number of open-source and commercial projects, and
15
- should generally be considered stable (they are * more* stable than the 0.10 bindings).
16
- The version number reflects the fact that some work remains to be done to complete the
17
- fork from the 0.10 bindings, which might result in minimal breaking changes.
12
+ The bindings are actively in use in a variety of commercial and open-source projects
13
+ and are functionally stable. Having now reached v1 they should also be considered
14
+ API stable. This does not apply to the lowlevel package which is _ effectively_ non-public
15
+ and subject to change at any time.
18
16
19
- The current lead maintainer of the bindings is Neil C Smith on behalf of the [ Praxis LIVE] [ praxislive ]
20
- project. The original 0.10 project was started by Wayne Meissner, and numerous other
21
- people have made valuable contributions to the original project and the 1.x fork over the years.
17
+ The current lead maintainer of the bindings is Neil C Smith on behalf of the
18
+ [ PraxisLIVE / PraxisCORE] [ praxislive ] projects. The bindings are a fork of the
19
+ original [ GStreamer-Java] [ gstreamer-java ] bindings for GStreamer 0.10 started by
20
+ Wayne Meissner, and numerous other people have made valuable contributions to the
21
+ original project and the 1.x fork over the years.
22
22
23
- Initial help on getting started, and support for open-source projects, can be obtained from the
24
- [ GStreamer-Java Google Group] [ gstreamer-java-group ] .
23
+ Initial help on getting started, and support for open-source projects, can be obtained
24
+ from the [ GStreamer-Java Google Group] [ gstreamer-java-group ] .
25
25
26
- Commercial support is available, and sponsorship of features is welcome (it all
27
- helps us get to 1.0!) - please email
[email protected] for more information .
26
+ Commercial support is available, and sponsorship of features is welcome - please
27
+ email
[email protected] to discuss .
28
28
29
29
## Requirements
30
30
31
- The bindings have been tested on Linux, Windows and OSX. You will need to have GStreamer 1.x
32
- available in your path in order to use the bindings. Windows and OSX installers for GStreamer are
33
- available from the [ GStreamer project itself] [ gstreamer-download ] . Linux users should be
34
- able to get GStreamer from their distribution repository if it isn't already installed.
31
+ The bindings have been tested on Linux, Windows and OSX. Windows and OSX installers
32
+ for GStreamer are available from the [ GStreamer project itself] [ gstreamer-download ] .
33
+ Linux users should be able to get GStreamer from their distribution repository if it
34
+ isn't already installed.
35
+
36
+ You will need to have the GStreamer 1.x native library available in your system path
37
+ in order to use the bindings, and may also need to set up environment variables
38
+ depending on how GStreamer is installed. See [ how PraxisCORE handles this] [ praxiscore-gstreamer ] ,
39
+ including use of JNA Platform to set up the Windows ` PATH ` .
35
40
36
41
It is possible to ship GStreamer with your application should you not wish your users
37
- to have to install it separately.
42
+ to have to install it separately. There are various ways to achieve this - see the
43
+ [ upstream documentation] [ gstreamer-deploy ] . Advice is also available via the support
44
+ options above.
45
+
46
+ The minimum supported version of GStreamer is 1.8.x. If you require access to features
47
+ related to later GStreamer versions (eg. WebRTC support), make sure to request the
48
+ version you need when calling ` Gst.init(..) `
38
49
39
- The minimum supported version of GStreamer is 1.8.x .
50
+ You will also need the [ JNA (Java Native Access) ] [ jna ] library, minimum version 5.2.0 .
40
51
41
- You will also need the [ JNA ( Java Native Access) ] [ jna ] library, minimum version 4.4.0 .
52
+ The minimum required Java version is now Java 8 .
42
53
43
54
## Usage
44
55
45
56
See the examples repository for usage. More documentation will follow. Please use the
46
57
[ GStreamer-Java Google Group] [ gstreamer-java-group ] to discuss usage or ask questions.
47
58
59
+ Use the Javadoc! All classes are documented, and include links to the relevant
60
+ native documentation where appropriate.
61
+
48
62
Please note: this is not an easy-to-use multimedia framework for beginners. It currently
49
63
requires people to both know the Java language and be familiar with the GStreamer framework
50
64
(or be prepared to apply things from tutorials on GStreamer programming in other languages
51
- (e.g. python or C#) to the Java bindings).
65
+ to the Java bindings).
66
+
67
+ ## Contributions
68
+
69
+ Contributions to the library are welcomed, either to fix / enhance current features,
70
+ or bring in new ones. There is also ongoing work to rework the lowlevel bindings.
71
+
72
+ ** Before opening a Pull Request** please raise an issue or discuss your contribution on
73
+ the mailing list. New features must have tests, selectively applied if targeting
74
+ features in versions of GStreamer above 1.8. All Pull Requests will be automatically
75
+ tested via CI, and all tests must pass before merging will be considered.
76
+
77
+ If you are making a large contribution to benefit a commercial project, sponsorship
78
+ of integration and support time would be appreciated.
52
79
53
80
54
81
[ gstreamer ] : https://gstreamer.freedesktop.org/
55
82
[ gstreamer-download ] : https://gstreamer.freedesktop.org/download/
83
+ [ gstreamer-deploy ] : https://gstreamer.freedesktop.org/documentation/deploying/index.html
56
84
[ gstreamer-java ] : https://github.com/gstreamer-java/gstreamer-java
57
85
[ gst1-releases ] : https://github.com/gstreamer-java/gst1-java-core/releases
58
86
[ gstreamer-java-group ] : https://groups.google.com/forum/#!forum/gstreamer-java
59
87
[ jna ] : https://github.com/java-native-access/jna
60
- [ praxislive ] : http://www.praxislive.org
88
+ [ praxislive ] : https://www.praxislive.org
89
+ [ praxiscore-gstreamer ] : https://github.com/praxis-live/praxis/blob/master/praxis.video.gstreamer/src/org/praxislive/video/gstreamer/components/GStreamerLibrary.java#L45
0 commit comments