Overwrite sample format for airplay before ctor is called

This commit is contained in:
Christian Flach 2020-01-28 14:46:41 +01:00 committed by Johannes Pohl
parent 862f08da9f
commit a7808cfec3
3 changed files with 8 additions and 9 deletions

View file

@ -75,10 +75,18 @@ PcmStreamPtr StreamManager::addStream(const std::string& uri)
}
else if ((streamUri.scheme == "spotify") || (streamUri.scheme == "librespot"))
{
// Overwrite sample format here instead of inside the constructor, to make sure
// that all constructors of all parent classes also use the overwritten sample
// format.
streamUri.query[kUriSampleFormat] = "44100:16:2";
stream = make_shared<LibrespotStream>(pcmListener_, ioc_, streamUri);
}
else if (streamUri.scheme == "airplay")
{
// Overwrite sample format here instead of inside the constructor, to make sure
// that all constructors of all parent classes also use the overwritten sample
// format.
streamUri.query[kUriSampleFormat] = "44100:16:2";
stream = make_shared<AirplayStream>(pcmListener_, ioc_, streamUri);
}
else if (streamUri.scheme == "tcp")