PlexConnect on ATV 7.0 GM (iOS 8.0 GM)

I'm using aTV3 7.0, latest PlexConnect and the trailers app, and purchasing, renting, playing and streaming from the iTunes store works perfectly fine.

I'll switch it back to Trailers today and try again.  I guess it's possible I tested this when iTunes in the Cloud was actually having issues.  Weird!

 
Ok. It was simpler than it sounded:
Process() creates actual processes (duh!) thru fork(), so the changes to the globals performed inside WebServer.Run() don't carry over to WebServer.Run_SSL().
Question is "how it ever worked before"? Even better question "Why does it work for Trailers"?
 
Example code:

#!/usr/bin/python

from time import sleep
from multiprocessing import Process

v=‘not changed’

def process_1():
global v
v=‘changed’
print “process_1 V: %s” % repr(v)
sleep(15)

def process_2():
global v

print "process_2 V: %s" % repr(v)
sleep(15)

print “create process 1”
proc1 = Process(target=process_1)
proc1.start()
sleep(5)
print “create process 2”
proc2 = Process(target=process_2)
proc2.start()
sleep(5)

print “waiting…”
proc1.join()
proc2.join()
print “done”

This patch changes from Process() to Thread() and everything works fine with iMovie Theater.
 

diff --git a/PlexConnect.py b/PlexConnect.py
index 6a179f3..5391898 100755
--- a/PlexConnect.py
+++ b/PlexConnect.py
@@ -11,7 +11,8 @@ inter-process-communication (queue): http://pymotw.com/2/multiprocessing/communi
 import sys, time
 from os import sep
 import socket
-from multiprocessing import Process, Pipe
+from multiprocessing import Pipe
+from threading import Thread
 import signal, errno

from Version import VERSION
@@ -79,7 +80,7 @@ def startup():
# init DNSServer
if cfg.getSetting(‘enable_dnsserver’)==‘True’:
master, slave = Pipe() # endpoint [0]-PlexConnect, [1]-DNSServer

  •    proc = Process(target=DNSServer.Run, args=(slave, param))
    
  •    proc = Thread(target=DNSServer.Run, args=(slave, param))
       proc.start()
       
       time.sleep(0.1)
    

@@ -93,7 +94,7 @@ def startup():
# init WebServer
if running:
master, slave = Pipe() # endpoint [0]-PlexConnect, [1]-WebServer

  •    proc = Process(target=WebServer.Run, args=(slave, param))
    
  •    proc = Thread(target=WebServer.Run, args=(slave, param))
       proc.start()
       
       time.sleep(0.1)
    

@@ -108,7 +109,7 @@ def startup():
if running and
cfg.getSetting(‘enable_webserver_ssl’)==‘True’:
master, slave = Pipe() # endpoint [0]-PlexConnect, [1]-WebServer

  •    proc = Process(target=WebServer.Run_SSL, args=(slave, param))
    
  •    proc = Thread(target=WebServer.Run_SSL, args=(slave, param))
       proc.start()
       
       time.sleep(0.1)
    

diff --git a/WebServer.py b/WebServer.py
index fcbfcb8…7b3746f 100755
— a/WebServer.py
+++ b/WebServer.py
@@ -21,7 +21,6 @@ from SocketServer import ThreadingMixIn
import ssl
from multiprocessing import Pipe # inter process communication
import urllib
-import signal

import Settings, ATVSettings
from Debug import * # dprint()
@@ -240,9 +239,6 @@ class ThreadedHTTPServer(ThreadingMixIn, HTTPServer):

def Run(cmdPipe, param):

  • if not name == ‘main’:

  •    signal.signal(signal.SIGINT, signal.SIG_IGN)
    
  • dinit(name, param) # init logging, WebServer process

    cfg_IP_WebServer = param[‘IP_self’]
    @@ -277,7 +273,6 @@ def Run(cmdPipe, param):
    server.handle_request()

    except KeyboardInterrupt:

  •    signal.signal(signal.SIGINT, signal.SIG_IGN)  # we heard you!
       dprint(__name__, 0,"^C received.")
    

    finally:
    dprint(name, 0, “Shutting down.”)
    @@ -288,9 +283,6 @@ def Run(cmdPipe, param):

def Run_SSL(cmdPipe, param):

  • if not name == ‘main’:

  •    signal.signal(signal.SIGINT, signal.SIG_IGN)
    
  • dinit(name, param) # init logging, WebServer process

    cfg_IP_WebServer = param[‘IP_self’]
    @@ -339,7 +331,6 @@ def Run_SSL(cmdPipe, param):
    server.handle_request()

    except KeyboardInterrupt:

  •    signal.signal(signal.SIGINT, signal.SIG_IGN)  # we heard you!
       dprint(__name__, 0,"^C received.")
    

    finally:
    dprint(name, 0, “Shutting down.”)

@Baa Any chance this can be pulled into GitHub?

