Kodi Community Forum
[Discontinued] NHL Gamecenter Addon - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Video Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=154)
+---- Thread: [Discontinued] NHL Gamecenter Addon (/showthread.php?tid=118853)



RE: [RELEASE] NHL Gamecenter Addon - hewligun - 2013-10-14

Has it been updated?


RE: [RELEASE] NHL Gamecenter Addon - [brick] - 2013-10-14

FWIW:

For me, condensed and archived games never stopped working. Live games are not currently working. XBMC Frodo.


RE: [RELEASE] NHL Gamecenter Addon - my95z34 - 2013-10-14

Tested live game earlier tonight and it's working for me. RPi running Raspbmc


RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-14

(2013-10-13, 21:59)Carb0 Wrote: juggie can you post the example code for a http server. It seems we need the http server solution to make live games work on Windows until apok fixed the bug in XBMC.

Hey Carb0,

I sent you a pm with a link to a python project I wrote that uses asyncore as a http server and also included info on how to run that within a python addon.

Let me know if that works for you, you would of course need to strip out the SSL aspect. If its not clear let me know and i'll whip up a short example I just do not have time right now.


RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-14

(2013-10-14, 05:42)juggie Wrote:
(2013-10-13, 21:59)Carb0 Wrote: juggie can you post the example code for a http server. It seems we need the http server solution to make live games work on Windows until apok fixed the bug in XBMC.

Hey Carb0,

I sent you a pm with a link to a python project I wrote that uses asyncore as a http server and also included info on how to run that within a python addon.

Let me know if that works for you, you would of course need to strip out the SSL aspect. If its not clear let me know and i'll whip up a short example I just do not have time right now.

Was able to get a quick example working prior to sleeping. There may be some unused vars in there as I stripped code from something else and did this quickly. You already know how to use urllib/httplib so inside handle_request you would parse the requested url and then request that url from neulion using proper agent string. Fix what you want to fix in the response, then call pushok() to return it to the other request.

Code:
#!/usr/bin/python

import asyncore, asynchat
import datetime
import socket, string, httplib, urllib2, urlparse
import StringIO, mimetools
import time

