pranav-prakash / RokuCast

Cast videos from chrome to roku
179 stars 39 forks source link

unable to set roku ip either thru extension options page or chrome menu settings cog #43

Closed stanwebber closed 5 years ago

stanwebber commented 5 years ago

running chrome 70.0.3538.77 (Official Build) (64-bit). roku ip address will not populate after hitting the save button and the following error is thrown: if(response.error != null && _error != undefined){


Error in event handler for (unknown): TypeError: Cannot read property 'error' of undefined Context options.html Stack Trace scripts/ssdp.js:10 (anonymous function)

// From https://github.com/jacobEAdamson/ssdp-chrome/blob/dc526a5/ContentScript/ssdp.js var ssdp = { _serverId: "pfdiljjcookjofjbjnbnkgfnfmnoljmk",

_ExecuteRemoteCommand: function(_request, _params, _callback, _error) { chrome.runtime.sendMessage( this._serverId, { request: _request, params: _params }, function(response) { if(response.error != null && _error != undefined){ _error(response.error); } else{ _callback(response.response); } } ); },

GetDevices: function(callback, error){ this._ExecuteRemoteCommand("GetDevices", [], callback, error); },

FilterByType: function(devices, type){ var returnDevices = {}; for(var key in devices){ if(devices[key].st == type){ returnDevices[key] = devices[key]; } }

return returnDevices;

} }

cyriltw commented 5 years ago

I'm getting the same error.

pranav-prakash commented 5 years ago

Alright I updated the SSDP part with what I think might be a fix. Can you try pulling the repo again and removing/re-installing the extension?

stanwebber commented 5 years ago

no error is generated now when entering the ip address either thru the extension options page or chrome menu settings cog, but the ip address is not populated after clicking save. when returning to options the ip address box is always blank. subsequently, clicking the cast button on the html5 test video in your instructions does nothing.

pranav-prakash commented 5 years ago

Updated again, please try it now. Looks like manual ip entry was broken all this time.

stanwebber commented 5 years ago

ip address is now populated successfully with no errors; however, i don't have access to a roku right now in order to test the streaming. i can test everything out in a couple days if nobody else steps up in the meantime.

cyriltw commented 5 years ago

IP address populated but Roku doesn't pick it up. But will try rebooting the PC and update.

pranav-prakash commented 5 years ago

but Roku doesn't pick it up

As in casting has no effect?

After you cast can you try going to chrome://extensions and click "Inspect views: background.html" for the extension and dump the output from the console?

cyriltw commented 5 years ago

background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png background.js:28 Array(1)0: {active: true, audible: false, autoDiscardable: true, discarded: false, favIconUrl: "https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png", …}length: 1__proto__: Array(0) background.js:29 iPhone XR Review: No Need to Panic! - YouTube background.js:30 https://s.ytimg.com/yts/img/favicon_32-vflOogEID.png this is the output.

pranav-prakash commented 5 years ago

Are you trying to cast from youtube? It's noted (#14) that youtube support does not work. There are workarounds mentioned there.

Additionally youtube already provides it's own casting mechanism to the youtube roku app.

stanwebber commented 5 years ago

casting is still not working with the test video on this page: http://camendesign.com/code/video_for_everybody/test.html

console output: [{…}] background.js:29 “Video For Everybody” Test Page background.js:30 http://camendesign.com/favicon.ico background.js:28 [{…}] background.js:29 “Video For Everybody” Test Page background.js:30 http://camendesign.com/favicon.ico background.js:28 [{…}] background.js:29 “Video For Everybody” Test Page background.js:30 http://camendesign.com/favicon.ico background.js:52 POST http://192.168.1.12:8060/input/15985?t=v&u=http%3A%2F%2Fclips.vorwaerts-gmbh.de%2FVfE_html5.mp4&videoName=%E2%80%9CVideo%20For%20Everybody%E2%80%9D%20Test%20Page&k=(null)&videoFormat=mp4 net::ERR_CONNECTION_TIMED_OUT xhr.onload @ background.js:52 load (async) (anonymous) @ background.js:43 safeCallbackApply @ extensions::uncaught_exception_handler:27 handleResponse @ extensions::sendRequest:67 background.js:52 POST http://192.168.1.12:8060/input/15985?t=v&u=http%3A%2F%2Fclips.vorwaerts-gmbh.de%2FVfE.webm&videoName=%E2%80%9CVideo%20For%20Everybody%E2%80%9D%20Test%20Page&k=(null)&videoFormat=mp4 net::ERR_CONNECTION_TIMED_OUT xhr.onload @ background.js:52 load (async) (anonymous) @ background.js:43 safeCallbackApply @ extensions::uncaught_exception_handler:27 handleResponse @ extensions::sendRequest:67 background.js:52 POST http://192.168.1.12:8060/input/15985?t=v&u=http%3A%2F%2Fclips.vorwaerts-gmbh.de%2FVfE.ogv&videoName=%E2%80%9CVideo%20For%20Everybody%E2%80%9D%20Test%20Page&k=(null)&videoFormat=mp4 net::ERR_CONNECTION_TIMED_OUT xhr.onload @ background.js:52 load (async) (anonymous) @ background.js:43 safeCallbackApply @ extensions::uncaught_exception_handler:27 handleResponse @ extensions::sendRequest:67

pranav-prakash commented 5 years ago

Is your Roku's IP 192.168.1.12? For some reason the post requests are timing out. When you visit http://192.168.1.12:8060 in a browser do you see an xml page?

stanwebber commented 5 years ago

yes, i can confirm that 192.168.1.12 is the IP of the roku. visiting http://192.168.1.12:8060/ in a browser returns nothing. i think the problem may be the roku i'm testing with is a 3rd generation roku LT (2700). when performing the test with a newer roku TV (6000X) i get XML data returned in a browser and the roku cast extension WORKS! i'll also shortly have the opportunity to test with a 6th generation roku stick (3800). i take it the 3rd generation devices just don't support the URL streaming mechanism?

pranav-prakash commented 5 years ago

i take it the 3rd generation devices just don't support the URL streaming mechanism Might be, I'm not really sure. The fact that it don't return anything on :8060 is weird. Oh well, good to see that it mostly works I guess.