# Your GStreamer installation is missing a plugin/The video cannot be played due to a problem allocating resources

The error message in the title is a long standing issue I have been having with LLS Video Player when trying to stream videos (local files were working if I remember correctly). I always thought it was limited to specific dependencies that I failed to install for this player, but it never prevented me from watching videos with other players, or from the browser. Even Webcat builtin player could play Youtube videos, although I thought it was based on LLS Video Player. Anyway, so I could still play videos, and therefore I postponed fixing the issue for years.

However, when I decided to do that, I broke things even more and now I am having this error in every video, regardless of the application being used, and even in streams in browser applications. I don't remember exactly what I did, but neither gstreamer1.0 nor the updated version by Llselectronics in Openrepos seem to solve the issue. I have tried pkcon install --allow-reinstall gstreamer1.0, no luck.

In the list below, the packages marked with an "i" are those currently installed on my Jolla C:

[nemo@Sailfish ~]$zypper search *gstreamer* Loading repository data... Reading installed packages... S | Name | Summary | Type --+------------------------------------------+--------------------------------------------------------------------+----------- i | gstreamer | GStreamer streaming media framework runtime | package i | gstreamer-ffmpeg | GStreamer FFmpeg-based plug-ins | package i | gstreamer0.10-ffmpeg-extra | Gstreamer ffmpeg extra codecs | package i | gstreamer1.0 | GStreamer streaming media framework runtime | package | gstreamer1.0 | GStreamer streaming media framework runtime | srcpackage | gstreamer1.0-debuginfo | Debug information for package gstreamer1.0 | package | gstreamer1.0-debugsource | Debug sources for package gstreamer1.0 | package | gstreamer1.0-devel | Libraries/include files for GStreamer streaming media framework | package | gstreamer1.0-devel-debuginfo | Debug information for package gstreamer1.0-devel | package | gstreamer1.0-droid | GStreamer droid plug-in contains elements using the Android HAL | package | gstreamer1.0-droid-tools | Tools for gst-droid | package | gstreamer1.0-libav | GStreamer Streaming-media framework plug-in using libav (FFmpeg). | package | gstreamer1.0-plugins-bad | GStreamer streaming media framework "bad" plug-ins | package | gstreamer1.0-plugins-bad | GStreamer streaming media framework "bad" plug-ins | srcpackage | gstreamer1.0-plugins-bad-debuginfo | Debug information for package gstreamer1.0-plugins-bad | package | gstreamer1.0-plugins-bad-debugsource | Debug sources for package gstreamer1.0-plugins-bad | package | gstreamer1.0-plugins-bad-devel | Development files for the GStreamer media framework "bad" plug-ins | package i | gstreamer1.0-plugins-base | GStreamer streaming media framework base plug-ins | package | gstreamer1.0-plugins-base | GStreamer streaming media framework base plug-ins | srcpackage | gstreamer1.0-plugins-base-apps | GStreamer Plugin Library Headers | package | gstreamer1.0-plugins-base-apps-debuginfo | Debug information for package gstreamer1.0-plugins-base-apps | package | gstreamer1.0-plugins-base-debuginfo | Debug information for package gstreamer1.0-plugins-base | package | gstreamer1.0-plugins-base-debugsource | Debug sources for package gstreamer1.0-plugins-base | package | gstreamer1.0-plugins-base-devel | GStreamer Plugin Library Headers | package i | gstreamer1.0-plugins-good | GStreamer plug-ins with good code and licensing | package | gstreamer1.0-plugins-good | GStreamer plug-ins with good code and licensing | srcpackage | gstreamer1.0-plugins-good-debuginfo | Debug information for package gstreamer1.0-plugins-good | package | gstreamer1.0-plugins-good-debugsource | Debug sources for package gstreamer1.0-plugins-good | package | gstreamer1.0-plugins-ugly | GStreamer streaming media framework "ugly" plug-ins | package | gstreamer1.0-tools | Tools for GStreamer streaming media framework | package | gstreamer1.0-tools-debuginfo | Debug information for package gstreamer1.0-tools | package i | nemo-gstreamer1.0-interfaces | gstreamer interface used for video rendering | package | nemo-gstreamer1.0-interfaces-debuginfo | Debug information for package nemo-gstreamer1.0-interfaces | package | nemo-gstreamer1.0-interfaces-devel | gstreamer interface used for video rendering devel package | package | python-gstreamer | Gstreamer Python bindings | package  I could not find any reference to a similar issue, either here or on TMO, so I'm starting my own S.O.S thread. Any idea on how I should proceed to fix this? What should I install/uninstall/reinstall? edit retag close delete ## Comments more useful would be the direct output of gstreamer: try gst-launch-1.0 filesrc location=/absolute/path/to/your-file.mp4 ! decodebin3 ! glimagesink ( 2018-08-15 17:52:50 +0200 )edit Seems I don't have any package providing the gst-launch-1.0 command. I suppose it comes with gstreamer1.0-1.10.4+git2-1.3.1.armv7hl? I have it installed but no success. ( 2018-08-17 04:17:14 +0200 )edit no, /usr/bin/gst-launch-1.0 is part of gstreamer1.0-tools along with gst-inspect-1.0 - another useful tool to investigate gstreamer plugins ( 2018-08-17 18:56:16 +0200 )edit ## 3 Answers Sort by » oldest newest most voted answered 2018-08-12 10:46:57 +0200 From a first glance, it seems strange that you have packages for the current gstreamer1.0, the older 0.10, and some unspecified ones. You also have a lot of extra/dev packages, not sure if any of them could cause problems. Here is my list for comparison. It is mostly vanilla, but for Sailfish X. Maybe a Jolla C owner can tell if you need anything else for your device. ,--- | Sailfish OS 2.2.0.29 (Mouhijoki) '--- [nemo@Sailfish ~]$ rpm -qa | grep gst
gstreamer1.0-plugins-good-1.10.4-1.2.1.armv7hl
gstreamer1.0-1.10.4+git2-1.3.1.armv7hl
qt5-qtmultimedia-plugin-mediaservice-gstmediacapture-5.6.2+git6-1.2.3.armv7hl
gstreamer1.0-tools-1.10.4+git2-1.3.1.armv7hl
gstreamer1.0-plugins-base-1.10.4+git1-1.2.1.armv7hl
qt5-qtmultimedia-gsttools-5.6.2+git6-1.2.3.armv7hl
nemo-gstreamer1.0-interfaces-0.20150126.0-1.2.1.armv7hl
qt5-qtmultimedia-plugin-mediaservice-gstcamerabin-5.6.2+git6-1.2.3.armv7hl
nemo-qtmultimedia-plugins-gstvideotexturebackend-0.0.9-1.2.3.armv7hl
gstreamer1.0-droid-0.20180416.1-1.7.2.armv7hl
qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer-5.6.2+git6-1.2.3.armv7hl