class HTTPChannel(asynchat.async_chat):
    def __init__(self, server, sock, addr):
        asynchat.async_chat.__init__(self, sock)
        self.server = server
        self.set_terminator("\r\n\r\n")
        self.header = None
        self.data = ""
        self.shutdown = 0

    def collect_incoming_data(self, data):
        self.data = self.data + data
        if len(self.data) > 16384:
        # limit the header size to prevent attacks
            self.shutdown = 1

    def found_terminator(self):
        if not self.header:
            # parse http header
            fp = StringIO.StringIO(self.data)
            request = string.split(fp.readline(), None, 2)
            if len(request) != 3:
                # badly formed request; just shut down
                self.shutdown = 1
            else:
                # parse message header
                self.header = mimetools.Message(fp)
                self.set_terminator("\r\n")
                self.server.handle_request(
                    self, request[0], request[1], self.header
                    )
                self.close_when_done()
            self.data = ""
        else:
            pass # ignore body data, for now

    def pushstatus(self, status, explanation="OK"):
        self.push("HTTP/1.0 %d %s\r\n" % (status, explanation))

    def pushok(self, content):
        self.pushstatus(200, "OK")
        self.push('Content-type: text/html\r\n')
        self.push('Expires: Sat, 26 Jul 1997 05:00:00 GMT\r\n')
        self.push('Last-Modified: '+ datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S")+' GMT\r\n')
        self.push('Cache-Control: no-store, no-cache, must-revalidate\r\n' )
        self.push('Cache-Control: post-check=0, pre-check=0\r\n')
        self.push('Pragma: no-cache\r\n' )
        self.push('\r\n')
        self.push(content)

class AlarmServer(asyncore.dispatcher):
    def __init__(self):
        # Call parent class's __init__ method
        asyncore.dispatcher.__init__(self)

        # Create socket and listen on it
        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
        self.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.bind(("", 9999))
        self.listen(5)

    def handle_accept(self):
        # Accept the connection
        conn, addr = self.accept()
        HTTPChannel(self, conn, addr)

    def handle_request(self, channel, method, request, header):
        query = urlparse.urlparse(request) # url is in here
        query_array = urlparse.parse_qs(query.query, True) #any args are in here

        if query.path == '/':
            opener = urllib2.build_opener()
            opener.addheaders = [('User-agent', 'Demo')]
            f = opener.open('http://www.whatsmyuseragent.com/')
            channel.pushok(f.read())
        else:
            channel.pushok('requested something else')

if __name__=="__main__":
    AlarmServer()
    try:
        while True:
            asyncore.loop(timeout=2, count=1)
    except KeyboardInterrupt:
        print "Crtl+C pressed. Shutting down."



RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-14

(2013-10-14, 06:57)juggie Wrote:
(2013-10-14, 05:42)juggie Wrote:
(2013-10-13, 21:59)Carb0 Wrote: juggie can you post the example code for a http server. It seems we need the http server solution to make live games work on Windows until apok fixed the bug in XBMC.

Hey Carb0,

I sent you a pm with a link to a python project I wrote that uses asyncore as a http server and also included info on how to run that within a python addon.

Let me know if that works for you, you would of course need to strip out the SSL aspect. If its not clear let me know and i'll whip up a short example I just do not have time right now.

Was able to get a quick example working prior to sleeping. There may be some unused vars in there as I stripped code from something else and did this quickly. You already know how to use urllib/httplib so inside handle_request you would parse the requested url and then request that url from neulion using proper agent string. Fix what you want to fix in the response, then call pushok() to return it to the other request.

You would want to change this to listen on localhost only as well.


RE: [RELEASE] NHL Gamecenter Addon - optio - 2013-10-14

I recently installed the latest build of the addon and I'm currently seeing the following in my xbmc log:

Code:
15:00:02 T:3548  NOTICE: -->Python Interpreter Initialized<--
15:00:02 T:3548  NOTICE: Mode: None
15:00:02 T:3548  NOTICE: URL: None
15:00:02 T:3548  NOTICE: Name: None
15:00:02 T:3548  NOTICE: Logging in...
15:00:09 T:3548   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'ssl.SSLError'>
                                            Error Contents: [Errno 8] _ssl.c:490: EOF occurred in violation of protocol
                                            Traceback (most recent call last):
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 1159, in <module>
                                                CATEGORIES()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 438, in CATEGORIES
                                                login()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 108, in login
                                                response, content = http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1436, in request
                                                (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1188, in _request
                                                (response, content) = self._conn_request(conn, request_uri, method, body, headers)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1123, in _conn_request
                                                conn.connect()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 890, in connect
                                                self.disable_ssl_certificate_validation, self.ca_certs)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 76, in _ssl_wrap_socket
                                                cert_reqs=cert_reqs, ca_certs=ca_certs)
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 338, in wrap_socket
                                                suppress_ragged_eofs=suppress_ragged_eofs)
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 120, in __init__
                                                self.do_handshake()
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 279, in do_handshake
                                                self._sslobj.do_handshake()
                                            SSLError: [Errno 8] _ssl.c:490: EOF occurred in violation of protocol
                                            -->End of Python script error report<--
