summaryrefslogtreecommitdiff
path: root/src/database/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-01-17 15:31:23 +1100
committerjacqueline <me@jacqueline.id.au>2024-01-17 15:31:23 +1100
commit1f5249de6f7e81aa6ff2586e386f526676e67c81 (patch)
tree5fcc9737e71b3b6b20b7156ea4e759b558f732a3 /src/database/include
parent08d16e858075e66df1bae3fea9d955e1b6cb73a9 (diff)
downloadtangara-fw-1f5249de6f7e81aa6ff2586e386f526676e67c81.tar.gz
shift some long-lived allocs into spi ram
Diffstat (limited to 'src/database/include')
-rw-r--r--src/database/include/tag_parser.hpp2
-rw-r--r--src/database/include/track.hpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/database/include/tag_parser.hpp b/src/database/include/tag_parser.hpp
index 977c9afc..fe7a95f3 100644
--- a/src/database/include/tag_parser.hpp
+++ b/src/database/include/tag_parser.hpp
@@ -41,7 +41,7 @@ class TagParserImpl : public ITagParser {
* cache should be slightly larger than any page sizes in the UI.
*/
std::mutex cache_mutex_;
- util::LruCache<16, std::pmr::string, std::shared_ptr<TrackTags>> cache_;
+ util::LruCache<8, std::pmr::string, std::shared_ptr<TrackTags>> cache_;
// We could also consider keeping caches of artist name -> std::string and
// similar. This hasn't been done yet, as this isn't a common workload in
diff --git a/src/database/include/track.hpp b/src/database/include/track.hpp
index 610ab487..76b1c56e 100644
--- a/src/database/include/track.hpp
+++ b/src/database/include/track.hpp
@@ -74,6 +74,8 @@ auto tagToString(const TagValue&) -> std::string;
*/
class TrackTags {
public:
+ static auto create() -> std::shared_ptr<TrackTags>;
+
TrackTags()
: encoding_(Container::kUnsupported), genres_(&memory::kSpiRamResource) {}