medialibrary issueshttps://code.videolan.org/videolan/medialibrary/-/issues2024-02-13T11:01:15Zhttps://code.videolan.org/videolan/medialibrary/-/issues/467API wording inconsistency2024-02-13T11:01:15ZNicolas PomepuyAPI wording inconsistencyOn the api cache methods, the wording differs on the cache(d) word.
See:
- https://code.videolan.org/videolan/medialibrary/-/blob/master/include/medialibrary/IMediaLibrary.h#L1159
- https://code.videolan.org/videolan/medialibrary/-/blob...On the api cache methods, the wording differs on the cache(d) word.
See:
- https://code.videolan.org/videolan/medialibrary/-/blob/master/include/medialibrary/IMediaLibrary.h#L1159
- https://code.videolan.org/videolan/medialibrary/-/blob/master/include/medialibrary/ISubscription.h#L88
It should be all renamed to cache (without"d")0.13.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/4810.13 needs a transitive database model2024-02-13T11:01:15ZAlaric Senat0.13 needs a transitive database modelIt has gone unnoticed that the `3.5.x` version of VLC Android uses the `0.13.0-rc.2` tag. Without any db model bump since this tag, the DB migration will be skipped between VLC Android `3.5.6` (which uses `0.13.0-rc.2`) and VLC Android `...It has gone unnoticed that the `3.5.x` version of VLC Android uses the `0.13.0-rc.2` tag. Without any db model bump since this tag, the DB migration will be skipped between VLC Android `3.5.6` (which uses `0.13.0-rc.2`) and VLC Android `4.0` (which will use the stable `0.13.0`).
This is problematic since the model changed since `0.13.0-rc.2`. The model needs to be bumped and the changes since the last tag needs to be reverted and ported to the new model version.0.13.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/480Searching a partition also indexes files from recycle bin2024-01-16T11:52:24ZPrince GuptaSearching a partition also indexes files from recycle binos: win 11
![image](/uploads/22347abe027c0ff4a266925942011318/image.png)os: win 11
![image](/uploads/22347abe027c0ff4a266925942011318/image.png)https://code.videolan.org/videolan/medialibrary/-/issues/415Parsing task bumped when reaching a playlist2023-12-20T16:20:12ZNicolas PomepuyParsing task bumped when reaching a playlistA ML scan is displayed in two phases in vlc-android:
1. the discover part when only the path is displayed. During this time, the ML counts the parsing tasks that are needed
1. the parsing part where a progress is shown (50/100 for examp...A ML scan is displayed in two phases in vlc-android:
1. the discover part when only the path is displayed. During this time, the ML counts the parsing tasks that are needed
1. the parsing part where a progress is shown (50/100 for example)
When a playlist has to be scanned, a task is created by media of this playlist during the parsing phase, bumping the task total and making the progress go back.
Example: I have 100 medias, one of them is a playlist of 10 000 entries. After the discover phase, the app displays `Parsing 1/100` but when the playlist is reached, it's bumped to `Parsing 23/10100`.0.14.0Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://code.videolan.org/videolan/medialibrary/-/issues/463support multiple genres from mp3 tag2023-12-20T14:41:45Zczosnkowy666support multiple genres from mp3 tag<!---
/!\ Read this first!/!\
This default template purpose is to be used to report a bug you found in VLC for Android.
To use a different template, follow the instructions here: https://code.videolan.org/videolan/vlc-android/-/wiki...<!---
/!\ Read this first!/!\
This default template purpose is to be used to report a bug you found in VLC for Android.
To use a different template, follow the instructions here: https://code.videolan.org/videolan/vlc-android/-/wikis/Create-an-issue-and-use-a-template
If you want to ask for a new feature, please use the "VLC for Android - Feature Request.md" template above.
If you're a libvlc java developer, please use the "libvlc - Bug" template.
If you just want to ask questions on how to use VLC for Android, please use our forum at https://forum.videolan.org/viewforum.php?f=35
Please note that any ticket not using a template may be closed without notice as it won't provide the necessary information.
-->
VLC Android doesn't recognize multiple genres set in mo3 genre tag
<!--- Provide a general summary of the issue in the Title above -->
## Description
Song tagged with plutiple genres in mo3 tag with separator null (\x00) is only listed on first genre insted of each of them. It looks like null is treated as terminator of tag insted of separator of values
For example song with values in genre tags `rock\x00indie\x00alternative\x00` is only visible on Rock genre in VLC Android
<!--- Describe your bug in detail -->
#### Expected behavior
I would expect to see song with multiple genres set in this mp3 tag to be listed under each of genres
For example song with values in genre tags `rock\x00indie\x00alternative\x00` should be visible on Rock, Indie and Alternative genres in VLC Android
#### Actual behavior
For example song with values in genre tags `rock\x00indie\x00alternative\x00` is only visible on Rock genre in VLC Android
#### Steps to reproduce
1. Set multiple genres in mp3
2. Upload song to phone
3. Scan audio library in VLC Android
4. Go to Audio > Genres
5. Song is listed under only first genre
#### Screenshot / video
## Context
#### App version
3.5.5
#### Android version
11
#### Device model
#### App mode
**Smartphone**https://code.videolan.org/videolan/medialibrary/-/issues/468New API: delete all video thumbnails2023-12-20T14:33:53ZNicolas PomepuyNew API: delete all video thumbnailsWould be useful for https://code.videolan.org/videolan/vlc-android/-/issues/2720Would be useful for https://code.videolan.org/videolan/vlc-android/-/issues/27200.14.0https://code.videolan.org/videolan/medialibrary/-/issues/470Album can be 0 on some artists if requesting all2023-12-20T14:33:14ZNicolas PomepuyAlbum can be 0 on some artists if requesting allWhen using `IMediaLibrary::artists()` with all set to true, all the artists are returned. However, calling `artistPtr->nbAlbums()` will return 0 on some of these artists.
See https://code.videolan.org/videolan/vlc-android/-/issues/2910When using `IMediaLibrary::artists()` with all set to true, all the artists are returned. However, calling `artistPtr->nbAlbums()` will return 0 on some of these artists.
See https://code.videolan.org/videolan/vlc-android/-/issues/29100.14.0https://code.videolan.org/videolan/medialibrary/-/issues/293Allow network media to be cached locally2023-12-20T14:19:55ZHugo Beauzée-LuyssenAllow network media to be cached locallyWhen displaying some media coming from a network storage, it's highly likely that the users will want to cache these media locally on their device if they move away from that network storage, for instance a user transiting to work wants ...When displaying some media coming from a network storage, it's highly likely that the users will want to cache these media locally on their device if they move away from that network storage, for instance a user transiting to work wants to cache a specific album for their journey
Most likely we want to be able to monitor the cache folder without exposing it to the end user. This is only needed if we need to react to an external user deletion, and we could just rely on the application to invalidate the cache if a file isn't available in the cache anymore.
Required features:
- [ ] Listing all cached files from the database
- [ ] Invalidate a given media cached version
- [ ] Invalidate the entire cache
- [ ] Add a helper to fetch the main file (in term of what the application will ask libvlc to play) which favors the cache version
To be determined:
- [ ] Should the ML handle the caching itself, or should libvlc expose an API to do so
- [ ] Specify the cache settings: max size, max number of files, a max size per container (for instance 1GB for caching a NAS, 250MB for a podcast A, ...)0.14.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/465Expose caching of single Media2023-12-20T14:19:44ZAlaric SenatExpose caching of single MediaSome users will naturally want to select which media goes into the cache manually.
This is quite important for roaming devices.Some users will naturally want to select which media goes into the cache manually.
This is quite important for roaming devices.0.14.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/459Signal invalid subscriptions via the API2023-12-20T14:17:02ZAlaric SenatSignal invalid subscriptions via the APICurrently invalid subscriptions fails silently and a parsing `Task` is kept in the database without any Subscription attached to it. There's no simple way for the ML user to know if a subscription parsing `Task` has failed.
One soluti...Currently invalid subscriptions fails silently and a parsing `Task` is kept in the database without any Subscription attached to it. There's no simple way for the ML user to know if a subscription parsing `Task` has failed.
One solution for that might be to:
- Create a specific callback for failed subscription update **and** creation.
- Either delete `Tasks` when creation failed and try count is at `0` or provide the user a way to clear the task.
One other way could be to create a `Subscription` in any cases and add a field `Status` that reflects parse or refresh failures to the ML user. The ML user can then decide to remove the Subscription via the API which would lead to the `Task` removal.0.14.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/460Cascade Media deletion on Subscription removal2023-12-20T14:16:26ZAlaric SenatCascade Media deletion on Subscription removalCurrently, a call on `MediaLibrary::RemoveSubscription()` does not remove media linked to the deleted Subscription.
Media should probably be removed if the media isn't linked to any other element after the removal.Currently, a call on `MediaLibrary::RemoveSubscription()` does not remove media linked to the deleted Subscription.
Media should probably be removed if the media isn't linked to any other element after the removal.0.14.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/288Expose media MIME-type2023-12-20T14:09:07ZAlaric SenatExpose media MIME-typeIt could be great to have the true container type of a media(mp4, mp3, avi...) exposed via a handy `mime_type()` accessor in the metadata of the media.
This would require adding a field in the metadata row and some work on exposing the ...It could be great to have the true container type of a media(mp4, mp3, avi...) exposed via a handy `mime_type()` accessor in the metadata of the media.
This would require adding a field in the metadata row and some work on exposing the container type on libvlc side.0.14.0Mehdi SabwatMehdi Sabwathttps://code.videolan.org/videolan/medialibrary/-/issues/420Add missing sort columns2023-12-20T13:56:59ZHugo Beauzée-LuyssenAdd missing sort columnsIn order for the android app to generate some fast scroll headers, we need to be able to expose the values associated with our sorting criteria.
As things stand, 2 columns are missing for most entities that are not a Media:
* last_modif...In order for the android app to generate some fast scroll headers, we need to be able to expose the values associated with our sorting criteria.
As things stand, 2 columns are missing for most entities that are not a Media:
* last_modification_date
* insertion_date when
It's a bit unclear if there's a real need to monitor those values through a trigger, or if it can be computed on the fly through triggers.
Both fields can change through a modification/deletion on disk, so we probably can't rely on the MetadataParser code to modify the corresponding columns manually, since the Media can disappear through triggers.0.14.0https://code.videolan.org/videolan/medialibrary/-/issues/282Add the support for the lyrics tag2023-12-20T13:53:29ZNicolas PomepuyAdd the support for the lyrics tagLyrics can be added to mp3 tags. VLC desktop already supports displaying them in the metadata window.
It would be great to be able to get them from the ML as it's asked by the VLC for Android users a lot.Lyrics can be added to mp3 tags. VLC desktop already supports displaying them in the metadata window.
It would be great to be able to get them from the ML as it's asked by the VLC for Android users a lot.0.14.0https://code.videolan.org/videolan/medialibrary/-/issues/388Add an isNew accessor for media2023-12-20T13:38:03ZHugo Beauzée-LuyssenAdd an isNew accessor for mediaWhich can be used by various port to signal that the media has never been read.
This just needs to be a convenience wrapper that checks for a 0 play count and that the media isn't in progressWhich can be used by various port to signal that the media has never been read.
This just needs to be a convenience wrapper that checks for a 0 play count and that the media isn't in progressMehdi SabwatMehdi Sabwathttps://code.videolan.org/videolan/medialibrary/-/issues/476Allow clearing a specific type of media in the history2023-12-20T13:30:56ZAlaric SenatAllow clearing a specific type of media in the historyVLC desktop will require clearing certains kind of media in the history. Since we expose:
- History of internal media
- History of streams
It would make sense to allow:
- Clearing internal media from the history
- Clearing streams from ...VLC desktop will require clearing certains kind of media in the history. Since we expose:
- History of internal media
- History of streams
It would make sense to allow:
- Clearing internal media from the history
- Clearing streams from the history
- Clearing all the history0.13.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/469medialibrary: VLC crashes when it fails to change the presence of a device2023-12-20T13:30:54ZLeon Vitanosmedialibrary: VLC crashes when it fails to change the presence of a deviceI am on dualboot (Windows/Ubuntu). After formatting Windows (where some of it's folders where included in the medialibrary on vlc on Ubuntu), i was getting this error:
`vlc: ../src/Device.cpp:95: void medialibrary::Device::setPresent(bo...I am on dualboot (Windows/Ubuntu). After formatting Windows (where some of it's folders where included in the medialibrary on vlc on Ubuntu), i was getting this error:
`vlc: ../src/Device.cpp:95: void medialibrary::Device::setPresent(bool): Assertion !"Can't change the presence of a non-removable device" failed.`
Only way to fix it was by deleting the mllibrary from the .local/shared/vlc folder
@chub @asenat
Attatched is the [ml.db](/uploads/b4f118c1e2736081eeaa278f75f5b4b6/ml.db) that was problematichttps://code.videolan.org/videolan/medialibrary/-/issues/451Allow marking more objects as favorite2023-12-20T11:08:42ZAlaric SenatAllow marking more objects as favoriteThe favorite column was first added to `Media/Album/Artist/Genre`. But for a smoother app-side integration, adding the attribute to these objects is also making sense.
- Playlist
- Folder
- GroupsThe favorite column was first added to `Media/Album/Artist/Genre`. But for a smoother app-side integration, adding the attribute to these objects is also making sense.
- Playlist
- Folder
- Groups0.13.0Alaric SenatAlaric Senathttps://code.videolan.org/videolan/medialibrary/-/issues/479Expose external cdg subtitles of mp3 files2023-12-17T13:54:51ZFelix Paul Kühnefkuehne@videolan.orgExpose external cdg subtitles of mp3 filesWhile regularly, VLC does not support subtitles for audio files without a video track (also seldom requested feature..), there is an important exception and that is .cdg+.mp3 file combinations for karaoke playback. At present, medialibra...While regularly, VLC does not support subtitles for audio files without a video track (also seldom requested feature..), there is an important exception and that is .cdg+.mp3 file combinations for karaoke playback. At present, medialibrary does only expose the mp3 file without acknowledging the .cdg file next to it, so the client application will not show the video player but just an audio playback UI. As a result, the karaoke appearance cannot work.
Sample files available!https://code.videolan.org/videolan/medialibrary/-/issues/477IMediaLibrary::searchPlaylists should have a PlaylistType parametter2023-10-24T09:48:20ZPierre LamotIMediaLibrary::searchPlaylists should have a PlaylistType parametterFiltering a on Video or Audio only view yields unrelated results without thisFiltering a on Video or Audio only view yields unrelated results without this