[libbluray-devel] [Git][videolan/libbluray][master] Add missing UOs for the BD_EVENT_UO_MASK_CHANGED event
Petri Hintukainen (@hpi)
gitlab at videolan.org
Fri Jan 16 13:59:33 UTC 2026
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
More information about the libbluray-devel
mailing list