Sure... something like this. I still prefer processes, can't really tell why. :-)

I just would like to understand the difference from Trailers to iMovie - updating my aTV right now... looking into it over the next couple of days.

The Overlay of Time and End Time would not hide if i start playing something. I have to bring up the scrubber bar, then it hide.

> Overlay

Interesting. The issue seems to be that iOS now doesn't show the progress bar right at the beginning. It's not shown, it won't need to get hidden - so PlexConnect is not notified to fade out the own displays.

Will get fixed - like generate hidden at startup, or add a nice reminder to hide it 5sec later?

I'd prefer it to be hidden after a set amount of time, but that's just me.

If it's easier to hide it from the beginning and only show it after I bring up the progress bar, that's alright as well IMHO.

Btw. thanks for your awesome work. PlexConnect has enabled me to have my own private Netflix for a long time now and I use it almost daily!

I'm using aTV3 7.0, latest PlexConnect and the trailers app, and purchasing, renting, playing and streaming from the iTunes store works perfectly fine.

Well it worked today! :)  I must have been upgrading my aTVs at the wrong time.

Here are the patched files:

http://s000.tinyupload.com/index.php?file_id=43833536325928323332

works great for me ... until baa is doing an official patch ... thanks to Il Demone Guardiano for the quick fix!  :-)

Every time I have problems with Openplex/PlexConnect and my aTV3 I wished I never would have purchased this device in the first place. Since 2 weeks I got the 'not available' error on my aTV and I couldn't resolve it till today. I thought I would restore the device and also updated Openplex to version 0.3.0. I still have the same problem. I tried with iMovie (which I now know it doesn't work anymore), Trailers app and now with WSJ Live. They both do not work. I always get the same error... :wacko:

Edit: I know this is not a aTV v7.0 problem but, I thought I would join in anyway, since I have this problem now also with this version.

So iMovie is working once again?

Every time I have problems with Openplex/PlexConnect and my aTV3 I wished I never would have purchased this device in the first place. Since 2 weeks I got the 'not available' error on my aTV and I couldn't resolve it till today. I thought I would restore the device and also updated Openplex to version 0.3.0. I still have the same problem. I tried with iMovie (which I now know it doesn't work anymore), Trailers app and now with WSJ Live. They both do not work. I always get the same error... :wacko:

Edit: I know this is not a aTV v7.0 problem but, I thought I would join in anyway, since I have this problem now also with this version.

What not available error are you receiving? Multiple users have used OpenPlex with success from 10.6-10.10 the latest beta. OpenPlex installs PlexConnect it doesn't fix errors with OSX no offense.

The error is: Trailers/WSJ Live no está disponible, intentelo de nuevo más tarde. This would be in English: Trailers/WSJ Live is not available. Please try again later.

I am with OSX 10.9.4 and as I said before, I didn't had this problem which means I have used OpenPlex with success too. :D What do you mean with OSX errors? Any hint where I should look?

This is how I properly install plexconnect with success everytime using openplex:

1. Choose a theme 

2. Generate a new cert (WSJ or Trailers if on IOS 8)

3. Delete all certs from aTV

4. Load new certs on aTV via network method https://github.com/iBaa/PlexConnect/wiki/Install-Guide-Certificate-via-Ethernet (use  "/.cer") for example 192.168.1.100/trailers.cer

5. Restart aTV (clear cache)

6. Try hijack

Works every time unless the OS is corrupted or your network is broken.

Thats exactly what I did. :( How can I find out if my OS is corrupted or my network broken? Also, weird that on my friends computer, with another network in another household happened the same thing during the same week...

Argh, apologies - first off. Secondly and sorry to jump in here, but my buddy just got an AppleTV and looking at the videos and install guides I was hoping to get confirmation before I set this up - this is only good for locally stored and served data, right? No way to access shared servers?

Not sure, you would need to debug what the issue is I doubt its the app. Have you updated (existing users)? If yes I would look elsewhere.


Argh, apologies - first off. Secondly and sorry to jump in here, but my buddy just got an AppleTV and looking at the videos and install guides I was hoping to get confirmation before I set this up - this is only good for locally stored and served data, right? No way to access shared servers?

 

Myplex allows you to view shared content via PlexConnect. Just goto plex.tv and setup your remote servers then login to myplex in the settings tab of the aTV. Whomever you want to share to you needs to send you a invite to their server via plex.tv.

Thanks for the reply!

Here are the patched files:

http://s000.tinyupload.com/index.php?file_id=43833536325928323332

works great for me ... until baa is doing an official patch ... thanks to Il Demone Guardiano for the quick fix! :-)


So iMovie is working once again?


Yes. With this patch iMovies is working again... :-)

Confirmed for me also, with the patch iMovies is working fine.

I think I might hold off my run through of checking what apps can be hijacked until there's a decision as to wether the patch is going to be merged into the code. Just seems sensible to wait and test with the new code, rather than test now and then run another set of tests