Skip to content

Commit 26d8c64

Browse files
committed
Merge commit '0540b1c1c53f9813f99233208c5ccccd87004f98'
2 parents 34effe6 + 0540b1c commit 26d8c64

File tree

16 files changed

+167
-43
lines changed

16 files changed

+167
-43
lines changed

ChangeLog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2022-03-03: Version 1.3.1
2+
- Add support for Java 13 ... 16.
3+
- Improve JVM probing in Windows.
4+
- Fix playback issues with some discs when using recent libbdplus.
5+
- Fix loading dlopen'd libraries on OpenBSD.
6+
17
2021-04-05: Version 1.3.0
28
- Add bd_event_name().
39
- Add return value to bd_refcnt_inc().

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ EXTRA_DIST = \
1212
COPYING \
1313
doc \
1414
player_wrappers \
15-
README.txt \
15+
README.md \
1616
src/libbluray/bdj/build.xml \
1717
src/libbluray/bdj/java \
1818
src/libbluray/bdj/java-build-support \

README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Libbluray
2+
**Libbluray** is an open-source **lib**rary designed for **Blu-Ray** Discs playback for media players, like **VLC** or **MPlayer**.
3+
4+
5+
6+
## Goals and features
7+
8+
This research project is developed by an **international team** of developers from **Doom9**.
9+
10+
The library integrates navigation, playlist parsing, menus and BD-J.
11+
12+
Most commercial Blu-Ray are protected by **AACS** or **BD+** technologies and this library is not enough to playback those discs.
13+
14+
People interested in AACS technologies should have a look at [libaacs](https://code.videolan.org/videolan/libaacs).
15+
16+
People interested in BD+ technologies should have a look at [libbdplus](https://code.videolan.org/videolan/libbdplus).
17+
18+
## Licence
19+
20+
**Libbluray** is released under a Free Software license, LGPL, ensuring it will stay free.
21+
A copy of LGPL is available [here](https://code.videolan.org/videolan/libbluray/-/blob/master/COPYING)
22+
23+
## CoC
24+
25+
The [VideoLAN Code of Conduct](https://wiki.videolan.org/CoC) applies to this project.
26+
27+
## Disclaimer
28+
29+
This library is written for the purpose of playing Blu-ray movies. It is
30+
intended for software that want to support Blu-ray playback (such as VLC and
31+
MPlayer). We, the authors of this library, do not condone nor endorse piracy.
32+
33+
This library is simply a tool for playback of Blu-ray movies. Like any tool, the
34+
use of this tool can also be abused. There are already numerous laws in
35+
different countries and juridictions all over the world that protect copyrighted
36+
material, such as Blu-ray movies. With that said, it would have been
37+
inappropriate for us to distribute this library with terms such as "you cannot
38+
use this library for piracy". Instead, we present to everyone this disclaimer.
39+
40+
As a reminder, here is also the disclaimer found at the beginning of any movie
41+
in relation to copyrights.
42+
43+
## ATTENTION
44+
45+
International agreement and national laws protect copyrighted motion pictures,
46+
videotapes, and sound recordings.
47+
48+
UNAUTHORIZED REPRODUCTION, EXHIBITION OR DISTRIBUTION OF COPYRIGHTED MOTION
49+
PICTURES CAN RESULT IN SEVERE CRIMINAL AND CIVIL PENALTIES UNDER THE LAWS OF
50+
YOUR COUNTRY.
51+
52+
53+
The International Criminal Police Organization - INTERPOL, has expressed its
54+
concern about motion picture and sound recording piracy to all of its member
55+
national police forces. (Resolution adopted at INTERPOL General Assembly,
56+
Stockholm, Sweden, September 8, 1977.)
57+
58+
59+
## Mailing list
60+
61+
You can discuss about libbluray on the [libbluray-devel mailing list](https://mailman.videolan.org/listinfo/libbluray-devel).
62+
63+
## Documentation and support
64+
65+
For support or more informations, look [here](https://www.videolan.org/developers/libbluray.html)
66+
67+
All documentation about libbluray is available [here](https://videolan.videolan.me/libbluray/)

README.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
dnl library version number
22
m4_define([bluray_major], 1)
33
m4_define([bluray_minor], 3)
4-
m4_define([bluray_micro], 0)
4+
m4_define([bluray_micro], 1)
55
m4_define([bluray_version],[bluray_major.bluray_minor.bluray_micro])
66

77
dnl shared library version (.so version)
@@ -13,7 +13,7 @@ dnl
1313
dnl Library file name will be libbluray.so.(current-age).age.revision
1414
dnl
1515
m4_define([lt_current], 6)
16-
m4_define([lt_revision], 0)
16+
m4_define([lt_revision], 1)
1717
m4_define([lt_age], 4)
1818

1919
dnl initilization

src/devtools/bdj_test.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,15 @@ int main(int argc, char** argv)
9191
return -1;
9292
}
9393

94+
/* Check for special titles */
95+
96+
if (!di->first_play_supported) {
97+
printf("FirstPlay title not supported\n");
98+
}
99+
if (!di->top_menu_supported) {
100+
printf("TopMenu title not supported\n");
101+
}
102+
94103
bd_get_titles(bd, TITLES_ALL, 0);
95104

96105
if (!bd_start_bdj(bd, argv[2])) {

src/file/dl_posix.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,15 @@ void *dl_dlopen(const char *path, const char *version)
8585
#endif
8686

8787
for (i = 0 ; search_paths[i] ; ++i) {
88+
#ifdef __OpenBSD__
89+
name = str_printf("%s%s%s", search_paths[i], path, ext);
90+
#else
8891
if (version) {
8992
name = str_printf("%s%s%s.%s", search_paths[i], path, ext, version);
9093
} else {
9194
name = str_printf("%s%s%s", search_paths[i], path, ext);
9295
}
96+
#endif
9397

9498
if (!name) {
9599
BD_DEBUG(DBG_FILE | DBG_CRIT, "out of memory\n");

src/libbluray/bdj/bdj.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ static void *_load_jvm_win32(const char **p_java_home)
138138
wcscpy(buf_loc, L"SOFTWARE\\JavaSoft\\JRE\\");
139139
r = RegOpenKeyExW(HKEY_LOCAL_MACHINE, buf_loc, 0, KEY_READ, &hkey);
140140
}
141+
if (r != ERROR_SUCCESS) {
142+
wcscpy(buf_loc, L"SOFTWARE\\JavaSoft\\JDK\\");
143+
r = RegOpenKeyExW(HKEY_LOCAL_MACHINE, buf_loc, 0, KEY_READ, &hkey);
144+
}
141145
# endif
142146
if (r != ERROR_SUCCESS) {
143147
BD_DEBUG(DBG_BDJ | DBG_CRIT, "Error opening registry key SOFTWARE\\JavaSoft\\Java Runtime Environment\\\n");
@@ -417,11 +421,10 @@ static void *_load_jvm(const char **p_java_home, const char *app_java_home)
417421
"/usr/lib/jvm/default",
418422
"/usr/lib/jvm/",
419423
"/etc/java-config-2/current-system-vm",
420-
"/usr/lib/jvm/java-7-openjdk",
421-
"/usr/lib/jvm/java-7-openjdk-" JAVA_ARCH,
422424
"/usr/lib/jvm/java-8-openjdk",
423425
"/usr/lib/jvm/java-8-openjdk-" JAVA_ARCH,
424-
"/usr/lib/jvm/java-6-openjdk",
426+
"/usr/lib/jvm/java-11-openjdk",
427+
"/usr/lib/jvm/java-11-openjdk-" JAVA_ARCH,
425428
# endif
426429
};
427430
static const char * const jvm_dir[] = {"jre/lib/" JAVA_ARCH "/server",
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
* This file is part of libbluray
3+
* Copyright (C) 2021 VideoLAN
4+
*
5+
* This library is free software; you can redistribute it and/or
6+
* modify it under the terms of the GNU Lesser General Public
7+
* License as published by the Free Software Foundation; either
8+
* version 2.1 of the License, or (at your option) any later version.
9+
*
10+
* This library is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
* Lesser General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Lesser General Public
16+
* License along with this library. If not, see
17+
* <http://www.gnu.org/licenses/>.
18+
*/
19+
20+
package sun.awt;
21+
22+
/* This class replaces java.awt.graphicsenv property in Java 13+ */
23+
24+
import java.awt.GraphicsEnvironment;
25+
import java.awt.Toolkit;
26+
27+
public class PlatformGraphicsInfo {
28+
29+
public static GraphicsEnvironment createGE() {
30+
return new java.awt.BDGraphicsEnvironment();
31+
}
32+
33+
public static Toolkit createToolkit() {
34+
return new java.awt.BDToolkit();
35+
}
36+
37+
public static boolean getDefaultHeadlessProperty() {
38+
return false;
39+
}
40+
41+
public static String getDefaultHeadlessMessage() {
42+
org.videolan.Logger.getLogger(PlatformGraphicsInfo.class.getName())
43+
.error("Headless graphics environment ?\n" + org.videolan.Logger.dumpStack());
44+
return "Internal error: headless graphics environment ?";
45+
}
46+
}

src/libbluray/bdj/java/java/awt/BDGraphicsEnvironment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import org.videolan.Logger;
2626

27-
class BDGraphicsEnvironment extends GraphicsEnvironment {
27+
public class BDGraphicsEnvironment extends GraphicsEnvironment {
2828
private BDGraphicsDevice graphicsDevice;
2929

3030
public BDGraphicsEnvironment() {

0 commit comments

Comments
 (0)