← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2060730] Re: totem cannot install codecs via packagekit

 

** Merge proposal linked:
   https://code.launchpad.net/~aleasto/ubuntu/+source/packagekit/+git/packagekit/+merge/488072

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to totem in Ubuntu.
https://bugs.launchpad.net/bugs/2060730

Title:
  totem cannot install codecs via packagekit

Status in App Center:
  Triaged
Status in packagekit package in Ubuntu:
  Fix Released
Status in totem package in Ubuntu:
  Invalid
Status in packagekit source package in Noble:
  In Progress
Status in packagekit source package in Oracular:
  Won't Fix
Status in packagekit source package in Plucky:
  In Progress

Bug description:
  [ Impact ]

  While attempting to play a video on Ubuntu noble desktop for raspberry
  pi, totem attempts to locate a package for the H.264 codec but cannot
  find a service providing org.freedesktop.PackageKit. This is strange
  given that packagekit is installed, provides packagekit.service, which
  declares that it provides that name over DBus. Specifically, the
  following is output by totem:

      ** Message: 21:13:39.000: Missing plugin: gstreamer|1.0|totem|MPEG-4 AAC decoder|decoder-audio/mpeg, mpegversion=(int)4, level=(string)4, base-profile=(string)lc, profile=(string)lc (MPEG-4 AAC decoder)
      ** Message: 21:13:39.000: Missing plugin: gstreamer|1.0|totem|H.264 (Main Profile) decoder|decoder-video/x-h264, level=(string)3.1, profile=(string)main (H.264 (Main Profile) decoder)
      ** Message: 21:13:39.414: PackageKit: xid = 0
      ** Message: 21:13:39.414: PackageKit: desktop_id = org.gnome.Totem.desktop
      ** Message: 21:13:39.414: PackageKit: Codec nice name: MPEG-4 AAC decoder
      ** Message: 21:13:39.414: PackageKit: ignoring field named level
      ** Message: 21:13:39.414: PackageKit: ignoring field named base-profile
      ** Message: 21:13:39.414: PackageKit: ignoring field named profile
      ** Message: 21:13:39.414: PackageKit: field is: mpegversion, type: gint
      ** Message: 21:13:39.414: PackageKit: structure: gstreamer1(decoder-audio/mpeg)(mpegversion=4)()(64bit)
      ** Message: 21:13:39.414: PackageKit: Codec nice name: H.264 (Main Profile) decoder
      ** Message: 21:13:39.414: PackageKit: ignoring field named level
      ** Message: 21:13:39.414: PackageKit: ignoring field named profile
      ** Message: 21:13:39.414: PackageKit: structure: gstreamer1(decoder-video/x-h264)()(64bit)
      ** Message: 21:13:39.434: PackageKit: Did not install codec: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PackageKit was not provided by any .service files
      ** Message: 21:13:39.441: No installation candidate for missing plugins found.

  
  The main source of the bug is that App Center does not implement org.freedesktop.PackageKit.Modify2 on the session bus, which would prompt the user to install the missing codecs. This is being worked on and will be delivered as a snap update.

  But a fix to PackageKit itself is also necessary in order to correctly
  resolve the codec providers.

  
  [ Test Plan ]

  For the purpose of the SRU, we're only going to verify the PackageKit fix.
  Verify the output of the following commands:

  1. $ pkcon what-provides "gstreamer1(decoder-audio/mpeg)(mpegversion=4)()(64bit)"
     -> gstreamer1.0-fdkaac-*.amd64
     -> gstreamer1.0-libav-*.amd64
     -> gstreamer1.0-plugins-bad-*.amd64
     -> gstreamer1.0-plugins-good-*.amd64

  2. $ pkcon what-provides "gstreamer1(decoder-audio/mpeg)(mpegversion=4)"
     -> gstreamer1.0-fdkaac-*.amd64
     -> gstreamer1.0-libav-*.amd64
     -> gstreamer1.0-plugins-bad-*.amd64
     -> gstreamer1.0-plugins-good-*.amd64
     Additionally, if you have enabled the i386 dpkg architecture on amd64:
     -> gstreamer1.0-libav-*.i386
     -> gstreamer1.0-plugins-bad-*.i386
     -> gstreamer1.0-plugins-good-*.i386

  3. $ pkcon what-provides "gstreamer1(decoder-video/x-h265)()(64bit)"
     -> gstreamer1.0-libav-*.amd64
     -> gstreamer1.0-plugins-bad-*.amd64

  4. $ pkcon what-provides "gstreamer1(decoder-video/x-h265)"
     -> gstreamer1.0-libav-*.amd64
     -> gstreamer1.0-plugins-bad-*.amd64
     Additionally, if you have enabled the i386 dpkg architecture on amd64:
     -> gstreamer1.0-libav-*.i386
     -> gstreamer1.0-plugins-bad-*.i386

  [ Where problems could occur ]

  The patch can only affect the behaviour of matching GStreamer capabilities.
  No other packagekit features are affected.
  Problems could manifest with `pkcon what-provides gstreamer1(...)` queries returning the wrong package names. This is verified in the test plan.

To manage notifications about this bug go to:
https://bugs.launchpad.net/app-center/+bug/2060730/+subscriptions