15:00:09 T:2184   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.nhl-gamecenter/
15:00:09 T:2184   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.nhl-gamecenter/) failed
15:00:09 T:2480  NOTICE: Thread Background Loader start, auto delete: false
15:01:45 T:6288  NOTICE: Previous line repeats 1 times.
15:01:45 T:6288  NOTICE: Thread XBPyThread start, auto delete: false
15:01:45 T:6288  NOTICE: -->Python Interpreter Initialized<--
15:01:45 T:5672  NOTICE: Thread Jobworker start, auto delete: true
15:01:45 T:2184   ERROR: Control 50 in window 10025 has been asked to focus, but it can't
15:01:46 T:6288  NOTICE: Mode: None
15:01:46 T:6288  NOTICE: URL: None
15:01:46 T:6288  NOTICE: Name: None
15:01:46 T:6288  NOTICE: Logging in...
15:01:47 T:6812  NOTICE: Thread Background Loader start, auto delete: false
15:01:47 T:4532  NOTICE: Thread XBPyThread start, auto delete: false
15:01:47 T:4532  NOTICE: -->Python Interpreter Initialized<--
15:01:49 T:2200  NOTICE: Thread XBPyThread start, auto delete: false
15:01:49 T:2200  NOTICE: -->Python Interpreter Initialized<--
15:01:50 T:2200  NOTICE: Mode: 8
15:01:50 T:2200  NOTICE: URL: /live
15:01:50 T:2200  NOTICE: Name: Live
15:01:50 T:2200  NOTICE: /live
15:01:50 T:4584  NOTICE: Thread Background Loader start, auto delete: false
15:01:51 T:860  NOTICE: Thread XBPyThread start, auto delete: false
15:01:51 T:860  NOTICE: -->Python Interpreter Initialized<--
15:01:52 T:860  NOTICE: Mode: 9
15:01:52 T:860  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:01:52 T:860  NOTICE: Name: LIVE - 16:46 3rd: Detroit vs. Boston
15:01:52 T:860  NOTICE: /liveDET vs. BOS 10/14/2013
15:01:52 T:860  NOTICE: Downloading m3u8 file
15:01:52 T:860  NOTICE: Done
15:01:52 T:860  NOTICE: Downloading m3u8 file
15:01:52 T:860  NOTICE: Done
15:01:55 T:860  NOTICE: HOME
15:01:55 T:860 WARNING: Attempt to use invalid handle -1
15:01:55 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:01:55 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:01:55 T:2388  NOTICE: Thread CDVDPlayer start, auto delete: false
15:01:55 T:2388  NOTICE: Creating InputStream
15:01:55 T:2388  NOTICE: Creating Demuxer
15:01:56 T:2388   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:01:56 T:2388   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:01:56 T:2388  NOTICE: CDVDPlayer::OnExit()
15:01:56 T:2388  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:01:56 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:01:56 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:01:56 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:01:56 T:2184  NOTICE: DVDPlayer: finished waiting
15:02:25 T:4212  NOTICE: Thread XBPyThread start, auto delete: false
15:02:25 T:4212  NOTICE: -->Python Interpreter Initialized<--
15:02:25 T:4212  NOTICE: Mode: 9
15:02:25 T:4212  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:02:25 T:4212  NOTICE: Name: LIVE - 16:46 3rd: Detroit vs. Boston
15:02:25 T:4212  NOTICE: /liveDET vs. BOS 10/14/2013
15:02:25 T:4212  NOTICE: Downloading m3u8 file
15:02:25 T:4212  NOTICE: Done
15:02:25 T:4212  NOTICE: Downloading m3u8 file
15:02:26 T:4212  NOTICE: Done
15:02:28 T:4212  NOTICE: HOME
15:02:28 T:4212 WARNING: Attempt to use invalid handle -1
15:02:28 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:02:28 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:28 T:548  NOTICE: Thread CDVDPlayer start, auto delete: false
15:02:28 T:548  NOTICE: Creating InputStream
15:02:28 T:548  NOTICE: Creating Demuxer
15:02:29 T:548   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:02:29 T:548   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:02:29 T:548  NOTICE: CDVDPlayer::OnExit()
15:02:29 T:548  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:02:29 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:02:29 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:29 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:02:29 T:2184  NOTICE: DVDPlayer: finished waiting
15:02:39 T:6332  NOTICE: Thread Background Loader start, auto delete: false
15:02:39 T:4904  NOTICE: Thread Jobworker start, auto delete: true
15:02:47 T:4400  NOTICE: Thread XBPyThread start, auto delete: false
15:02:47 T:4400  NOTICE: -->Python Interpreter Initialized<--
15:02:47 T:2184   ERROR: Control 50 in window 10025 has been asked to focus, but it can't
15:02:47 T:3404 WARNING: CWin32DirectSound::GetSpace - buffer underrun - W:17904, P:7320, O:17640.
15:02:47 T:4400  NOTICE: Mode: 8
15:02:47 T:4400  NOTICE: URL: /live
15:02:47 T:4400  NOTICE: Name: Live
15:02:47 T:4400  NOTICE: /live
15:02:48 T:4452  NOTICE: Thread Background Loader start, auto delete: false
15:02:48 T:544  NOTICE: Thread XBPyThread start, auto delete: false
15:02:48 T:544  NOTICE: -->Python Interpreter Initialized<--
15:02:49 T:1916  NOTICE: Thread XBPyThread start, auto delete: false
15:02:49 T:1916  NOTICE: -->Python Interpreter Initialized<--
15:02:49 T:1916  NOTICE: Mode: 9
15:02:49 T:1916  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:02:49 T:1916  NOTICE: Name: LIVE - 15:50 3rd: Detroit vs. Boston
15:02:49 T:1916  NOTICE: /liveDET vs. BOS 10/14/2013
15:02:49 T:1916  NOTICE: Downloading m3u8 file
15:02:49 T:1916  NOTICE: Done
15:02:49 T:1916  NOTICE: Downloading m3u8 file
15:02:50 T:1916  NOTICE: Done
15:02:52 T:1916  NOTICE: HOME
15:02:52 T:1916 WARNING: Attempt to use invalid handle -1
15:02:52 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:02:52 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:52 T:1204  NOTICE: Thread CDVDPlayer start, auto delete: false
15:02:52 T:1204  NOTICE: Creating InputStream
15:02:52 T:1204  NOTICE: Creating Demuxer
15:02:54 T:1204   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:02:54 T:1204   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:02:54 T:1204  NOTICE: CDVDPlayer::OnExit()
15:02:54 T:1204  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:02:54 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:02:54 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:54 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:02:54 T:2184  NOTICE: DVDPlayer: finished waiting
15:10:24 T:3400  NOTICE: Thread Jobworker start, auto delete: true
15:11:30 T:4212  NOTICE: Previous line repeats 1 times.
15:11:30 T:4212  NOTICE: Thread Background Loader start, auto delete: false
15:11:30 T:5468  NOTICE: Thread Jobworker start, auto delete: true

