--- old/modules/media/src/main/java/javafx/scene/media/Media.java 2015-10-01 16:35:02.226954300 -0700 +++ new/modules/media/src/main/java/javafx/scene/media/Media.java 2015-10-01 16:35:01.727747900 -0700 @@ -87,7 +87,9 @@ private ReadOnlyObjectWrapper error; private void setError(MediaException value) { - errorPropertyImpl().set(value); + if (getError() == null) { + errorPropertyImpl().set(value); + } } /** @@ -335,7 +337,7 @@ /** * Constructs a Media instance. This is the only way to * specify the media source. The source must represent a valid URI - * and is immutable. Only HTTP, FILE, and JAR URLs are supported. If the + * and is immutable. Only HTTP, HTTPS, FILE, and JAR URLs are supported. If the * provided URL is invalid then an exception will be thrown. If an * asynchronous error occurs, the {@link #errorProperty error} property will be set. Listen * to this property to be notified of any such errors. @@ -352,7 +354,7 @@ * * *

See java.net.URI @@ -451,7 +453,7 @@ } return null; } - + // http://javafx-jira.kenai.com/browse/RT-24594 // TODO: Remove this entire method (and associated stuff) when we switch to track parsing in MetadataParser void _updateMedia(com.sun.media.jfxmedia.Media _media) { @@ -473,28 +475,28 @@ } trackMetadata.put("encoding", trackElement.getEncodingType().toString()); trackMetadata.put("enabled", Boolean.valueOf(trackElement.isEnabled())); - + if (trackElement instanceof com.sun.media.jfxmedia.track.VideoTrack) { com.sun.media.jfxmedia.track.VideoTrack vt = (com.sun.media.jfxmedia.track.VideoTrack) trackElement; int videoWidth = vt.getFrameSize().getWidth(); int videoHeight = vt.getFrameSize().getHeight(); - + // FIXME: this isn't valid when there are multiple video tracks... setWidth(videoWidth); setHeight(videoHeight); trackMetadata.put("video width", Integer.valueOf(videoWidth)); trackMetadata.put("video height", Integer.valueOf(videoHeight)); - + newTrack = new VideoTrack(trackElement.getTrackID(), trackMetadata); } else if (trackElement instanceof com.sun.media.jfxmedia.track.AudioTrack) { newTrack = new AudioTrack(trackElement.getTrackID(), trackMetadata); } else if (trackElement instanceof com.sun.media.jfxmedia.track.SubtitleTrack) { newTrack = new SubtitleTrack(trackID, trackMetadata); } - + if (null != newTrack) { tracksBacking.add(newTrack); }