45 lines
1.8 KiB
Plaintext
45 lines
1.8 KiB
Plaintext
README:
|
|
|
|
PackageKit installs missing GStreamer plugins as it requested: this is how
|
|
the whole system is designed to work.
|
|
|
|
Introduction:
|
|
|
|
1. Package installs pk-gstreamer-install into /usr/libexec
|
|
2. _If_ the distro wants PackageKit to handle the codec install, and
|
|
not an application like codeina then you need to symlink
|
|
pk-gstreamer-install to gst-install-plugins-helper
|
|
4. Distribution patches /etc/PackageKit/Vendor.conf with URLs to wiki pages.
|
|
3. Done. It's really that simple.
|
|
|
|
Detecting the calling application:
|
|
|
|
When an application calls the DBUS interface to install plugins or codecs
|
|
then the XID and timestamp along with the codec string is passed on the
|
|
interface.
|
|
|
|
The caller (the exe from ConsoleKit) is then sent to SearchFile and the result
|
|
used in the GUI. This ensures that all applications can use the interface,
|
|
but they cannot pretend to be other applications by changing application
|
|
window properties.
|
|
|
|
This of course, causes a problem as all installs will be resolved to the
|
|
PackageKit-gstreamer-plugin as this owns the /usr/libexec/pk-gstreamer-install
|
|
file.
|
|
|
|
This file, /usr/libexec/pk-gstreamer-install is treated specially (as it is
|
|
compiled, and cannot be modified without root access). In this special case
|
|
we use the XID of the calling window (provided by GStreamer) and lookup the
|
|
program name and icon from the window properties.
|
|
|
|
Notes:
|
|
|
|
* You will need to restart any applications using GStreamer before they will
|
|
request plugings using PackageKit.
|
|
* Although PackageKit 0.3.4 supports codec installing, 0.3.6 is the first
|
|
release that returns the correct return values to GStreamer.
|
|
* Totem versions less than 2.24.1 have a bug where it sends the wrong XID,
|
|
you need to upgrade for focus stealing prevention to work and for the title
|
|
and icon to be set correctly.
|
|
|