Any thoughts?


RE: [RELEASE] NHL Gamecenter Addon - Hyperium - 2013-10-14

(2013-10-14, 21:40)optio Wrote: I recently installed the latest build of the addon and I'm currently seeing the following in my xbmc log:

Code:
15:00:02 T:3548  NOTICE: -->Python Interpreter Initialized<--
15:00:02 T:3548  NOTICE: Mode: None
15:00:02 T:3548  NOTICE: URL: None
15:00:02 T:3548  NOTICE: Name: None
15:00:02 T:3548  NOTICE: Logging in...
15:00:09 T:3548   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'ssl.SSLError'>
                                            Error Contents: [Errno 8] _ssl.c:490: EOF occurred in violation of protocol
                                            Traceback (most recent call last):
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 1159, in <module>
                                                CATEGORIES()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 438, in CATEGORIES
                                                login()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\gamecenter.py", line 108, in login
                                                response, content = http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1436, in request
                                                (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1188, in _request
                                                (response, content) = self._conn_request(conn, request_uri, method, body, headers)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 1123, in _conn_request
                                                conn.connect()
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 890, in connect
                                                self.disable_ssl_certificate_validation, self.ca_certs)
                                              File "C:\Users\<user>\AppData\Roaming\XBMC\addons\script.module.httplib2\lib\httplib2\__init__.py", line 76, in _ssl_wrap_socket
                                                cert_reqs=cert_reqs, ca_certs=ca_certs)
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 338, in wrap_socket
                                                suppress_ragged_eofs=suppress_ragged_eofs)
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 120, in __init__
                                                self.do_handshake()
                                              File "C:\Program Files (x86)\XBMC\system\python\Lib\ssl.py", line 279, in do_handshake
                                                self._sslobj.do_handshake()
                                            SSLError: [Errno 8] _ssl.c:490: EOF occurred in violation of protocol
                                            -->End of Python script error report<--
