Petri Hintukainen pushed to branch master at VideoLAN / libbluray
Commits:
bc5560e2 by Masstock at 2026-01-16T15:58:04+02:00
Add missing UOs for the BD_EVENT_UO_MASK_CHANGED event
- - - - -
2 changed files:
- src/libbluray/bluray.c
- src/libbluray/bluray.h
Changes:
=====================================
src/libbluray/bluray.c
=====================================
@@ -572,7 +572,40 @@ static void _init_textst_timer(BLURAY *bd)
static uint32_t _compressed_mask(BD_UO_MASK mask)
{
- return mask.menu_call | (mask.title_search << 1);
+ uint32_t value = 0x0;
+#define UO_MASK_VALUE(v, f) ((!!(mask.f)) * (BLURAY_UO_ ## v))
+ value |= UO_MASK_VALUE(MENU_CALL, menu_call);
+ value |= UO_MASK_VALUE(TITLE_SEARCH, title_search);
+ value |= UO_MASK_VALUE(CHAPTER_SEARCH,
chapter_search);
+ value |= UO_MASK_VALUE(TIME_SEARCH_MASK, time_search);
+ value |= UO_MASK_VALUE(SKIP_TO_NEXT_POINT_MASK,
skip_to_next_point);
+ value |= UO_MASK_VALUE(SKIP_BACK_TO_PREVIOUS_POINT_MASK,
skip_to_prev_point);
+ value |= UO_MASK_VALUE(STOP_MASK, stop);
+ value |= UO_MASK_VALUE(PAUSE_ON_MASK, pause_on);
+ value |= UO_MASK_VALUE(STILL_OFF_MASK, still_off);
+ value |= UO_MASK_VALUE(FORWARD_PLAY_MASK, forward);
+ value |= UO_MASK_VALUE(BACKWARD_PLAY_MASK, backward);
+ value |= UO_MASK_VALUE(RESUME_MASK, resume);
+ value |= UO_MASK_VALUE(MOVE_UP_SELECTED_BUTTON_MASK, move_up);
+ value |= UO_MASK_VALUE(MOVE_DOWN_SELECTED_BUTTON_MASK, move_down);
+ value |= UO_MASK_VALUE(MOVE_LEFT_SELECTED_BUTTON_MASK, move_left);
+ value |= UO_MASK_VALUE(MOVE_RIGHT_SELECTED_BUTTON_MASK, move_right);
+ value |= UO_MASK_VALUE(SELECT_BUTTON_MASK, select);
+ value |= UO_MASK_VALUE(ACTIVATE_BUTTON_MASK, activate);
+ value |= UO_MASK_VALUE(SELECT_AND_ACTIVATE_MASK,
select_and_activate);
+ value |= UO_MASK_VALUE(PRIMARY_AUDIO_CHANGE_MASK,
primary_audio_change);
+ value |= UO_MASK_VALUE(ANGLE_CHANGE_MASK, angle_change);
+ value |= UO_MASK_VALUE(POPUP_ON_MASK, popup_on);
+ value |= UO_MASK_VALUE(POPUP_OFF_MASK, popup_off);
+ value |= UO_MASK_VALUE(PG_TEXTST_ENABLE_DISABLE_MASK,
pg_enable_disable);
+ value |= UO_MASK_VALUE(PG_TEXTST_CHANGE_MASK, pg_change);
+ value |= UO_MASK_VALUE(SECONDARY_VIDEO_ENABLE_DISABLE_MASK,
secondary_video_enable_disable);
+ value |= UO_MASK_VALUE(SECONDARY_VIDEO_CHANGE_MASK,
secondary_video_change);
+ value |= UO_MASK_VALUE(SECONDARY_AUDIO_ENABLE_DISABLE_MASK,
secondary_audio_enable_disable);
+ value |= UO_MASK_VALUE(SECONDARY_AUDIO_CHANGE_MASK,
secondary_audio_change);
+ value |= UO_MASK_VALUE(PIP_PG_TEXTST_CHANGE_MASK, pip_pg_change);
+#undef UO_MASK_VALUE
+ return value;
}
static void _update_uo_mask(BLURAY *bd)
=====================================
src/libbluray/bluray.h
=====================================
@@ -877,9 +877,37 @@ typedef struct {
#define BLURAY_KIT_SEC_VIDEO 0x200 /**< BD-J requests to handle "Sec.
Video" UO */
#define BLURAY_KIT_PG_TEXTST 0x400 /**< BD-J requests to handle
"Subtitle" UO */
-/* BD_EVENT_UO_MASK flags */
-#define BLURAY_UO_MENU_CALL 0x1 /**< "Menu Call" masked (not
allowed) */
-#define BLURAY_UO_TITLE_SEARCH 0x2 /**< "Title Search" masked (not
allowed) */
+/* BD_EVENT_UO_MASK_CHANGED flags */
+#define BLURAY_UO_MENU_CALL 0x1 /**< "Menu
Call" masked (not allowed) */
+#define BLURAY_UO_TITLE_SEARCH 0x2 /**< "Title
Search" masked (not allowed) */
+#define BLURAY_UO_CHAPTER_SEARCH 0x4 /**< "Chapter
Search" masked (not allowed) */
+#define BLURAY_UO_TIME_SEARCH_MASK 0x8 /**< "Time
Search" masked (not allowed) */
+#define BLURAY_UO_SKIP_TO_NEXT_POINT_MASK 0x10 /**< "Skip to
Next Point" masked (not allowed) */
+#define BLURAY_UO_SKIP_BACK_TO_PREVIOUS_POINT_MASK 0x20 /**< "Skip
Back to Previous Point" masked (not allowed) */
+#define BLURAY_UO_STOP_MASK 0x40 /**< "Stop"
masked (not allowed) */
+#define BLURAY_UO_PAUSE_ON_MASK 0x80 /**< "Pause
On" masked (not allowed) */
+#define BLURAY_UO_STILL_OFF_MASK 0x100 /**< "Still
Off" masked (not allowed) */
+#define BLURAY_UO_FORWARD_PLAY_MASK 0x200 /**< "Forward
Play" masked (not allowed) */
+#define BLURAY_UO_BACKWARD_PLAY_MASK 0x400 /**<
"Backward Play" masked (not allowed) */
+#define BLURAY_UO_RESUME_MASK 0x800 /**< "Resume"
masked (not allowed) */
+#define BLURAY_UO_MOVE_UP_SELECTED_BUTTON_MASK 0x1000 /**< "Move Up
Selected Button" masked (not allowed) */
+#define BLURAY_UO_MOVE_DOWN_SELECTED_BUTTON_MASK 0x2000 /**< "Move
Down Selected Button" masked (not allowed) */
+#define BLURAY_UO_MOVE_LEFT_SELECTED_BUTTON_MASK 0x4000 /**< "Move
Left Selected Button" masked (not allowed) */
+#define BLURAY_UO_MOVE_RIGHT_SELECTED_BUTTON_MASK 0x8000 /**< "Move
Right Selected Button" masked (not allowed) */
+#define BLURAY_UO_SELECT_BUTTON_MASK 0x10000 /**< "Select
Button" masked (not allowed) */
+#define BLURAY_UO_ACTIVATE_BUTTON_MASK 0x20000 /**<
"Activate Button" masked (not allowed) */
+#define BLURAY_UO_SELECT_AND_ACTIVATE_MASK 0x40000 /**< "Select
Button and Activate" masked (not allowed) */
+#define BLURAY_UO_PRIMARY_AUDIO_CHANGE_MASK 0x80000 /**< "Primary
Audio Stream Number Change" masked (not allowed) */
+#define BLURAY_UO_ANGLE_CHANGE_MASK 0x100000 /**< "Angle
Number Change" masked (not allowed) */
+#define BLURAY_UO_POPUP_ON_MASK 0x200000 /**< "PopUp
On" masked (not allowed) */
+#define BLURAY_UO_POPUP_OFF_MASK 0x400000 /**< "PopUp
Off" masked (not allowed) */
+#define BLURAY_UO_PG_TEXTST_ENABLE_DISABLE_MASK 0x800000 /**< "PG
textST Enable Disable" masked (not allowed) */
+#define BLURAY_UO_PG_TEXTST_CHANGE_MASK 0x1000000 /**< "PG
textST Stream Number Change" masked (not allowed) */
+#define BLURAY_UO_SECONDARY_VIDEO_ENABLE_DISABLE_MASK 0x2000000 /**<
"Secondary Video Enable Disable" masked (not allowed) */
+#define BLURAY_UO_SECONDARY_VIDEO_CHANGE_MASK 0x4000000 /**<
"Secondary Video Stream Number Change" masked (not allowed) */
+#define BLURAY_UO_SECONDARY_AUDIO_ENABLE_DISABLE_MASK 0x8000000 /**<
"Secondary Audio Enable Disable" masked (not allowed) */
+#define BLURAY_UO_SECONDARY_AUDIO_CHANGE_MASK 0x10000000 /**<
"Secondary Audio Stream Number Change" masked (not allowed) */
+#define BLURAY_UO_PIP_PG_TEXTST_CHANGE_MASK 0x20000000 /**< "PiP PG
textST Stream Number Change" masked (not allowed) */
/**
*
View it on GitLab:
https://code.videolan.org/videolan/libbluray/-/commit/bc5560e215b03d28b33d2a05b6e6c7ea6b1b6a27
--
View it on GitLab:
https://code.videolan.org/videolan/libbluray/-/commit/bc5560e215b03d28b33d2a05b6e6c7ea6b1b6a27
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
libbluray-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libbluray-devel