[libbluray-devel] Feedback on BD-J support in VLC

Petri Hintukainen phintuka at users.sourceforge.net
Thu May 19 13:47:04 CEST 2016


On pe, 2016-05-13 at 14:10 +0200, Roald Strauss wrote:
> On 13-05-2016 10:03, Petri Hintukainen wrote:
> > 
> > On ti, 2016-05-10 at 16:42 +0200, Roald Strauss wrote:
> > > 
> > > Mouse support seems to be missing?
> > Yes. It would be possible to add. But I have no idea how usable it
> > would be ...
> > 
> > Translating mouse button press to key event should be just one line
> > of
> > code. But I think it would be confusing if focus does not follow
> > mouse.
> > 
> > Setting focus to follow mouse should be quite easy when the disc
> > uses
> > UI components, but discs that simply draw the menus would be next
> > to
> > impossible to support. Maybe we could hide mouse cursor and
> > translate
> > mouse movements to Up/Down/Left/Right key events ?
> I don't think you should do any translating mouse button to key
> events.
> Xlet developers should implement their own mouse-capture methods
> using 
> java.awt.event.MouseListener and java.awt.event.MouseMotionListener.

The problem is I don't know any BD-J Xlet (from BD disc) that would
support mouse. Still, being able to control BD-J menus with mouse-like
device would be great (I'm thinking about touch screens / tablets).
Maybe we could translate mouse events when Xlet does not consume those.

> I imagine VLC just has to capture mouse movement and clicks and
> forward to the Xlet.

Yes. We already use mouse with HDMV menus, so generating AWT mouse
events is just some wiring. And maybe we can use those later to add
some basic mouse support for BD-J menus too.


> > > Net support seems to be missing?
> > Yes and no. Security manager permits some networking operations.
> > I've
> > seen Xlets downloading content from network. Also, networking is
> > not
> > limited to signed Xlets (it should be, but signature checking is
> > not
> > implemented - and it requires AACS). What kind of problems you have
> > seen ?
> > 
> > Does networking work in HW player (I think it requires signed Xlet)
> > ?
> > Or do you have a HW player where network permissions can be granted
> > unconditionally ?
> Yes, networking works fine in the 3 hardware players I have online
> (a 
> Sony BDP-S1100, a Samsung something and a Dune HD Smart D1) and also 
> PowerDVD software player.
> 
> In my Xlets I'm doing a simple HTTP request to check for version of
> my 
> disc. I can see that this isn't going through in VLC.

Most likely security manager is missing some checks (URLPermission ?).
Should be fixed soon (when git is up again).

If there are other problems, maybe you could provide a sample BD image
for testing ? Even better if it could be used to test mouse events too
:)

> I was under the impression that AACS is related to video only and has
> nothing to do with signing.

I think AACS is required to verify the signature chain. BD-J root
certificate hash is stored in AACS content certificate (which is signed
by AACS LA public key). So, without AACS BD-J signatures are more or
less useless.

> It is true that networking requires the Xlet to be signed, according
> to the specs. This is a bit silly though, because signing an Xlet is
> no trouble at all and doesn't require any special expensive
> certificate (as is the case with signing MIDlets).

Well, that wouldn't make any sense. Signature that can't be verified is
useless ...

> But yes, my Xlets are signed. :-)
> 
> Since anyone can sign an Xlet without much trouble, I'm not sure it's
> worth the effort making sure VLC doesn't allow networking if the Xlet
> isn't signed - unless of course it's the aim that VLC becomes a 
> trustworthy tool for Xlet developers for testing their Xlets.

Most users see BD disc images as "media files", not applications, and
play those even if those are from untrusted source. So, I don't think
BD-J security issues should be taken lightly.

Ideally networking would be an option that user can toggle on/off. I'm
sure some users would like to disable all BD-J network access.

Maybe we could ask user if networking should be allowed when unsigned Xlet tries to access network. Or issue a warning when Xlet is from "untrusted" source.



> - Roald
> 
> 
> _______________________________________________
> libbluray-devel mailing list
> libbluray-devel at videolan.org
> https://mailman.videolan.org/listinfo/libbluray-devel


More information about the libbluray-devel mailing list