** Description changed:

+ [ Problem ]
+ 
  libmediaart 1.9.7-2 FTBFS in Resolute:
  
  https://people.canonical.com/~ginggs/ftbfs-report/test-
  rebuild-20260320-resolute-resolute.html
  
  # DEBUG: Album art (PNG) found in same directory being 
used:'/<<PKGBUILDDIR>>/tests/cover.png'
  not ok /mediaart/process/file - 
ERROR:../tests/mediaarttest.c:258:test_mediaart_process_file_cb: assertion 
failed (error == NULL): Remote error: 
org.gnome.glycin.Error.InternalEditorError: 
glycin-loaders/glycin-image-rs/src/editor.rs:127:22: Internal error: The 
encoder or decoder for Jpeg does not support the color type `Rgba8` 
(gly-loader-error, 0)
  Bail out!
  ----------------------------------- stderr -----------------------------------
  WARNING: Glycin running without sandbox.
  WARNING: Glycin running without sandbox.
  **
  ERROR:../tests/mediaarttest.c:258:test_mediaart_process_file_cb: assertion 
failed (error == NULL): Remote error: 
org.gnome.glycin.Error.InternalEditorError: 
glycin-loaders/glycin-image-rs/src/editor.rs:127:22: Internal error: The 
encoder or decoder for Jpeg does not support the color type `Rgba8` 
(gly-loader-error, 0)
  ==============================================================================
  
- 
  Summary of Failures:
  
  2/2 libmediaart:mediaart              FAIL            0.14s   killed by
  signal 6 SIGABRT
  
- Ok:                1   
- Fail:              1   
+ Ok:                1
+ Fail:              1
  dh_auto_test: error: cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb 
LC_ALL=C.UTF-8 MESON_TESTTHREADS=4 meson test --verbose returned exit code 1
+ 
+ [ Analysis ]
+ 
+ libmediaart is trying to save album arts as jpg file, but the source might 
contain an alpha channel. Previously gdk-pixbuf would silently drop the alpha 
channel, but now it raises an error instead.
+ It is still an open question upstream whether they'd like to support this 
legacy behaviour: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/293
+ 
+ The failing test-case indeed is using a PNG file with transparency,
+ which makes the test fail against the new gdk-pixbuf. Because album art
+ is user-provided or downloaded through external services, and PNG files
+ were always accepted, simply changing the test is not enough.
+ 
+ [ Action ]
+ 
+ There's an open merge request upstream to switch the image
+ loading/saving library to glycin (which gdk-pixbuf wraps anyways), which
+ exposes APIs which allows loading of images discarding the alpha
+ channel. Because fixing this in the gdk-pixbuf implementation is not any
+ easier than validating this different implementation, I suggest we go
+ ahead and backport the patch to switch libmediaart to glycin. Fedora is
+ also backporting this patch.
+ 
+ [ Test Plan ]
+ 
+ 1. Enable music indexing in `Settings > Search > Search Locations > Music`
+ 2. Create a folder ~/Music/foo
+ 3. Download an audio file with no embedded cover art in ~/Music/foo, such as 
https://file-examples.com/wp-content/storage/2017/11/file_example_MP3_700KB.mp3
+ 4. Copy a PNG file into ~/Music/foo/cover.png
+ 
+ $ tree ~/Music/foo 
+ /home/aleasto/Music/foo
+ ├── cover.png
+ └── file_example_MP3_700KB.mp3
+ 
+ 5. Purge media-art cache by `rm ~/.cache/media-art/*`
+ 6. Launch `gnome-music`
+ 7. Navigate to Playlists
+ 8. Play the sample MP3 file
+ 9. Verify that the player shows your PNG image as cover art

** Changed in: libmediaart (Ubuntu)
       Status: Fix Committed => New

** Changed in: libmediaart (Ubuntu)
     Assignee: Alessandro Astone (aleasto) => (unassigned)

