[libbluray-devel] Mark BD-J titles supported if BD-J is functional

hpi1 git at videolan.org
Thu Mar 27 14:51:21 CET 2014


libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Thu Mar 27 09:51:24 2014 +0200| [aeeca00bd17a96ce93c0a46db3a82cb1b5f94b07] | committer: hpi1

Mark BD-J titles supported if BD-J is functional

> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=aeeca00bd17a96ce93c0a46db3a82cb1b5f94b07
---

 src/libbluray/bluray.c |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c
index a0974e1..9a5ea3e 100644
--- a/src/libbluray/bluray.c
+++ b/src/libbluray/bluray.c
@@ -968,7 +968,6 @@ static void _fill_disc_info(BLURAY *bd)
             }
             if (bd->index->titles[ii].object_type == indx_object_type_bdj) {
                 bd->disc_info.num_bdj_titles++;
-                bd->disc_info.num_unsupported_titles++;
                 bd->disc_info.bdj_detected = 1;
             }
         }
@@ -980,7 +979,7 @@ static void _fill_disc_info(BLURAY *bd)
             bd->disc_info.bdj_detected = 1;
         }
 
-        /* BD-J capability */
+        /* check for BD-J capability */
 
 #ifdef USING_BDJAVA
         if (bd->disc_info.bdj_detected) {
@@ -994,15 +993,27 @@ static void _fill_disc_info(BLURAY *bd)
         }
 #endif /* USING_BDJAVA */
 
+        /* mark supported titles */
+
+        if (bd->disc_info.bdj_detected && !bd->disc_info.bdj_handled) {
+            bd->disc_info.num_unsupported_titles = bd->disc_info.num_bdj_titles;
+        }
+
         pi = &bd->index->first_play;
         if (pi->object_type == indx_object_type_hdmv && pi->hdmv.id_ref != 0xffff) {
             bd->disc_info.first_play_supported = 1;
         }
+        if (pi->object_type == indx_object_type_bdj) {
+            bd->disc_info.first_play_supported = bd->disc_info.bdj_handled;
+        }
 
         pi = &bd->index->top_menu;
         if (pi->object_type == indx_object_type_hdmv && pi->hdmv.id_ref != 0xffff) {
             bd->disc_info.top_menu_supported = 1;
         }
+        if (pi->object_type == indx_object_type_bdj) {
+            bd->disc_info.top_menu_supported = bd->disc_info.bdj_handled;
+        }
     }
 }
 



More information about the libbluray-devel mailing list