finished.  It's not pretty, but it works.  If people have more
understanding of libbluray internals can go through this and learn from
what I did, perhaps would be able to get support for a new class of menus.

This implementation of havi draws strong inspiration from xletview
https://xletview.sourceforge.net/ - which is under the GPL so perhaps not
directly mergable even if the code was perfect, with that said, the main
inspiration from it was its usage of helper classes to manage the common
navigation / activation patterns that many havi classes would have.
perhaps if videolan reached out to the author he'd be ok with that concept
being used as such in libbluray,

for those who want to experiment with it (or play the Seinfeld UHDs)

https://code.videolan.org/spotter/libbluray/-/tree/merge

On Sat, Jan 10, 2026 at 11:11 PM Shaya Potter <[email protected]> wrote:

> I've been trying to play the seinfeld UHD discs for a long time and they
> haven't worked.  I either would get a screen that just showed the
> background for the menu, or no video rendering at all and just the seek bar
> scanning back and forth in vlc.
>
> Now, one might not like this, but I decided to sit down with an AI editor
> and made some significant progress in fixing it, but I'm still blocked, but
> perhaps my discoveries can help people fix things better (or I can work on
> cleaning up the AI generated fixes).
>
> The big thing is that this UHD discs depends heavily on HAVI code in a
> manner that was heavily unimplemented or not implemented correctly (or so I
> think, could be wrong).
>
> 1. A bunch HAVI widgets needed to be implemented (to provide buttons and
> the like).
>
> 2. needed to enable one to navigate amongst all these and focus them and
> activate them (not quite sure this is working, but it does do stuff). This
> also involved key handling
>
> 3. needed to work on rendering them correctly (it seems the components
> weren't painting their children).
>
> 4. more work on rendering dealt with rectangles coordinates and
> translation between coordinate systems amongst children and parents.
>
> 5. offscreen images weren't being handled correctly in havi
>
> 7. was getting a null pointer exception due to TVTimer not really being
> implemented
>
> I'm currently stuck in 2 probably related ways.
>
> 1) if I don't have resume data, it just loads a background image with a
> single havi component and seems to xlet die without any real message (I see
> jar timeout errors, but unsure that has anything to do with it)
>
> 2. similarly if I do have resume data and it can now render the resume
> yes/no screen (due to havi work I did), it then dies similarly when I try
> to do something (again, showing a jar timeout error, but I dont know if
> that has anything to do with it or not).
>
> is the progress I've made so far valuable to anyone or can provide better
> than AI advice on how to proceed from here?
>
> thanks.
>
_______________________________________________
libbluray-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libbluray-devel

Reply via email to