[C2] AVI-Videos doesn't play

REPRODUCIBILITY: 100% (always)
OSVERSION: 5.0.0.29
HARDWARE: Reeder S19 Max Pro S - s19mps - s19mps - 1.0.0.15 - aarch64
UI LANGUAGE: Deutsch (user: de_DE, os: de_DE.utf8)
REGRESSION: Works in 4.6.0.13 aarch64 on other Device (Sony XZ2 Compact Community Port)

DESCRIPTION:

AVI-Videos doesn’t play Systemwide (in Gallery, Filemanager…etc)

PRECONDITIONS:

Copy a AVI-Video to /home/defaultuser/Videos

STEPS TO REPRODUCE:

  1. Open Jolla-Gallery
  2. Play AVI-Video

EXPECTED RESULTS:

AVI-Video Plays

ACTUAL RESULTS:

Cannot play/open Video.

This Error-Messages appears when opening the AVI-Video (from the end of the Log below):
library “libion.so” not found
library “libandroidicu.so” needed or dlopened by “/usr/libexec/droid-hybris/system/lib64/libmedia.so” is not accessible for the namespace “(default)”
[W] unknown:0 - Error: “Could not configure supporting library.”

MODIFICATIONS:

  • Patchmanager: yes
  • OpenRepos: yes
  • Chum: yes
  • Other: none specified

ADDITIONAL INFORMATION:

Device Owner User: defaultuser
Home Encryption: enabled

Jolla-Gallery Log:

,---
| Sailfish OS 5.0.0.29 (Tampella)
'---
[defaultuser@JollaC2 ~]$ jolla-gallery
[D] unknown:0 - Using Wayland-EGL
library "libutils.so" not found
library "libdmabufheap.so" not found
library "libbase.so" not found
library "libz.so" not found
library "libcutils.so" not found
library "android.hardware.graphics.mapper@4.0.so" not found
library "libgralloctypes.so" not found
library "libhidlbase.so" not found
library "libhardware.so" not found
library "libc++.so" not found

** (process:18148): WARNING **: 12:06:56.694: Cannot create directory: /home/defaultuser/.local/share/system/privileged/Accounts/libaccounts-glib

** (process:18148): WARNING **: 12:06:56.695: Error opening accounts DB: unable to open database file
[W] unknown:0 - Manager could not be created. DB is locked

** (process:18148): CRITICAL **: 12:06:56.695: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.695: ag_manager_set_db_timeout: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.695: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.695: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.941: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed
[W] unknown:0 - bool AbstractSocialCacheDatabasePrivate::initializeThreadData(AbstractSocialCacheDatabasePrivate::ThreadData*) const Unable to create database "/home/defaultuser/.local/share/system/privileged//
Images/dropbox.db" Service "Dropbox" with data type "Images" will be inactive
[W] unknown:0 - bool AbstractSocialCacheDatabasePrivate::initializeThreadData(AbstractSocialCacheDatabasePrivate::ThreadData*) const Unable to create database "/home/defaultuser/.local/share/system/privileged//
Images/dropbox.db" Service "Dropbox" with data type "Images" will be inactive

** (process:18148): CRITICAL **: 12:06:56.970: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.971: ag_manager_set_db_timeout: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.972: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:56.972: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_ini_read: unable to open file
SailfishKeyProvider_storedKey(): error: no scheme or key found for provider/service

** (process:18148): CRITICAL **: 12:06:56.996: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed
[W] unknown:0 - bool AbstractSocialCacheDatabasePrivate::initializeThreadData(AbstractSocialCacheDatabasePrivate::ThreadData*) const Unable to create database "/home/defaultuser/.local/share/system/privileged//
Images/onedrive.db" Service "OneDrive" with data type "Images" will be inactive
[W] unknown:0 - bool AbstractSocialCacheDatabasePrivate::initializeThreadData(AbstractSocialCacheDatabasePrivate::ThreadData*) const Unable to create database "/home/defaultuser/.local/share/system/privileged//
Images/onedrive.db" Service "OneDrive" with data type "Images" will be inactive

** (process:18148): CRITICAL **: 12:06:57.014: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:57.014: ag_manager_set_db_timeout: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:57.015: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): CRITICAL **: 12:06:57.016: ag_manager_list_services: assertion 'AG_IS_MANAGER (manager)' failed

