|
a/src/ohsndrcv.cxx |
|
b/src/ohsndrcv.cxx |
|
... |
|
... |
52 |
scalestream = atoi(value.c_str()) != 0;
|
52 |
scalestream = atoi(value.c_str()) != 0;
|
53 |
}
|
53 |
}
|
54 |
if (g_config->get("scscriptgracesecs", value)) {
|
54 |
if (g_config->get("scscriptgracesecs", value)) {
|
55 |
graceperiodms = atoi(value.c_str()) * 1000;
|
55 |
graceperiodms = atoi(value.c_str()) * 1000;
|
56 |
}
|
56 |
}
|
|
|
57 |
g_config->get("scstreamcodec", streamcodec);
|
57 |
}
|
58 |
}
|
58 |
~Internal() {
|
59 |
~Internal() {
|
59 |
clear();
|
60 |
clear();
|
60 |
}
|
61 |
}
|
61 |
void clear() {
|
62 |
void clear() {
|
|
... |
|
... |
76 |
ExecCmd *isender{nullptr};
|
77 |
ExecCmd *isender{nullptr};
|
77 |
ExecCmd *ssender{nullptr};
|
78 |
ExecCmd *ssender{nullptr};
|
78 |
string iuri;
|
79 |
string iuri;
|
79 |
string imeta;
|
80 |
string imeta;
|
80 |
string makeisendercmd;
|
81 |
string makeisendercmd;
|
|
|
82 |
string streamcodec;
|
81 |
int mpdport;
|
83 |
int mpdport;
|
82 |
bool scalestream{true};
|
84 |
bool scalestream{true};
|
83 |
int graceperiodms{0};
|
85 |
int graceperiodms{0};
|
84 |
};
|
86 |
};
|
85 |
|
87 |
|
|
... |
|
... |
137 |
args.push_back(SoapHelp::i2s(m->mpdport));
|
139 |
args.push_back(SoapHelp::i2s(m->mpdport));
|
138 |
args.push_back("-f");
|
140 |
args.push_back("-f");
|
139 |
args.push_back(m->dev->m_friendlyname);
|
141 |
args.push_back(m->dev->m_friendlyname);
|
140 |
if (!m->scalestream)
|
142 |
if (!m->scalestream)
|
141 |
args.push_back("-e");
|
143 |
args.push_back("-e");
|
|
|
144 |
if (!m->streamcodec.empty() &&
|
|
|
145 |
stringicmp(m->streamcodec, "PCM")) {
|
|
|
146 |
args.push_back("-C");
|
|
|
147 |
args.push_back(m->streamcodec);
|
|
|
148 |
}
|
142 |
m->isender->startExec(m->makeisendercmd, args, false, true);
|
149 |
m->isender->startExec(m->makeisendercmd, args, false, true);
|
143 |
} else if (!script.empty()) {
|
150 |
} else if (!script.empty()) {
|
144 |
// External source. ssender should already be zero, we delete
|
151 |
// External source. ssender should already be zero, we delete
|
145 |
// it just in case
|
152 |
// it just in case
|
146 |
deleteZ(m->ssender);
|
153 |
deleteZ(m->ssender);
|