medialibrary issueshttps://code.videolan.org/videolan/medialibrary/-/issues2022-03-22T08:33:48Zhttps://code.videolan.org/videolan/medialibrary/-/issues/103Parser: Update the task status as part of the service transaction2022-03-22T08:33:48ZHugo Beauzée-LuyssenParser: Update the task status as part of the service transactionIn the case of the MetadataParser service, there's a small window during which changes from the service have been saved in DB, but the progress hasn't been. This means that if the process crashes/stops without `IParserCb::done` getting c...In the case of the MetadataParser service, there's a small window during which changes from the service have been saved in DB, but the progress hasn't been. This means that if the process crashes/stops without `IParserCb::done` getting called, we will try to re-run the same task, leading to a most likely invalid state/duplicated entries.
All data must be inserted as a transaction, but our book keeping must be inserted as part of the same transaction.Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://code.videolan.org/videolan/medialibrary/-/issues/320Same track on different storage should be displayed in different albums2021-05-04T14:47:09ZNicolas PomepuySame track on different storage should be displayed in different albumsWhen the same tracks are stored in both the local storage and on a network share, thay are considered as belonging to the same album that have the two tracks.
See:
![device-2021-05-04-131942](/uploads/e0078c0d1c6fda162421bcafc8173752/de...When the same tracks are stored in both the local storage and on a network share, thay are considered as belonging to the same album that have the two tracks.
See:
![device-2021-05-04-131942](/uploads/e0078c0d1c6fda162421bcafc8173752/device-2021-05-04-131942.png)
[vlc_media.db](/uploads/38c7038ea65071d1dc645efe473ae5f0/vlc_media.db)
The ML should have two albums there to avoid serving albums with duplicated tracks.
File that I reproduced it with: ![0_-_01_-_Amish_82_-_Shovels_And_Cava](/uploads/e821a50473c6abe3d2a8382a34dc6235/0_-_01_-_Amish_82_-_Shovels_And_Cava.ogg)Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://code.videolan.org/videolan/medialibrary/-/issues/324DVD folder : medialibrary seems to hide them2021-05-07T09:37:41ZAlexandre PerraudDVD folder : medialibrary seems to hide themOn Android, we can't find a DVD folder, containing a VOB DVD standard structure, even with the "Do Not Group Videos" enable.
See dump the mediliabrary dump attached :
- the DVD folder is the_mission
- there is also the DVD EYES_SKIES_PA...On Android, we can't find a DVD folder, containing a VOB DVD standard structure, even with the "Do Not Group Videos" enable.
See dump the mediliabrary dump attached :
- the DVD folder is the_mission
- there is also the DVD EYES_SKIES_PAL.iso which is an iso correctly display with the "Do Not Group Videos" option
the_mission folder seems to be detected because if we go to the browse view, we can find this folder but it's empty (which is another issue...)
[vlc_media.db](/uploads/d07d1ba8318ae7f7409210dad3f60069/vlc_media.db)Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://code.videolan.org/videolan/medialibrary/-/issues/360Embedded thumbnails : not detected2021-08-11T14:42:23ZAlexandre PerraudEmbedded thumbnails : not detectedEmbedded thumbnails are not well detected. For exemple with an artist with multiple albums and only embedded thumbnails :
- A cover is visible for the artist in the Artist view, but not always.
- In the Albums/Songs view, no covers are v...Embedded thumbnails are not well detected. For exemple with an artist with multiple albums and only embedded thumbnails :
- A cover is visible for the artist in the Artist view, but not always.
- In the Albums/Songs view, no covers are visible.
[1987_-_Appetite_For_Destruction.7z](/uploads/20ea40218136e0d50aa16679f75f2458/1987_-_Appetite_For_Destruction.7z)
[vlc_media.db](/uploads/02e5aab9d121d317f4ad9326c665afd0/vlc_media.db)
[log.txt](/uploads/b74593d860958a3103509d4eecdcb311/log.txt)Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://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/437Specifically crafted .mp4 file named .vlc is not recognized by the media library2022-05-13T06:24:20ZFelix Paul Kühnefkuehne@videolan.orgSpecifically crafted .mp4 file named .vlc is not recognized by the media libraryVLC-iOS downloads media with no file extension as .vlc and saves them in the designated Documents folder indexed by medialibrary. When doing so with .mp4 media that is not a playlist, the medialibrary will silently ignore the file and no...VLC-iOS downloads media with no file extension as .vlc and saves them in the designated Documents folder indexed by medialibrary. When doing so with .mp4 media that is not a playlist, the medialibrary will silently ignore the file and not index it.
Sample file shared privately.Hugo Beauzée-LuyssenHugo Beauzée-Luyssenhttps://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/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.0