** Description changed:

  [ Problem ]
  
  libmediaart 1.9.7-2 FTBFS in Resolute:
  
  https://people.canonical.com/~ginggs/ftbfs-report/test-
  rebuild-20260320-resolute-resolute.html
  
  # DEBUG: Album art (PNG) found in same directory being 
used:'/<<PKGBUILDDIR>>/tests/cover.png'
  not ok /mediaart/process/file - 
ERROR:../tests/mediaarttest.c:258:test_mediaart_process_file_cb: assertion 
failed (error == NULL): Remote error: 
org.gnome.glycin.Error.InternalEditorError: 
glycin-loaders/glycin-image-rs/src/editor.rs:127:22: Internal error: The 
encoder or decoder for Jpeg does not support the color type `Rgba8` 
(gly-loader-error, 0)
  Bail out!
  ----------------------------------- stderr -----------------------------------
  WARNING: Glycin running without sandbox.
  WARNING: Glycin running without sandbox.
  **
  ERROR:../tests/mediaarttest.c:258:test_mediaart_process_file_cb: assertion 
failed (error == NULL): Remote error: 
org.gnome.glycin.Error.InternalEditorError: 
glycin-loaders/glycin-image-rs/src/editor.rs:127:22: Internal error: The 
encoder or decoder for Jpeg does not support the color type `Rgba8` 
(gly-loader-error, 0)
  ==============================================================================
  
  Summary of Failures:
  
  2/2 libmediaart:mediaart              FAIL            0.14s   killed by
  signal 6 SIGABRT
  
  Ok:                1
  Fail:              1
  dh_auto_test: error: cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb 
LC_ALL=C.UTF-8 MESON_TESTTHREADS=4 meson test --verbose returned exit code 1
  
  [ Analysis ]
  
  libmediaart is trying to save album arts as jpg file, but the source might 
contain an alpha channel. Previously gdk-pixbuf would silently drop the alpha 
channel, but now it raises an error instead.
  It is still an open question upstream whether they'd like to support this 
legacy behaviour: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/293
  
  The failing test-case indeed is using a PNG file with transparency,
  which makes the test fail against the new gdk-pixbuf. Because album art
  is user-provided or downloaded through external services, and PNG files
  were always accepted, simply changing the test is not enough.
  
  [ Action ]
  
  There's an open merge request upstream to switch the image
- loading/saving library to glycin (which gdk-pixbuf wraps anyways), which
- exposes APIs which allows loading of images discarding the alpha
- channel. Because fixing this in the gdk-pixbuf implementation is not any
- easier than validating this different implementation, I suggest we go
- ahead and backport the patch to switch libmediaart to glycin. Fedora is
- also backporting this patch.
+ loading/saving library to glycin (which gdk-pixbuf uses internally
+ anyways), which exposes APIs that allows loading of images discarding
+ the alpha channel. Because fixing this in the gdk-pixbuf implementation
+ is not any easier than validating this different implementation, I
+ suggest we go ahead and backport the patch to switch libmediaart to
+ glycin. Fedora is also backporting this patch.
  
  [ Test Plan ]
  
  1. Enable music indexing in `Settings > Search > Search Locations > Music`
  2. Create a folder ~/Music/foo
  3. Download an audio file with no embedded cover art in ~/Music/foo, such as 
https://file-examples.com/wp-content/storage/2017/11/file_example_MP3_700KB.mp3
  4. Copy a PNG file into ~/Music/foo/cover.png
  
- $ tree ~/Music/foo 
+ $ tree ~/Music/foo
  /home/aleasto/Music/foo
  ├── cover.png
  └── file_example_MP3_700KB.mp3
  
  5. Purge media-art cache by `rm ~/.cache/media-art/*`
  6. Launch `gnome-music`
  7. Navigate to Playlists
  8. Play the sample MP3 file
  9. Verify that the player shows your PNG image as cover art

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2146892

Title:
  [FFe] libmediaart switch to glycin extractor, FTBFS

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libmediaart/+bug/2146892/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to