Skip to content

Commit 0242d3d

Browse files
Update README for v1.
1 parent e641671 commit 0242d3d

File tree

1 file changed

+54
-25
lines changed

1 file changed

+54
-25
lines changed

README.md

+54-25
Original file line numberDiff line numberDiff line change
@@ -2,59 +2,88 @@ GStreamer 1.x Java Core (gst1-java-core)
22
========================================
33

44
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.
76

87
## Status and support
98

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].
1211

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.
1816

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.
2222

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].
2525

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.
2828

2929
## Requirements
3030

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`.
3540

3641
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(..)`
3849

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.
4051

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.
4253

4354
## Usage
4455

4556
See the examples repository for usage. More documentation will follow. Please use the
4657
[GStreamer-Java Google Group][gstreamer-java-group] to discuss usage or ask questions.
4758

59+
Use the Javadoc! All classes are documented, and include links to the relevant
60+
native documentation where appropriate.
61+
4862
Please note: this is not an easy-to-use multimedia framework for beginners. It currently
4963
requires people to both know the Java language and be familiar with the GStreamer framework
5064
(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.
5279

5380

5481
[gstreamer]: https://gstreamer.freedesktop.org/
5582
[gstreamer-download]: https://gstreamer.freedesktop.org/download/
83+
[gstreamer-deploy]: https://gstreamer.freedesktop.org/documentation/deploying/index.html
5684
[gstreamer-java]: https://github.com/gstreamer-java/gstreamer-java
5785
[gst1-releases]: https://github.com/gstreamer-java/gst1-java-core/releases
5886
[gstreamer-java-group]: https://groups.google.com/forum/#!forum/gstreamer-java
5987
[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

Comments
 (0)