15:00:09 T:2184   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.nhl-gamecenter/
15:00:09 T:2184   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.nhl-gamecenter/) failed
15:00:09 T:2480  NOTICE: Thread Background Loader start, auto delete: false
15:01:45 T:6288  NOTICE: Previous line repeats 1 times.
15:01:45 T:6288  NOTICE: Thread XBPyThread start, auto delete: false
15:01:45 T:6288  NOTICE: -->Python Interpreter Initialized<--
15:01:45 T:5672  NOTICE: Thread Jobworker start, auto delete: true
15:01:45 T:2184   ERROR: Control 50 in window 10025 has been asked to focus, but it can't
15:01:46 T:6288  NOTICE: Mode: None
15:01:46 T:6288  NOTICE: URL: None
15:01:46 T:6288  NOTICE: Name: None
15:01:46 T:6288  NOTICE: Logging in...
15:01:47 T:6812  NOTICE: Thread Background Loader start, auto delete: false
15:01:47 T:4532  NOTICE: Thread XBPyThread start, auto delete: false
15:01:47 T:4532  NOTICE: -->Python Interpreter Initialized<--
15:01:49 T:2200  NOTICE: Thread XBPyThread start, auto delete: false
15:01:49 T:2200  NOTICE: -->Python Interpreter Initialized<--
15:01:50 T:2200  NOTICE: Mode: 8
15:01:50 T:2200  NOTICE: URL: /live
15:01:50 T:2200  NOTICE: Name: Live
15:01:50 T:2200  NOTICE: /live
15:01:50 T:4584  NOTICE: Thread Background Loader start, auto delete: false
15:01:51 T:860  NOTICE: Thread XBPyThread start, auto delete: false
15:01:51 T:860  NOTICE: -->Python Interpreter Initialized<--
15:01:52 T:860  NOTICE: Mode: 9
15:01:52 T:860  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:01:52 T:860  NOTICE: Name: LIVE - 16:46 3rd: Detroit vs. Boston
15:01:52 T:860  NOTICE: /liveDET vs. BOS 10/14/2013
15:01:52 T:860  NOTICE: Downloading m3u8 file
15:01:52 T:860  NOTICE: Done
15:01:52 T:860  NOTICE: Downloading m3u8 file
15:01:52 T:860  NOTICE: Done
15:01:55 T:860  NOTICE: HOME
15:01:55 T:860 WARNING: Attempt to use invalid handle -1
15:01:55 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:01:55 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:01:55 T:2388  NOTICE: Thread CDVDPlayer start, auto delete: false
15:01:55 T:2388  NOTICE: Creating InputStream
15:01:55 T:2388  NOTICE: Creating Demuxer
15:01:56 T:2388   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:01:56 T:2388   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:01:56 T:2388  NOTICE: CDVDPlayer::OnExit()
15:01:56 T:2388  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:01:56 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:01:56 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:01:56 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:01:56 T:2184  NOTICE: DVDPlayer: finished waiting
15:02:25 T:4212  NOTICE: Thread XBPyThread start, auto delete: false
15:02:25 T:4212  NOTICE: -->Python Interpreter Initialized<--
15:02:25 T:4212  NOTICE: Mode: 9
15:02:25 T:4212  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:02:25 T:4212  NOTICE: Name: LIVE - 16:46 3rd: Detroit vs. Boston
15:02:25 T:4212  NOTICE: /liveDET vs. BOS 10/14/2013
15:02:25 T:4212  NOTICE: Downloading m3u8 file
15:02:25 T:4212  NOTICE: Done
15:02:25 T:4212  NOTICE: Downloading m3u8 file
15:02:26 T:4212  NOTICE: Done
15:02:28 T:4212  NOTICE: HOME
15:02:28 T:4212 WARNING: Attempt to use invalid handle -1
15:02:28 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:02:28 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:28 T:548  NOTICE: Thread CDVDPlayer start, auto delete: false
15:02:28 T:548  NOTICE: Creating InputStream
15:02:28 T:548  NOTICE: Creating Demuxer
15:02:29 T:548   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:02:29 T:548   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:02:29 T:548  NOTICE: CDVDPlayer::OnExit()
15:02:29 T:548  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:02:29 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:02:29 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:29 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:02:29 T:2184  NOTICE: DVDPlayer: finished waiting
15:02:39 T:6332  NOTICE: Thread Background Loader start, auto delete: false
15:02:39 T:4904  NOTICE: Thread Jobworker start, auto delete: true
15:02:47 T:4400  NOTICE: Thread XBPyThread start, auto delete: false
15:02:47 T:4400  NOTICE: -->Python Interpreter Initialized<--
15:02:47 T:2184   ERROR: Control 50 in window 10025 has been asked to focus, but it can't
15:02:47 T:3404 WARNING: CWin32DirectSound::GetSpace - buffer underrun - W:17904, P:7320, O:17640.
15:02:47 T:4400  NOTICE: Mode: 8
15:02:47 T:4400  NOTICE: URL: /live
15:02:47 T:4400  NOTICE: Name: Live
15:02:47 T:4400  NOTICE: /live
15:02:48 T:4452  NOTICE: Thread Background Loader start, auto delete: false
15:02:48 T:544  NOTICE: Thread XBPyThread start, auto delete: false
15:02:48 T:544  NOTICE: -->Python Interpreter Initialized<--
15:02:49 T:1916  NOTICE: Thread XBPyThread start, auto delete: false
15:02:49 T:1916  NOTICE: -->Python Interpreter Initialized<--
15:02:49 T:1916  NOTICE: Mode: 9
15:02:49 T:1916  NOTICE: URL: /liveDET vs. BOS 10/14/2013
15:02:49 T:1916  NOTICE: Name: LIVE - 15:50 3rd: Detroit vs. Boston
15:02:49 T:1916  NOTICE: /liveDET vs. BOS 10/14/2013
15:02:49 T:1916  NOTICE: Downloading m3u8 file
15:02:49 T:1916  NOTICE: Done
15:02:49 T:1916  NOTICE: Downloading m3u8 file
15:02:50 T:1916  NOTICE: Done
15:02:52 T:1916  NOTICE: HOME
15:02:52 T:1916 WARNING: Attempt to use invalid handle -1
15:02:52 T:2184  NOTICE: DVDPlayer: Opening: C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8/home.m3u8
15:02:52 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:52 T:1204  NOTICE: Thread CDVDPlayer start, auto delete: false
15:02:52 T:1204  NOTICE: Creating InputStream
15:02:52 T:1204  NOTICE: Creating Demuxer
15:02:54 T:1204   ERROR: CDVDDemuxFFmpeg::Open - Error, could not open file C:\Users\<user>\AppData\Roaming\XBMC\addons\plugin.video.nhl-gamecenter\m3u8\home.m3u8
15:02:54 T:1204   ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
15:02:54 T:1204  NOTICE: CDVDPlayer::OnExit()
15:02:54 T:1204  NOTICE: CDVDPlayer::OnExit() deleting input stream
15:02:54 T:2184  NOTICE: CDVDPlayer::CloseFile()
15:02:54 T:2184 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
15:02:54 T:2184  NOTICE: DVDPlayer: waiting for threads to exit
15:02:54 T:2184  NOTICE: DVDPlayer: finished waiting
15:10:24 T:3400  NOTICE: Thread Jobworker start, auto delete: true
15:11:30 T:4212  NOTICE: Previous line repeats 1 times.
15:11:30 T:4212  NOTICE: Thread Background Loader start, auto delete: false
15:11:30 T:5468  NOTICE: Thread Jobworker start, auto delete: true

