My problems start with the new ObjectContainer and TrackObject style.
1. It appears the URL won't be handled properly, and won't open at all. I get errors when the plugin attempts to access the URL, usually related to an exception from the TrackObject itself. It specifically claims that there is no service for the URL.*
2. Moving back to an old framework setup (MediaContainer() and TrackItem()) doesn't solve much, but does permit the plugin to at least get a directory listing of the various streams. While not perfect, that part is functional for now. I can't open the audio stream and the thumbnails are completely wrong, but it's kind of working.
* The specific errors are a little obscure:
No service found for URL 'http://streamer.FOOBAR.com:80/stream/1018'
Exception when constructing response:
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/components/runtime.py", line 818, in construct_response<br />
resultStr = self._core.data.xml.to_string(result._to_xml(context=context))<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/objectkit.py", line 356, in _to_xml<br />
el = Framework.modelling.objects.ModelInterfaceObjectContainer._to_xml(self, context)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 351, in _to_xml<br />
root = Container._to_xml(self, context)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 124, in _to_xml<br />
self._append_children(root, self._objects, context)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/modelling/objects.py", line 130, in _append_children<br />
el = obj._to_xml(context)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/objectkit.py", line 292, in _to_xml<br />
if urlservice._media_objects_function_for_url_is_deferred(url):<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/servicekit.py", line 87, in _media_objects_function_for_url_is_deferred<br />
return self._media_objects_function_for_service_is_deferred(service)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/servicekit.py", line 90, in _media_objects_function_for_service_is_deferred<br />
return self._function_for_service_is_deferred(service, 'MediaObjectsForURL')<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/servicekit.py", line 93, in _function_for_service_is_deferred<br />
ret = self._core.services._function_in_service_is_deferred(f_name, service, context=self._context)<br />
File "/Users/jb/Library/Application Support/Plex Media Server/Plug-ins/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/core.py", line 829, in _function_in_service_is_deferred<br />
return service.host.function_is_deferred(fname, self._create_service_context(service.host, context))<br />
AttributeError: 'NoneType' object has no attribute 'host'<br />
What I'm trying to insert in to the ObjectContainer():
<br />
oc.add(TrackObject(<br />
url='http://streamer.FOOBAR.com:80/stream/1018',<br />
title = title,<br />
thumb = Callback(Thumb, url=thumb),<br />
))<br />
Yes, these are intentionally the same stream of audio. I'm still debugging why it won't even build the container for the streams on the fly.