JDK-8165148 : Online radio fails to play
  • Type: Bug
  • Component: javafx
  • Sub-Component: media
  • Affected Version: 8u60
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux_ubuntu
  • CPU: x86_64
  • Submitted: 2016-08-28
  • Updated: 2018-01-24
  • Resolved: 2018-01-09
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


A DESCRIPTION OF THE PROBLEM :
Unable to listen to the live audio on:

http://www.slacker.com/station/abc-news
http://www.cbsnews.com/live/
https://radio.abc.net.au/stations/news/live?play=true
http://www.iheart.com/


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Bring up a fx media player and try playing any of the above urls.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Expected result is to be able to play and listen to the audio of any of the above urls.
ACTUAL -
No audio is played.

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Use another media player.


Comments
All the failing URL has been analyzed and reason explained in comment section.
02-01-2018

Online radio fails to play in "http://www.iheart.com/" on windows. If media logs are enabled and an audio is played following logs shows that there is some problem with Media layer. Things seem to be fine at Webview side. Media log - (-Djfxmedia.loglevel=DEBUG) Debug (0:00:55:890): GSTPlatform caught exception while creating media player: com.sun.media.jfxmedia.MediaException Debug (0:00:57:782): CLocator::CLocator() Debug (0:00:57:782): CLocatorStream::CLocatorStream() Debug (0:00:57:783): GSTPlatform caught exception while creating media player: com.sun.media.jfxmedia.MediaException Debug (0:01:00:883): CLocator::CLocator() Debug (0:01:00:883): CLocatorStream::CLocatorStream() Debug (0:01:00:884): GSTPlatform caught exception while creating media player: com.sun.media.jfxmedia.MediaException Debug (0:01:02:719): CLocator::CLocator() Debug (0:01:02:719): CLocatorStream::CLocatorStream() Debug (0:01:02:720): GSTPlatform caught exception while creating media player: com.sun.media.jfxmedia.MediaException Debug (0:01:05:684): CLocator::CLocator() Debug (0:01:05:685): CLocatorStream::CLocatorStream() Debug (0:01:05:685): GSTPlatform caught exception while creating media player: com.sun.media.jfxmedia.MediaException It is failing for the url "https://c3.prod.playlists.ihrhls.com/5060/playlist.m3u8?at=0&clientType=web&fb_broadcast=0&init_id=8169&modTime=1514871732637&pname=OrganicWeb&profileid=462094782&birthYear=1985&territory=US&host=webapp.US&listenerId=1514871585161_64788&uid=1506655810861&age=33&gender=1&amsparams=playerid%3AiHeartRadioWebPlayer%3Bskey%3A1514871732&terminalid=159&awparams=g%3A1%3Bn%3A33%3Bccaud%3A%5B%2210452%22%2C%2210231%22%2C%2210012%22%2C%2210128%22%2C%2210134%22%2C%2210101%22%2C%2210061%22%2C%22all%22%2C%2210098%22%2C%2210143%22%2C%2210171%22%2C%2210278%22%2C%2210146%22%2C%2210454%22%2C%2210189%22%2C%2210623%22%2C%2210149%22%2C%2210125%22%2C%2210163%22%2C%2210194%22%2C%2210257%22%2C%2210181%22%2C%2210152%22%2C%2210116%22%2C%2210012%22%2C%2210460%22%2C%2210215%22%2C%2210878%22%2C%2210918%22%2C%2210267%22%2C%2210101%22%2C%2210405%22%2C%2210172%22%2C%2210838%22%2C%2210457%22%2C%2210272%22%2C%2210451%22%2C%2210098%22%2C%2210137%22%2C%2210687%22%2C%2210390%22%2C%2210160%22%5D%3BcompanionAds%3Atrue&playedFrom=314&devicename=web-desktop" This issue seems to related to https://bugs.openjdk.java.net/browse/JDK-8088435 where in similar url is getting failed to play.
02-01-2018

1. "https://radio.abc.net.au/stations/news/live?play=true" is working fine with 9 and 8uDev. 2. "http://www.cbsnews.com/live/" - This page tries to play a ".ts" file which is not supported. 3. "http://www.slacker.com/station/abc-news" - This page renders fine in Webview but needs Flash to run the media. JDK-8175286 relates to flash support in JavaFx. 4 "http://www.iheart.com/" - On Mac, JavaFX Webview is able to play music from iheart.com like safari and working fine.
28-12-2017