Any thoughts?

No offence, but if you read just a couple posts back you'd see this has been what everyone has been talking about.


RE: [RELEASE] NHL Gamecenter Addon - apok - 2013-10-15

Make sure the webserver port is configurable if you go that route.


RE: [RELEASE] NHL Gamecenter Addon - avens19 - 2013-10-15

As discussed with Hyperium, I don't think the webserver is necessary. It's easy to use string operations on the Windows path to replace "\\" with "/". However, this gets us no closer to the issue of why XBMC is crashing now


RE: [RELEASE] NHL Gamecenter Addon - Carb0 - 2013-10-15

I know that it's easy to replace "\\" with "/" but when the streams still don't work, a different approach is necessary.


RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-15

(2013-10-15, 01:28)avens19 Wrote: As discussed with Hyperium, I don't think the webserver is necessary. It's easy to use string operations on the Windows path to replace "\\" with "/". However, this gets us no closer to the issue of why XBMC is crashing now

Its not working 100% with the file method though. And you will get into file locking issues with the file as well. You definitely need to write to a tmp file and then mv it to the file name you want if that is not already being done as if not xbmc will ultimately read a partially written file at some point. I've already had a few cases of being kicked out of tonights wash/edmonton feed and I have not been watching that long. Yes using a little http proxy is ugly but it is by far more elegant then writing to disk every 10 seconds and if you are in a sitation with a RPi or other device using an sdcard its going to be much better as its not doing unneeded writes to shorten the life of flash media.

Edit: For me XBMC + NHL Gamecenter has always had crashing issues on windows. On ubuntu though (my htpc) it is fine.


RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-15

(2013-10-15, 01:45)Carb0 Wrote: I know that it's easy to replace "\\" with "/" but when the streams still don't work, a different approach is necessary.

Did you have any luck with the sample code I gave you? I'd get it working external to the addon first by just changing the url the addon is using and then incorporate it when you are happy with it.


RE: [RELEASE] NHL Gamecenter Addon - Carb0 - 2013-10-15

It works when I run the server in an external python interpreter. But I'm not sure how to run it inside the add-on. I tried to run the server in a new thread but the add-on doesn't start (no error, just a spinning wheel, but I can access the server from a browser).


RE: [RELEASE] NHL Gamecenter Addon - juggie - 2013-10-15

This thread discusses it. http://forum.xbmc.org/showthread.php?pid=541715%23pid541715

Can you start a thread to do something else and just print something to the log every x seconds without issue?