MCPcopy Create free account
hub / github.com/Barracuda09/SATPI / transformStreamString

Method transformStreamString

src/input/Transformation.cpp:140–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138 }
139
140 std::string Transformation::transformStreamString(
141 const int streamID,
142 const std::string &msg,
143 const std::string &method) {
144 base::MutexLock lock(_mutex);
145 std::string msgTrans = msg;
146 if (_enabled && _fileParsed) {
147 const double freq = StringConverter::getDoubleParameter(msg, method, "freq=");
148 if (freq > 0.0) {
149 const std::string uriMain = _m3u.findURIFor(freq);
150 if (!uriMain.empty()) {
151 _transform = true;
152
153 // remove '*pids' from uri
154 base::StringTokenizer tokenizer(uriMain, "?& ");
155 tokenizer.removeToken("addpids=");
156 tokenizer.removeToken("delpids=");
157 const std::string uri = tokenizer.removeToken("pids=");
158
159 const input::InputSystem msys = StringConverter::getMSYSParameter(msg, method);
160 if (msys != input::InputSystem::UNDEFINED) {
161 _transformedDeviceData.setDeliverySystem(msys);
162 }
163
164 msgTrans = method;
165 msgTrans += " ";
166 msgTrans += uri;
167 const std::string pidsList = StringConverter::getStringParameter(msg, method, "pids=");
168 if (!pidsList.empty()) {
169 msgTrans += "&pids=";
170 msgTrans += pidsList;
171 }
172 const std::string addpidsList = StringConverter::getStringParameter(msg, method, "addpids=");
173 if (!addpidsList.empty()) {
174 msgTrans += "&addpids=";
175 msgTrans += addpidsList;
176 }
177 const std::string delpidsList = StringConverter::getStringParameter(msg, method, "delpids=");
178 if (!delpidsList.empty()) {
179 msgTrans += "&delpids=";
180 msgTrans += delpidsList;
181 }
182 msgTrans += " RTSP/1.0";
183 SI_LOG_INFO("Stream: %d, Request Transformed to %s", streamID, msgTrans.c_str());
184 }
185 }
186 }
187 return msgTrans;
188 }
189
190 const DeviceData &Transformation::transformDeviceData(
191 const DeviceData &deviceData) const {

Callers 4

parseStreamStringMethod · 0.80
parseStreamStringMethod · 0.80
parseStreamStringMethod · 0.80
parseStreamStringMethod · 0.80

Calls 3

findURIForMethod · 0.80
removeTokenMethod · 0.80
setDeliverySystemMethod · 0.80

Tested by

no test coverage detected