Could some of this be due to missing MSE/Dash support?
06-04-2017

Additional Information from submitter: // updated to allow proper resizing // compile: javac Browser.java // run: java Browser http://www.houstonpublicmedia.org/listen-live // shows web page comes up // java Browser http://www.oracle.com/ // java Browser http://www.yahoo.com/ // java Browser http://www.google.com/ // java Browser http://www.bing.com/ // Yes. YouTube works. // java Browser http://www.youtube.com/ // Fails to get audio from these pages // java Browser http://www.houstonpublicmedia.org/listen-live // java Browser http://www.slacker.com/station/abc-news public class Browser0 extends javafx.application.Application { public void start(javafx.stage.Stage stage) { javafx.scene.web.WebView webView = new javafx.scene.web.WebView(); javafx.scene.Scene scene = new javafx.scene.Scene(webView); stage.setScene(scene); stage.setWidth(810); stage.setHeight(630); stage.show(); webView.getEngine().getLoadWorker().stateProperty().addListener( (ov, oldState, newState) -> { if (newState == javafx.concurrent.Worker.State.SUCCEEDED) { stage.setTitle(webView.getEngine().getLocation()); } } ); javafx.application.Application.Parameters p = getParameters(); webView.getEngine().load(p.getRaw().get(0)); } public static void main(String[] args) { Browser0.launch(args); } }
14-12-2016

http://www.iheart.com/ -- doesn't play on 9 or 8u
31-08-2016

http://www.houstonpublicmedia.org/listen-live -- plays fine with JDK 9; fails with 8u60, 8u102, and latest 8u-dev. http://www.slacker.com/station/abc-news -- on 9, 8u60, 8u102, and 8u-dev it stays at the "Tuning" step and never gets to the point where it loads audio. This might be a WebView bug, and if so, would need to be handled separately.
31-08-2016

The issue with resizing is an application bug. The root node should be a layout pane if you want resizing to work automatically. If you change the Group to a StackPane then it will work as expected. You will not need your own ScrollPane nor will you need to set the vgrow property of the VBox.
31-08-2016

According to bug submitter, The webview comes with it's own scrollpane. By removing the one that's added, everything works as expected.
31-08-2016

Another response =============== You'll notice while running the application that if you try and resize the window, the content doesn't follow the border. I've tried a whole bunch of different things to try and make the scene follow the stage with no luck. Do you know how to tie the scene to the stage so when you resize the window, the scene follows?
31-08-2016

According to Bug submitter, run the attached test program (Browser.java). > javac Browser.java > java Browser http://www.houstonpublicmedia.org/listen-live ----------------------------------------------------------------------------------------------- // shows web page comes up // java Browser http://www.oracle.com/ // java Browser http://www.yahoo.com/ // java Browser http://www.google.com/ // java Browser http://www.bing.com/ // Yes. YouTube works. // java Browser http://www.youtube.com/ // Fails to get audio from these pages // java Browser http://www.houstonpublicmedia.org/listen-live // java Browser http://www.slacker.com/station/abc-news ============================================================ public class Browser extends javafx.application.Application { public void start(javafx.stage.Stage stage) { javafx.scene.Group root = new javafx.scene.Group(); javafx.scene.Scene scene = new javafx.scene.Scene(root); javafx.scene.layout.VBox vbox = new javafx.scene.layout.VBox(); javafx.scene.web.WebView webView = new javafx.scene.web.WebView(); javafx.scene.control.ScrollPane scrollPane = new javafx.scene.control.ScrollPane(); scrollPane.setContent(webView); vbox.getChildren().add(scrollPane); root.getChildren().add(vbox); vbox.setVgrow(webView, javafx.scene.layout.Priority.valueOf("ALWAYS")); stage.setScene(scene); stage.setWidth(810); stage.setHeight(630); stage.show(); javafx.scene.web.WebEngine webEngine = webView.getEngine(); webEngine.getLoadWorker().stateProperty().addListener( (ov, oldState, newState) -> { if (newState == javafx.concurrent.Worker.State.SUCCEEDED) { stage.setTitle(webEngine.getLocation()); } } ); javafx.application.Application.Parameters p = getParameters(); webEngine.load(p.getRaw().get(0)); } public static void main(String[] args) { Browser.launch(args); } }
31-08-2016

We will need a small test application to reproduce the issue.
30-08-2016