** (process:18148): WARNING **: 12:06:57.018: Cannot create directory: /home/defaultuser/.local/share/system/privileged/Accounts/libaccounts-glib

** (process:18148): WARNING **: 12:06:57.018: Error opening accounts DB: unable to open database file
[W] unknown:0 - Manager could not be created. DB is locked

** (process:18148): WARNING **: 12:06:57.021: Cannot create directory: /home/defaultuser/.local/share/system/privileged/Accounts/libaccounts-glib

** (process:18148): WARNING **: 12:06:57.021: Error opening accounts DB: unable to open database file
[W] unknown:0 - Manager could not be created. DB is locked

** (process:18148): CRITICAL **: 12:06:57.032: ag_manager_list: assertion 'AG_IS_MANAGER (manager)' failed
[W] unknown:0 - NextcloudImageCache: failed to open database: "Unable to create database directory: /home/defaultuser/.local/share/system/privileged/Images"
[W] unknown:0 - NextcloudUserModel::loadData: failed: "Database is not open, cannot query users"
[W] unknown:0 - NextcloudUserModel::loadData: failed: "Database is not open, cannot query users"
[W] unknown:0 - NextcloudUserModel::loadData: failed: "Database is not open, cannot query users"
[W] unknown:0 - NextcloudUserModel::loadData: failed: "Database is not open, cannot query users"
library "libion.so" not found
library "libandroidicu.so" needed or dlopened by "/usr/libexec/droid-hybris/system/lib64/libmedia.so" is not accessible for the namespace "(default)"
[W] unknown:0 - Error: "Could not configure supporting library."

Is it any AVI video, or ones that use specific video codecs?

This is usally an indicator that the application wants to be launched “privileged”

Here, in the case of Gallery that is needed in order to access accounts like Nextcloud.

Can you try again using the following (mind the -p!)

devel-su -p jolla-gallery
1 Like

devel-su -p jolla-gallery

Same result

Video-Header is:

0000: 52 49 46 46 c0 29 a0 0f RIFF.)…
0008: 41 56 49 20 4c 49 53 54 AVI LIST
0010: 7e 22 00 00 68 64 72 6c ~"…hdrl
0018: 61 76 69 68 38 00 00 00 avih8…
0020: 40 9c 00 00 00 00 00 00 @…
0028: 00 00 00 00 10 01 00 00 …
0030: 5f 86 00 00 00 00 00 00 _…
0038: 02 00 00 00 00 00 00 00 …
0040: 80 02 00 00 a0 01 00 00 …
0048: 00 00 00 00 00 00 00 00 …
0050: 00 00 00 00 00 00 00 00 …
0058: 4c 49 53 54 94 10 00 00 LIST…
0060: 73 74 72 6c 73 74 72 68 strlstrh
0068: 38 00 00 00 76 69 64 73 8…vids
0070: 78 76 69 64 00 00 00 00 xvid…

This AVI does play (other Format in Container):

0000: 52 49 46 46 7c 1b db 01 RIFF|…
0008: 41 56 49 20 4c 49 53 54 AVI LIST
0010: c2 22 00 00 68 64 72 6c ."…hdrl
0018: 61 76 69 68 38 00 00 00 avih8…
0020: 40 9c 00 00 c8 26 02 00 @…&…
0028: 00 00 00 00 10 09 00 00 …
0030: 47 15 00 00 00 00 00 00 G…
0038: 02 00 00 00 00 00 10 00 …
0040: e0 01 00 00 68 01 00 00 …h…
0048: 00 00 00 00 00 00 00 00 …
0050: 00 00 00 00 00 00 00 00 …
0058: 4c 49 53 54 dc 10 00 00 LIST…
0060: 73 74 72 6c 73 74 72 68 strlstrh
0068: 38 00 00 00 76 69 64 73 8…vids
0070: 46 4d 50 34 00 00 00 00 FMP4…

Can’t Blockquote on C2 in Browser-Editor

I’m bad at reading hex :wink:

You could

pkcon install ffmpeg-tools
ffprobe myfile.avi

for more human-readable output.

Can you share the video here? If not, what’s its metadata (viewable with any number of programs, e.g. mediainfo)?

There’s so many video formats, it can happen that one of them doesn’t play. Or is simply corrupt.

PS: AVI is nt much in use anymore, if anything I’d say MP4 with h264 has the best chance of running on any device.

