I've been struggling for a while with a new project. As it turns out the PMS lacked some functions (for this project at least), and it can't be like that can it? So I rolled up my shirt and got my hands all dirty.

Below are two patches (actually there are four files patched). One which allows the "Search" primitive to be used (not just XBOX), and one which allows remote controls to "push" media to renders.

The remote control feature is simple and only requires a config option "remote_control=true" in the PMS.conf. The remote control is a device that will browse the server and the push the data to a render. Without this patch the PMS was a bit confused when the redner asked for media it had not browsed itself.

The second patch enables searching. It is no rocket science here all chil discovering is done as normal and the it filters in the requset base on name, media info etc. However the saerch is prepared to be more intelligent than that. The search strin is passed down to the discoverChildren function (which now comes in two variants on with and one withou argument), by default the search string is just dropped and everything works as normal. But if you hav a search engine on the other side (like grooveshark,spotify,you tube etc.) you can override the discoverchildren(str) and send the string directly to the search engine. If you do override this method you must also override the isSearched function which then must return true. This function disables the output filter in request.

As always I'm more of a hacker then a documenter . Anyway, once agian:1) One of the patches adds support for "search". In DLNA/UPnP there are two primitives (search and browse). Browse is what PMS supports now (you click your way around in some sort of directory/folder structure from the "render"). Search on the other and allows the render to send a search string to the server and then allow the server to pass back those entries that matches this search string. Very few servers I've tried supports search (and even fever renders). But since I can't live with such holes I plugged both. The search can be used as is in the patch (everything is working) but you could be more efficient towards places like youtube etc. and continue to pass the search string direct to them. Thats the nonsense about discoverChildern...

2) Remote control support. DLNA/UPnP supports remote controling. You use one device to browse/search the server and then another device(=render) to view/listen to the media on. The trouble for PMS was that the file tree was render based. That is render A had its tree and render B his tree. If you browsed in via a remote control and then ordered a render to play this media file PMS would look up the render and say "this file cannot be found in your tree". The patch plugs this hole, but I added a config option so people can activate this feature if they like it on.

As always when shipping code there sneaks in some small bugs in it. The observant reader could find the bug in Request.java.Otherwise I'll fix it tomorrow.

Patch i smade towards 409 but the areas in the code are not modified in 412. Don't know how to search on PS3 (nor on bravia XBOX etc.) since it has no keyboard. I used my own client . An android remote ctrl app (for searching). Media clients that i played media on is Bravia, XMBC,Andriod.

SharkHunter wrote:As always I'm more of a hacker then a documenter . Anyway, once agian:1) One of the patches adds support for "search". In DLNA/UPnP there are two primitives (search and browse). Browse is what PMS supports now (you click your way around in some sort of directory/folder structure from the "render"). Search on the other and allows the render to send a search string to the server and then allow the server to pass back those entries that matches this search string. Very few servers I've tried supports search (and even fever renders). But since I can't live with such holes I plugged both. The search can be used as is in the patch (everything is working) but you could be more efficient towards places like youtube etc. and continue to pass the search string direct to them. Thats the nonsense about discoverChildern...

2) Remote control support. DLNA/UPnP supports remote controling. You use one device to browse/search the server and then another device(=render) to view/listen to the media on. The trouble for PMS was that the file tree was render based. That is render A had its tree and render B his tree. If you browsed in via a remote control and then ordered a render to play this media file PMS would look up the render and say "this file cannot be found in your tree". The patch plugs this hole, but I added a config option so people can activate this feature if they like it on.

As always when shipping code there sneaks in some small bugs in it. The observant reader could find the bug in Request.java.Otherwise I'll fix it tomorrow.

Just one important question:

Does the PS3 support rendering video that is pushed to it? Can I use my PC (where ps3mediaserver runs) or an android phone to select the actual source media, rather than clumsily using the PS3 XMB to find the file I want to play?

hi, i have the sony bravia KDL-46V5800 (firmware: 1.740SA) as render, the BubbleUPnP app for android as remote controler and PS3MediaServer 1.50 as server. I can search the libary but playing a file (music or video) i get the error: Action SetAVTransportURI failed (code 714). Anybody know what the problem is?

Yes, thats the illegal mime error. This means that the BubbleUpnp doesn't take care of the transcoding etc. that PMS can handle. PMS reports that the media is of mime type x and then when the remote then sends this info to the bravia the bravia doesn't support this type. The remote should "translate" the mime type to something the bravia can handle. Do I need to say that SharkMote does this?