Switch to unified view

a/src/mediaserver/cdplugins/plgwithslave.cxx b/src/mediaserver/cdplugins/plgwithslave.cxx
...
...
60
    string media_url;
60
    string media_url;
61
    long long len;
61
    long long len;
62
    time_t opentime;
62
    time_t opentime;
63
};
63
};
64
64
65
// Timeout seconds for reading data from plugins. Be generous because
66
// streaming services are sometimes slow, but we don't want to be
67
// stuck forever.
68
static const int read_timeout(60);
69
65
class PlgWithSlave::Internal {
70
class PlgWithSlave::Internal {
66
public:
71
public:
67
    Internal(PlgWithSlave *_plg, const string& exe, const string& hst,
72
    Internal(PlgWithSlave *_plg, const string& exe, const string& hst,
68
             int prt, const string& pp)
73
             int prt, const string& pp)
69
        : plg(_plg), exepath(exe), upnphost(hst), upnpport(prt), pathprefix(pp), 
74
        : plg(_plg), cmd(read_timeout), exepath(exe), upnphost(hst),
70
          laststream(this) {
75
          upnpport(prt), pathprefix(pp), laststream(this) { }
71
    }
72
76
73
    bool maybeStartCmd();
77
    bool maybeStartCmd();
74
78
75
    PlgWithSlave *plg;
79
    PlgWithSlave *plg;
76
    CmdTalk cmd;
80
    CmdTalk cmd;
...
...
329
        JSONTOUPS(title, tt);
333
        JSONTOUPS(title, tt);
330
        JSONTOUPS(artUri, upnp:albumArtURI);
334
        JSONTOUPS(artUri, upnp:albumArtURI);
331
        JSONTOUPS(artist, upnp:artist);
335
        JSONTOUPS(artist, upnp:artist);
332
        JSONTOUPS(upnpClass, upnp:class);
336
        JSONTOUPS(upnpClass, upnp:class);
333
        JSONTOUPS(date, dc:date)
337
        JSONTOUPS(date, dc:date)
338
        JSONTOUPS(date, releasedate)
334
        // tp is container ("ct") or item ("it")
339
        // tp is container ("ct") or item ("it")
335
        string stp = decoded[i].get("tp", "").asString();
340
        string stp = decoded[i].get("tp", "").asString();
336
        if (!stp.compare("ct")) {
341
        if (!stp.compare("ct")) {
337
            song.iscontainer = true;
342
            song.iscontainer = true;
338
            string ss = decoded[i].get("searchable", "").asString();
343
            string ss = decoded[i].get("searchable", "").asString();