more

without really looking into it, here what I have installed on Jolla C (with LLS player and browser):

[nemo@Sailfish ~]$pkcon search name gstreamer | grep Installed Installed gstreamer-0.10.36-1.1.5.armv7hl (installed) Installed gstreamer0.10-ffmpeg-extra-0.10.13-1.armv7hl (installe d) Installed gstreamer1.0-1.10.4+git2-1.3.1.armv7hl (installed) Installed gstreamer1.0-droid-0.20180416.1-1.7.2.armv7hl (install ed) Installed gstreamer1.0-plugins-bad-1.10.4+git1-1.3.1.armv7hl (in stalled) Installed gstreamer1.0-plugins-base-1.10.4+git1-1.2.1.armv7hl (i nstalled) Installed gstreamer1.0-plugins-good-1.10.4-1.2.1.armv7hl (instal led) Installed gstreamer1.0-tools-1.10.4+git2-1.3.1.armv7hl (installe d) Installed nemo-gstreamer1.0-interfaces-0.20150126.0-1.2.1.armv7h l (installed) ( 2018-08-12 11:42:44 +0200 )edit Thanks for your replies. I've tried to get closer to what @peterleinchen has on his Jolla C, and now this is what I have: [nemo@Sailfish ~]$ pkcon search name gstreamer | grep "Installed"
Installed    gstreamer-0.10.36-1.1.5.armv7hl (installed)
Installed    gstreamer0.10-ffmpeg-extra-0.10.13-1.armv7hl (installed)
Installed    gstreamer1.0-1.14.2-1.armv7hl (installed)
Installed    gstreamer1.0-plugins-base-1.10.4+git1-1.2.1.armv7hl (installed)
Installed    gstreamer1.0-plugins-good-1.10.4-1.2.1.armv7hl (installed)
Installed    gstreamer1.0-tools-1.14.2-1.armv7hl (installed)
Installed    nemo-gstreamer1.0-interfaces-0.20150126.0-1.2.1.armv7hl (installed)


