Subsonic API: try to recognize some formats in stream endpoint (mp3, opus, vorbis)

This commit is contained in:
emeric
2023-10-15 15:42:09 +02:00
parent 806599dedb
commit 8780bbdffa
14 changed files with 670 additions and 763 deletions
+45 -55
View File
@@ -30,73 +30,63 @@
namespace Database {
User::User(std::string_view loginName)
: _loginName {loginName}
{
}
User::User(std::string_view loginName)
: _loginName{ loginName }
{
}
User::pointer
User::create(Session& session, std::string_view loginName)
{
return session.getDboSession().add(std::unique_ptr<User> {new User {loginName}});
}
User::pointer User::create(Session& session, std::string_view loginName)
{
return session.getDboSession().add(std::unique_ptr<User> {new User{ loginName }});
}
std::size_t
User::getCount(Session& session)
{
session.checkSharedLocked();
std::size_t User::getCount(Session& session)
{
session.checkSharedLocked();
return session.getDboSession().query<int>("SELECT COUNT(*) FROM user");
}
return session.getDboSession().query<int>("SELECT COUNT(*) FROM user");
}
RangeResults<UserId>
User::find(Session& session, const FindParameters& params)
{
session.checkSharedLocked();
RangeResults<UserId> User::find(Session& session, const FindParameters& params)
{
session.checkSharedLocked();
auto query {session.getDboSession().query<UserId>("SELECT id FROM user")};
auto query{ session.getDboSession().query<UserId>("SELECT id FROM user") };
if (params.scrobbler)
query.where("scrobbler = ?").bind(*params.scrobbler);
if (params.scrobbler)
query.where("scrobbler = ?").bind(*params.scrobbler);
return Utils::execQuery(query, params.range);
}
return Utils::execQuery(query, params.range);
}
User::pointer
User::findDemoUser(Session& session)
{
session.checkSharedLocked();
User::pointer User::findDemoUser(Session& session)
{
session.checkSharedLocked();
return session.getDboSession().find<User>().where("type = ?").bind(UserType::DEMO).resultValue();
}
return session.getDboSession().find<User>().where("type = ?").bind(UserType::DEMO).resultValue();
}
User::pointer
User::find(Session& session, UserId id)
{
return session.getDboSession().find<User>().where("id = ?").bind(id).resultValue();
}
User::pointer User::find(Session& session, UserId id)
{
return session.getDboSession().find<User>().where("id = ?").bind(id).resultValue();
}
User::pointer
User::find(Session& session, std::string_view name)
{
return session.getDboSession().find<User>()
.where("login_name = ?").bind(name)
.resultValue();
}
User::pointer User::find(Session& session, std::string_view name)
{
return session.getDboSession().find<User>()
.where("login_name = ?").bind(name)
.resultValue();
}
void
User::setSubsonicTranscodeBitrate(Bitrate bitrate)
{
assert(isAudioBitrateAllowed(bitrate));
_subsonicTranscodeBitrate = bitrate;
}
void User::setSubsonicDefaultTranscodeBitrate(Bitrate bitrate)
{
assert(isAudioBitrateAllowed(bitrate));
_subsonicDefaultTranscodeBitrate = bitrate;
}
void
User::clearAuthTokens()
{
_authTokens.clear();
}
void User::clearAuthTokens()
{
_authTokens.clear();
}
} // namespace Database