On Sat, 24 Sep 2022 03:07:00 GMT, Alexander Matveev <[email protected]> 
wrote:

> There was two problems:
>  - uri.getPath() was returning null for jar URI, since it is not a standard 
> URI and thus we did not detect file type based on extension.
>  - Our signature detection for MP3 had a bug and did not detect MP3 
> correctly. See comments in code.
>  
> Fixed by adding function to extract file name from jar URI and also signature 
> detection was fixed for MP3.

modules/javafx.media/src/main/java/com/sun/media/jfxmedia/locator/Locator.java 
line 425:

> 423:                             stream.close();
> 424:                             isConnected = true;
> 425:                             contentType = 
> MediaUtils.filenameToContentType(uri); // We need to provide at least 
> something

would it be possible to explain what ie being done instead?  i.e. "try to 
determine the content type based on extension" or something like that?

modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/MediaUtils.java 
line 154:

> 152:         } else if ((buf[0] & 0xff) == 0xff && (buf[1] & 0xe0) == 0xe0 && 
> // sync
> 153:                 (buf[1] & 0x18) != 0x08 && // not reserved version
> 154:                 (buf[1] & 0x06) != 0x00) { // not reserved layer

thank you for providing a descriptive comment!

I wonder if, in the future, when the list of supported formats grows, we ought 
to invent some kind of Bit(input)Stream class that would make operating on bit 
fields easier?

modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/MediaUtils.java 
line 187:

> 185:      * Returns the content type given the file name.
> 186:      *
> 187:      * @param uri

should the comment be changed since the argument is uri and not a file name?

modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/MediaUtils.java 
line 241:

> 239: 
> 240:         String scheme = uri.getScheme().toLowerCase();
> 241:         if (scheme.equals("jar")) {

is it possible for the 'scheme' to be null?

(may be "jar".equals(scheme) would work better here?)

-------------

PR: https://git.openjdk.org/jfx/pull/902

Reply via email to