HbbTV-Association / ReferenceApplication

MIT License
80 stars 32 forks source link

Issue when using reference application, can't select HbbTV 2.0 or 1.5 #76

Closed MikeKav closed 1 year ago

MikeKav commented 1 year ago

Hi

I tried to use https://refapp.hbbtv.org/production/catalogue/ it seems to default to MSE/EME mode, but when I select in Settings

Either Set mode hbbTV 2.0.x or set mode hbbTV 1.5 the option doesn't seem to work?

On an embedded device nothing seems to happen, and on Chrome, the option to 'Save As' the oipf or html5 .php is offered.

Is this a known issue?

Murmur commented 1 year ago

Are you using a HbbTV device? I just tried HbbTV device and Win10 Chrome+HybridTvViewer browser all worked fine. HbbTV device defaults to a hbbtv mode.

You do get FileSaveAs if try to run HbbTV1+2 modes on a browser not understanding hbbtv mimetypes. Regular PC browsers you need a HbbTV emulator extension.

What is the useragent of your test device?

Firefox and Chrome: https://github.com/karl-rousseau/HybridTvViewer Chrome: https://chrome.google.com/webstore/detail/hybridtv-dev-environment/ljmkgjilkcmdokbgofbmjnkobejhhapc

MikeKav commented 1 year ago

HI, Thanks for the information on the browser behaviour. The devices I am using support the HbbTV device specification, and also support MSE/EME but I wanted to test both native URL based playback and MSE/EME on the device as this exercises different code paths for media playback.

The device in question is a Sagemcom device. The userAgent is

"YouViewHTML/1.0 AppleWebKit/605.1.15 (Sagemcom; RTIW387; RTIW387.002.P; CDS/0.8.220; API/4.0.0; PS/4.1.96) (+DVR+HTML+IPCMC+UHD+DASH+DRM+MSE)"

It looks like the HBB2.0 configuration tries to load but I get just the title of the application displayed with these errors in the console log: [Log] Application Start (index_html5.php, line 14) [Error] TypeError: undefined is not an object (evaluating 'd.style.cssText="top:1px"') (anonymous function) (jquery-1.11.3.min.js:5:7983) (anonymous function) (jquery-1.11.3.min.js:5:8419) (anonymous function) (jquery-1.11.3.min.js:2:209) Global Code (jquery-1.11.3.min.js:2:213) [Log] {msg: "TypeError: undefined is not an object (evaluating …e;border:0;width:0;height:0;top:0;left:-9999px\"')", url: "https://refapp.hbbtv.org/production/jquery-1.11.3.min.js?version=1685004660", line: 2} (debugscreen.js, line 17) [Error] TypeError: undefined is not an object (evaluating 'd.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px"') (anonymous function) (jquery-1.11.3.min.js:2:31023) j (jquery-1.11.3.min.js:2:27315) fireWith (jquery-1.11.3.min.js:2:28124) ready (jquery-1.11.3.min.js:2:29968) J (jquery-1.11.3.min.js:2:30328) [Log] VideoPlayerHTML5 - Constructor (debugscreen.js, line 17) [Log] VideoPlayerBasic - Constructor (debugscreen.js, line 17) [Log] Initialized videodiv (debugscreen.js, line 17) [Log] VideoPlayerBasic - populate (debugscreen.js, line 17) [Log] Clear DRM License, time: 2023-10-09T10:14:51 (debugscreen.js, line 17) [Log] License cleared:oipfDrm is null (debugscreen.js, line 17) [Log] SessionGUID=dff4bebe-1e9c-4d26-a698-e2db3499b515 (debugscreen.js, line 17) [Log] {msg: "TypeError: undefined is not an object (evaluating 'self.element.style.left = self.left + \"px\"')", url: "https://refapp.hbbtv.org/production/catalogue/gridview.js?version=1685004660", line: 167} (debugscreen.js, line 17) [Error] TypeError: undefined is not an object (evaluating 'self.element.style.left = self.left + "px"') (anonymous function) (gridview.js:167) (anonymous function) (gridview.js:124) GridView (gridview.js:17) (anonymous function) (gridscrollview.js:17) GridScrollView (gridscrollview.js:7) (anonymous function) (menu.js:17) Menu (menu.js:2) (anonymous function) (application.js:82) c (odd.js:7:7859) fireWith (odd.js:7:8600) l (odd.js:12:9133) (anonymous function) (odd.js:13:1493) [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (html-screen-capture.min.js.map, line 0) [Log] {'message' : '2 client side error saved to server'} (debugscreen.js, line 17)

Murmur commented 1 year ago

Ok your device is not recognized as a HbbTV device because no HbbTV/x.x.x useragent version string found. HbbTV modes need a native application/oipfApplicationManager | application/oipfConfiguration | application/oipfDrmAgent objects and UI expect them to be found and initialized.

This may break an app on your device if run hbbtv mode. You can playback videos on MSEEME mode?

HbbTV1=VideoObject + oipfDrm HbbTV2=VideoHtmlElement + oipfDrm MSEEME=VideoMSE + EMEDrm

juhajoki commented 1 year ago

@MikeKav do you have additional comments? As @Murmur explained you need to have the support for HbbTV initialization methods described above. Otherwise just the index.php is downloaded. To save time with testing, one can use direct links to different versions: https://refapp.hbbtv.org/production/catalogue/index_oipf.php and https://refapp.hbbtv.org/production/catalogue/index_html5.php

bobcampbell-resillion commented 1 year ago

No update after several weeks, closing as no apparent bug in the RefApp