[defaultuser@JollaC2 Die Gebrauchtwagen-Profis]$ ffprobe Die.Gebrauchtwagen-Profis.S01E01.Porsche.924.-.Teil.1.avi 
ffprobe version 5.1.6 Copyright (c) 2007-2024 the FFmpeg developers
  built with gcc 10.3.1 (GCC) 20210621 (Sailfish OS gcc 10.3.1-1)
  configuration: --prefix=/usr --libdir=/usr/lib64 --disable-debug --enable-shared --enable-pic --disable-static --disable-doc --enable-muxers --enable-demuxers --enable-protocols --disable-indevs --disable-outdevs --disable-bsfs --enable-network --disable-hwaccels --enable-libfontconfig --enable-libfreetype --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --disable-encoders --disable-decoders --enable-encoder=',aac,ac3,alac,apng,ass,ayuv,bmp,ffv1,ffvhuff,flac,gif,huffyuv,ilbc,jpegls,jpeg2000,libaom,libaom_av1,libcodec2,libgsm,libilbc,libjxl,libmp3lame,libopenjpeg,libopus,libschroedinger,libspeex,libtheora,libvorbis,libvpx_vp8,libvpx_vp9,libwebp,libwebp_anim,mjpeg,mpeg1video,mpeg2video,opus,pam,pbm,pcm_alaw,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s8,pcm_s8_planar,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcx,pgm,pgmyuv,png,ppm,rawvideo,sgi,srt,ssa,sunrast,targa,text,tiff,v210,v308,v408,v410,vorbis,webvtt,xbm,xwd,y41p,yuv4,zlib,,h264,mpeg4,' --enable-decoder=',aac,ac3,alac,ansi,apng,ass,ayuv,bmp,dirac,exr,ffv1,ffvhuff,ffwavesynth,flac,gif,gsm,huffyuv,ilbc,jpeg2000,libaom,libaom_av1,libcodec2,libgsm,libilbc,libjxl,libopenjpeg,libopus,libschroedinger,libspeex,libvorbis,libvpx_vp8,libvpx_vp9,mjpeg,mp1,mp1float,mp2,mp2float,mp3,mp3float,mpeg1video,mpeg2video,,opus,pam,pbm,pcm_alaw,pcm_bluray,pcm_dvd,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_mulaw,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,pcm_s24be,pcm_s24le,pcm_s24le_planar,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_s8,pcm_s8_planar,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pcx,pgm,pgmyuv,pgssub,pgx,png,ppm,rawvideo,sgi,srt,ssa,sunrast,targa,text,theora,tiff,v210,v210x,v308,v408,v410,vorbis,vp3,vp5,vp6,vp6a,vp6f,vp8,vp9,webp,webvtt,xbm,xwd,y41p,yuv4,zlib,,aac_latm,h264,mpeg4,,,'
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
Input #0, avi, from 'Die.Gebrauchtwagen-Profis.S01E01.Porsche.924.-.Teil.1.avi':
  Metadata:
    software        : VirtualDubMod 1.5.4.1 (build 2178/release)
  Duration: 00:22:55.97, start: 0.000000, bitrate: 1524 kb/s
  Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 640x416 [SAR 1:1 DAR 20:13], 1404 kb/s, 25 fps, 25 tbr, 25 tbn
  Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 106 kb/s

AVI isn’t a file format, it’s a container, like a wrapper around your candy bar of audio and video streams.

Your file is xvid + mp3, a bit newer than divx + mp3, could shrink a DVD quality movie to a CD, and can be wrapped in mp4 or mkv.

A friend of mine is testing my C2 so I can’t test myself but you can try these:

  1. cheating: rename your AVI to mp4 or mkv

  2. rewrapping (use the phone):
    ffmpeg -i input.avi -vcodec copy -acodec copy output.mp4
    (or output.mkv)

If neither of these work, you should still get a meaningful error message, and you need the xvid decoder or use an app that has built-in codecs (VLC for Android) or remux your video streams to h.264 (you don’t want to do this).

Edit: get static (all features built-in) ffmpeg from
https://johnvansickle.com/ffmpeg/

2 Likes

Rename doesn’t work and i don’t wonder why, because it does not alter the header or format.

So it seems the easiest solution is to use an alternative Player who have the support for the codecs.