vlc | branch: master | Francois Cartegnie <[email protected]> | Tue Nov 13 19:52:42 2018 +0100| [3117b4091438ec1ae5625dccda030cd048ce0873] | committer: Francois Cartegnie
contribs: bluray: fix stream selection without menus > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3117b4091438ec1ae5625dccda030cd048ce0873 --- ...h-menuless-user-selected-streams-between-.patch | 257 +++++++++++++++++++++ contrib/src/bluray/rules.mak | 1 + 2 files changed, 258 insertions(+) diff --git a/contrib/src/bluray/0001-keep-on-with-menuless-user-selected-streams-between-.patch b/contrib/src/bluray/0001-keep-on-with-menuless-user-selected-streams-between-.patch new file mode 100644 index 0000000000..85fbba320a --- /dev/null +++ b/contrib/src/bluray/0001-keep-on-with-menuless-user-selected-streams-between-.patch @@ -0,0 +1,257 @@ +From c95ae5538b5c9cb0d59db377a9f6658c0b80b4b0 Mon Sep 17 00:00:00 2001 +From: Francois Cartegnie <[email protected]> +Date: Tue, 13 Nov 2018 19:27:18 +0100 +Subject: [PATCH] keep on with menuless user selected streams between clips + +--- + libbluray.config | 2 + + libbluray.creator | 1 + + libbluray.files | 156 +++++++++++++++++++++++++++++++++++++++++ + libbluray.includes | 15 ++++ + src/libbluray/bluray.c | 20 +----- + 5 files changed, 176 insertions(+), 18 deletions(-) + create mode 100644 libbluray.config + create mode 100644 libbluray.creator + create mode 100644 libbluray.files + create mode 100644 libbluray.includes + +diff --git a/libbluray.config b/libbluray.config +new file mode 100644 +index 0000000..e0284f4 +--- /dev/null ++++ b/libbluray.config +@@ -0,0 +1,2 @@ ++// Add predefined macros for your project here. For example: ++// #define THE_ANSWER 42 +diff --git a/libbluray.creator b/libbluray.creator +new file mode 100644 +index 0000000..e94cbbd +--- /dev/null ++++ b/libbluray.creator +@@ -0,0 +1 @@ ++[General] +diff --git a/libbluray.files b/libbluray.files +new file mode 100644 +index 0000000..8a8ce0b +--- /dev/null ++++ b/libbluray.files +@@ -0,0 +1,156 @@ ++config.h ++jni/darwin/jni_md.h ++jni/jni.h ++jni/linux/jni_md.h ++jni/win32/jni_md.h ++player_wrappers/xine/input_bluray.c ++src/devtools/bdj_test.c ++src/devtools/bdjo_dump.c ++src/devtools/clpi_dump.c ++src/devtools/hdmv_test.c ++src/devtools/mobj_dump.c ++src/devtools/mpls_dump.c ++src/devtools/strings.h ++src/devtools/util.c ++src/devtools/util.h ++src/examples/bd_info.c ++src/examples/bdsplice.c ++src/examples/index_dump.c ++src/examples/libbluray_test.c ++src/examples/list_titles.c ++src/examples/sound_dump.c ++src/file/dir_posix.c ++src/file/dir_win32.c ++src/file/dirs.h ++src/file/dirs_darwin.c ++src/file/dirs_win32.c ++src/file/dirs_xdg.c ++src/file/dl.h ++src/file/dl_posix.c ++src/file/dl_win32.c ++src/file/file.c ++src/file/file.h ++src/file/file_posix.c ++src/file/file_win32.c ++src/file/filesystem.c ++src/file/filesystem.h ++src/file/mount.c ++src/file/mount.h ++src/file/mount_darwin.c ++src/libbluray/bdj/bdj.c ++src/libbluray/bdj/bdj.h ++src/libbluray/bdj/bdjo_data.h ++src/libbluray/bdj/bdjo_parse.c ++src/libbluray/bdj/bdjo_parse.h ++src/libbluray/bdj/native/bdjo.c ++src/libbluray/bdj/native/bdjo.h ++src/libbluray/bdj/native/java_awt_BDFontMetrics.c ++src/libbluray/bdj/native/java_awt_BDFontMetrics.h ++src/libbluray/bdj/native/java_awt_BDGraphics.c ++src/libbluray/bdj/native/java_awt_BDGraphics.h ++src/libbluray/bdj/native/org_videolan_Libbluray.c ++src/libbluray/bdj/native/org_videolan_Libbluray.h ++src/libbluray/bdj/native/org_videolan_Logger.c ++src/libbluray/bdj/native/org_videolan_Logger.h ++src/libbluray/bdj/native/register_native.c ++src/libbluray/bdj/native/register_native.h ++src/libbluray/bdj/native/util.c ++src/libbluray/bdj/native/util.h ++src/libbluray/bdnav/bdid_parse.c ++src/libbluray/bdnav/bdid_parse.h ++src/libbluray/bdnav/bdmv_parse.c ++src/libbluray/bdnav/bdmv_parse.h ++src/libbluray/bdnav/bdparse.h ++src/libbluray/bdnav/clpi_data.h ++src/libbluray/bdnav/clpi_parse.c ++src/libbluray/bdnav/clpi_parse.h ++src/libbluray/bdnav/extdata_parse.c ++src/libbluray/bdnav/extdata_parse.h ++src/libbluray/bdnav/index_parse.c ++src/libbluray/bdnav/index_parse.h ++src/libbluray/bdnav/meta_data.h ++src/libbluray/bdnav/meta_parse.c ++src/libbluray/bdnav/meta_parse.h ++src/libbluray/bdnav/mpls_data.h ++src/libbluray/bdnav/mpls_parse.c ++src/libbluray/bdnav/mpls_parse.h ++src/libbluray/bdnav/navigation.c ++src/libbluray/bdnav/navigation.h ++src/libbluray/bdnav/sound_parse.c ++src/libbluray/bdnav/sound_parse.h ++src/libbluray/bdnav/uo_mask.c ++src/libbluray/bdnav/uo_mask.h ++src/libbluray/bdnav/uo_mask_table.h ++src/libbluray/bluray-version.h ++src/libbluray/bluray.c ++src/libbluray/bluray.h ++src/libbluray/bluray_internal.h ++src/libbluray/decoders/graphics_controller.c ++src/libbluray/decoders/graphics_controller.h ++src/libbluray/decoders/graphics_processor.c ++src/libbluray/decoders/graphics_processor.h ++src/libbluray/decoders/hdmv_pids.h ++src/libbluray/decoders/ig.h ++src/libbluray/decoders/ig_decode.c ++src/libbluray/decoders/ig_decode.h ++src/libbluray/decoders/m2ts_demux.c ++src/libbluray/decoders/m2ts_demux.h ++src/libbluray/decoders/m2ts_filter.c ++src/libbluray/decoders/m2ts_filter.h ++src/libbluray/decoders/overlay.h ++src/libbluray/decoders/pes_buffer.c ++src/libbluray/decoders/pes_buffer.h ++src/libbluray/decoders/pg.h ++src/libbluray/decoders/pg_decode.c ++src/libbluray/decoders/pg_decode.h ++src/libbluray/decoders/rle.c ++src/libbluray/decoders/rle.h ++src/libbluray/decoders/textst.h ++src/libbluray/decoders/textst_decode.c ++src/libbluray/decoders/textst_decode.h ++src/libbluray/decoders/textst_render.c ++src/libbluray/decoders/textst_render.h ++src/libbluray/disc/aacs.c ++src/libbluray/disc/aacs.h ++src/libbluray/disc/bdplus.c ++src/libbluray/disc/bdplus.h ++src/libbluray/disc/dec.c ++src/libbluray/disc/dec.h ++src/libbluray/disc/disc.c ++src/libbluray/disc/disc.h ++src/libbluray/disc/enc_info.h ++src/libbluray/disc/properties.c ++src/libbluray/disc/properties.h ++src/libbluray/disc/udf_fs.c ++src/libbluray/disc/udf_fs.h ++src/libbluray/hdmv/hdmv_insn.h ++src/libbluray/hdmv/hdmv_vm.c ++src/libbluray/hdmv/hdmv_vm.h ++src/libbluray/hdmv/mobj_data.h ++src/libbluray/hdmv/mobj_parse.c ++src/libbluray/hdmv/mobj_parse.h ++src/libbluray/hdmv/mobj_print.c ++src/libbluray/hdmv/mobj_print.h ++src/libbluray/keys.h ++src/libbluray/player_settings.h ++src/libbluray/register.c ++src/libbluray/register.h ++src/util/array.c ++src/util/array.h ++src/util/attributes.h ++src/util/bits.c ++src/util/bits.h ++src/util/event_queue.c ++src/util/event_queue.h ++src/util/log_control.h ++src/util/logging.c ++src/util/logging.h ++src/util/macro.h ++src/util/mutex.c ++src/util/mutex.h ++src/util/refcnt.c ++src/util/refcnt.h ++src/util/strutl.c ++src/util/strutl.h ++src/util/time.c ++src/util/time.h +diff --git a/libbluray.includes b/libbluray.includes +new file mode 100644 +index 0000000..71354a7 +--- /dev/null ++++ b/libbluray.includes +@@ -0,0 +1,15 @@ ++. ++jni ++jni/darwin ++jni/linux ++jni/win32 ++src/devtools ++src/file ++src/libbluray ++src/libbluray/bdj ++src/libbluray/bdj/native ++src/libbluray/bdnav ++src/libbluray/decoders ++src/libbluray/disc ++src/libbluray/hdmv ++src/util +diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c +index 1728801..aa3135e 100644 +--- a/src/libbluray/bluray.c ++++ b/src/libbluray/bluray.c +@@ -323,24 +323,8 @@ static void _update_clip_psrs(BLURAY *bd, NAV_CLIP *clip) + /* Update selected audio and subtitle stream PSRs when not using menus. + * Selection is based on language setting PSRs and clip STN. + */ +- if (bd->title_type == title_undef) { +- +- if (stn->num_audio) { +- _update_stream_psr_by_lang(bd->regs, +- PSR_AUDIO_LANG, PSR_PRIMARY_AUDIO_ID, 0, +- stn->audio, stn->num_audio, +- &audio_lang, 0); +- } +- +- if (stn->num_pg) { +- _update_stream_psr_by_lang(bd->regs, +- PSR_PG_AND_SUB_LANG, PSR_PG_STREAM, 0x80000000, +- stn->pg, stn->num_pg, +- NULL, audio_lang); +- } +- + /* Validate selected audio, subtitle and IG stream PSRs when using menus */ +- } else { ++ { + uint32_t psr_val; + + if (stn->num_audio) { +@@ -367,7 +351,7 @@ static void _update_clip_psrs(BLURAY *bd, NAV_CLIP *clip) + } + bd_psr_unlock(bd->regs); + } +- if (stn->num_ig) { ++ if (stn->num_ig && bd->title_type != title_undef) { + bd_psr_lock(bd->regs); + psr_val = bd_psr_read(bd->regs, PSR_IG_STREAM_ID); + if ((psr_val == 0) || (psr_val > stn->num_ig)) { +-- +2.17.2 + diff --git a/contrib/src/bluray/rules.mak b/contrib/src/bluray/rules.mak index c2de93fd89..d147afb153 100644 --- a/contrib/src/bluray/rules.mak +++ b/contrib/src/bluray/rules.mak @@ -49,6 +49,7 @@ $(TARBALLS)/libbluray-$(BLURAY_VERSION).tar.bz2: bluray: libbluray-$(BLURAY_VERSION).tar.bz2 .sum-bluray $(UNPACK) $(APPLY) $(SRC)/bluray/0001-Implement-dl_get_path-for-darwin-macOS.patch + $(APPLY) $(SRC)/bluray/0001-keep-on-with-menuless-user-selected-streams-between-.patch $(call pkg_static,"src/libbluray.pc.in") $(MOVE) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
