Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  EXTM3U format support?
« previous next »
  • Print
Pages: 1 [2]

Author Topic: EXTM3U format support?  (Read 8723 times)

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: EXTM3U format support?
« Reply #15 on: September 03, 2007, 06:30:00 AM »
Quote from: polygonal on September 02, 2007, 11:29:36 AM
Yeah, I don't know why the tagcache searches for known filenames are so slow.

The main reason that patch is slow is that it makes a search each time an item is to be displayed (and if done on a player with an lcd remote, it would probably be two searches per item). Even if the database can be made faster, I'm not sure it is reasonable to expect it to be fast enough for that...

Quote
1. if initiated from filebrowser, set up a tagcache search based on a "containing" clause of the dir name and retrieve the entries, which should be fast since the current database tagtree works this way and it is quite fast.

In the playlist viewer, a single search isn't always enough. You might have to make a separate search for each item...
Logged

Offline polygonal

  • Member
  • *
  • Posts: 64
Re: EXTM3U format support?
« Reply #16 on: September 03, 2007, 10:37:39 AM »
Quote from: Lear on September 03, 2007, 06:30:00 AM
The main reason that patch is slow is that it makes a search each time an item is to be displayed (and if done on a player with an lcd remote, it would probably be two searches per item). Even if the database can be made faster, I'm not sure it is reasonable to expect it to be fast enough for that...

Not really. My local patch actually search the database only once at the same time as the viewer ask for the filenames (and stores the track title instead of filename in the viewer entry struct). I have a tcs set up and reuse it. I think what is slow is the process of finding the tagcache idx for a given filename (it should be fast to find the tag information after the idx is known).

Quote
In the playlist viewer, a single search isn't always enough. You might have to make a separate search for each item...

Maybe you are right - I forgot about the fact that you can insert shuffled, then tagcache search get next won't be very helpful. But in this case, the speed will still be a big concern since as I remarked above, doing a single search for each item is very, very slow.
Logged

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: EXTM3U format support?
« Reply #17 on: September 03, 2007, 01:03:22 PM »
So you're doing it in playlist_entry_load (or something similar, rather than playlist_callback_name) and it is still very slow? Any idea how long time a single search takes, roughly?
Logged

Offline polygonal

  • Member
  • *
  • Posts: 64
Re: EXTM3U format support?
« Reply #18 on: September 03, 2007, 01:38:25 PM »
Quote from: Lear on September 03, 2007, 01:03:22 PM
So you're doing it in playlist_entry_load (or something similar, rather than playlist_callback_name) and it is still very slow? Any idea how long time a single search takes, roughly?

Yes, I made a tcs in playlist_buffer_load_entries and pass the pointer to tcs to playlist_entry_load, and this is what I do

Code: [Select]
+	if (tcs != NULL)
+ {
+ entry->has_extm3u = tagcache_find_index(tcs, info.filename);
+ DEBUGF("found tc idx: %d\n",tcs->idx_id);
+ if (entry->has_extm3u)
+ {
+ entry->length = tagcache_get_numeric(tcs, tag_length) / 1000;
+ entry->has_extm3u = tagcache_retrieve(tcs, tcs->idx_id, tag_title,
+ name_buffer, MIN(MAX_PATH*2,remaining_size));
+ DEBUGF("track: %s\n",name_buffer);
+ len = strlen(name_buffer) + 1;
+ }
+ }

And it is very slow. Takes about 38 sec for a 31-item playlist to load.
Logged

Offline Lear

  • Developer
  • Member
  • *
  • Posts: 533
Re: EXTM3U format support?
« Reply #19 on: September 04, 2007, 01:06:14 AM »
If the database isn't loaded to RAM (or the dircache isn't enabled), I could understand such times. And if it is in RAM, it seems like tagcache_fill_tags could be faster...
Logged

Offline polygonal

  • Member
  • *
  • Posts: 64
Re: EXTM3U format support?
« Reply #20 on: September 04, 2007, 09:20:37 AM »
It is in ram, that's why I wondered at the speed...
Logged

  • Print
Pages: 1 [2]
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Audio Playback, Database and Playlists
| | |-+  EXTM3U format support?
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.064 seconds with 14 queries.