But I still have Installed gstreamer1.0-1.14.2-1.armv7hl instead of gstreamer1.0-1.10.4+git2-1.3.1.armv7hl on @peterleinchen's device. I think this is the only difference now, but I have no idea how to change it since I don't know how to give request specific versions with pkcon or zypper.

Also, devel-su pkcon install --allow-reinstall gstreamer1.0 returns:

Resolving
Querying
Testing changes
Finished
Fatal error: gstreamer1.0-tools-1.14.2-1.armv7hl requires gstreamer1.0 = 1.14.2-1, but this requirement cannot be provided


Which is weird since this version of gstreamer is currently installed. Could it be an issue with my repositories?

( 2018-08-14 01:15:46 +0200 )edit

Yes, you must have a repository issue. Too many openrepos gstreamer/codec repos.

Every GStreamer package should be the same version. 1.14 is the newer version from the next version of Sailfish that someone has already built on Openrepos, so you should be on 1.10 for everything. I recommend disabling all non-Jolla repositories using 'ssu dr' then doing a 'version --dup' from the console.

Also remove that 'gstreamer0.10-ffmpeg-extra' package and 'gstreamer' (0.10.36). They are not useful.

Also, do you have 'gstreamer1.0-droid' installed? This is important for camera and hw codec support. The version numbers of that don't follow the rest of Gstreamer.

( 2018-08-14 10:03:37 +0200 )edit

as you can read on openrepos only snapdragon cpu greater or equal 400 are supported (jollaC has snapdragon 212 and is therefore not). Gstreamer-1.14.2-1 most likely encounters an undefined instruction exception and crashes while trying to execute sdiv or udiv instructions

( 2018-08-15 18:02:01 +0200 )edit

Hi,

That error generally means you are missing a gstreamer element that's needed for decoding the current stream. You should see more information on the console if you run LLs video player from the console.

Those older gstreamer elements are likely to be from an old codec pack that won't work in modern Sailfish, you should remove 'gstreamer', 'gstreamer-ffmpeg' and 'gstreamer0.10-ffmpeg-extra'.

But it's more likely that you're having problems from missing the 'bad' plugin set which should be installed by default on Sailfish. Definitely install 'gstreamer1.0-plugins-bad'. Lots of codecs are in there - I'd expect even your camera to be broken without that.

That'll give you the latest set of codecs that Sailfish supports, though for licensing reasons that doesn't cover everything you might encounter. I think some community people have played around with builds of gst-libav for comprehensive codec support, though obviously that's not something that's officially supported.

Hope that helps,

Andrew

more

Thanks. However, I'm having issues in all video-related applications now, not just LLS Video Player. Even the camera application is showing colored squares instead of the preview now.

Also, it seems I can't uninstall gstreamer to start from scratch, because "Fatal error: This request will break your system!".

The "Bad" plugin is now installed (see my comment above) and the only difference with @peterleinchen's Jolla C is the version of gstreamer1.0.

( 2018-08-14 01:20:47 +0200 )edit

I am so lost with the TJC system, I don't know if I should answer the replies I got in a new answer or in multiple comments. Well, since I'm replying to several people, I'll try to summarize what I did in a single message here for better visibility. Sorry if this is wrong.

As suggested, I disabled all Openrepos repositories (using the Storeman built-in feature to do that all at once), then ran version --dup. The process completed with no error, and after reboot I could play video files and the preview in the Camera application was back too. LLS Video Player was still showing the same error though, so I went back to Storeman, and tried to uninstall all Openrepos-related non-official Gstreamer shenanigans. This resulted in the issue coming back again, and the camera application was uninstalled in the process. Not sure when exactly so I cannot connect it to a given Gstreamer package.

To fix it, I tried to disable all Openrepos again, and tried version --dup agian, but this time it fails. I have tried probably more than 15 times, the issue is always the same:

[nemo@Sailfish ~]$version --dup REFRESHING CACHE AND DOWNLOADING PACKAGES Downloading: 0% Error: Installation aborted by user Finished transaction (status=2, runtime=239555ms) UPGRADE NOT COMPLETE - Retry 1 of 9  Same error if I try with devel-su. Here are the Gstreamer packages currently installed on my Jolla C: [nemo@Sailfish ~]$ pkcon search name gstreamer | grep Installed
Installed    gstreamer-0.10.36-1.1.5.armv7hl (installed)
Installed    gstreamer1.0-1.14.2-1.armv7hl (installed)
Installed    gstreamer1.0-devel-1.14.2-1.armv7hl (installed)
Installed    gstreamer1.0-plugins-base-1.14.2-1.armv7hl (installed)
Installed    gstreamer1.0-plugins-base-devel-1.14.2-1.armv7hl (installed)
Installed    gstreamer1.0-plugins-good-1.10.4-1.2.1.armv7hl (installed)
Installed    nemo-gstreamer1.0-interfaces-0.20150126.0-1.2.1.armv7hl (installed)


So it seems there are some to remove, but i don't know how to uninstall the 0.10 and the 1.0-1.14.2 packages since pkcon only accepts package names and not file names, but maybe there is a pkcon or zypper command to find the package names for each of these versions? I've already uninstalled the 1.0-.1.14.2 in Storeman but they still show up in the terminal when executing this command.

more

You can uninstall 'gstreamer' to get rid of the 0.10 version. 'gstreamer1.0' is the newer version and that'll stay.

As for your repos and version --dup, they don't seem very happy. You can try to fix your repos with 'ssu ur', but seeing your repo status with 'ssu s' and 'ssu lr' might help see why you're getting that error. Unfortunately that error is a catch-all for unexpected things happening below.

To force zypper to install a package from a specific repository you can use the --from and --force switches, which should let you install the official versions, though from this state if you get plugins-good up to lpr's version then you should be fine. You don't need plugins-base-devel.

( 2018-08-16 10:52:52 +0200 )edit

I have uninstalled gstreamer-0.10.36-1.1.5.armv7hl, gstreamer1.0-plugins-base-devel-1.14.2-1.armv7hl, and brought everything back to 1.10.4 following your instructions, thanks. ssu s and ssu lr both look good, showing only official repos enabled, and the correct OS version. Unfortunately, even after a ssu ur, version --dup keeps failing, and still issues with the camera app or videos.

[nemo@Sailfish ~]$pkcon search name gstreamer | grep Installed Installed gstreamer1.0-1.10.4+git2-1.3.1.armv7hl (installed) Installed gstreamer1.0-plugins-bad-1.10.4+git1-1.3.1.armv7hl (installed) Installed gstreamer1.0-plugins-base-1.10.4+git1-1.2.1.armv7hl (installed) Installed gstreamer1.0-plugins-good-1.10.4-1.2.1.armv7hl (installed) Installed gstreamer1.0-tools-1.10.4+git2-1.3.1.armv7hl (installed) Installed nemo-gstreamer1.0-interfaces-0.20150126.0-1.2.1.armv7hl (installed)  I can't install gstreamer1.0-droid apparently: https://hastebin.com/yibixihapo ( 2018-08-17 04:15:49 +0200 )edit you don't have installed glibc-2.23 (JollaPhone) on a JollaC , have you??! ( 2018-08-17 19:57:52 +0200 )edit It seems I do: [nemo@Sailfish ~]$ pkcon search name glibc | grep Installed
Installed    glibc-2.23+10.1-2.armv7hl (installed)
Installed    glibc-common-2.23+10.1-2.armv7hl (installed)


Should I just uninstall it?

( 2018-08-18 00:35:16 +0200 )edit

it's a miracle that your phone boots up with this package installed (as it requires a 100% cortex-a15 compatible cpu - like qualcomm krait - and JollaC has only cortex-a7). Well at least to install gstreamer1.0-droid you have to temporarily revert back to glibc 2.19 as jolla-store credentials are a known problem...

( 2018-08-18 12:42:20 +0200 )edit