Home - Pelagicore/tracker-ivi GitHub Wiki

This wiki serves as a description of the tracker-ivi project, the goals of the project and how it differs from the original Tracker project.

What is tracker-ivi?

tracker-ivi is a searchable multimedia database aimed for In-Vehicle Infotainment. A common use-case for tracker-ivi is to index, and make a removable device (such as a USB drive) searchable for an in-car computer. By making the device searchable, users can easily navigate the multimedia on the device using the user interface of the car, and play the media using the media player of the car.

How is it different from Tracker?

Tracker-ivi contains modifications which enhance indexing speed, while sacrificing other features, such as interoperability. The original Tracker project, which is often used in desktop systems, is dependent on interoperability in order to provide a common metadata store for desktop applications. The IVI setting is much more controlled, where applications of the IVI system can be tweaked to support Tracker-ivi in order to gain speed benefits.

A major goal of tracker-ivi is to keep it in sync as much as possible with the original Tracker project. This means patches are adapted for, or written with the original project in mind. The purpose of this IVI-specific Tracker version is to gather the features and modifications which are not interesting for the original project. Everything which can be integrated in the original project is sent upstream. The following "diverging" features have been identified so far:

  • GENIVI-compliant extractor modules, extracting metadata fields according to requirements set by GENIVI
  • Stripped ontologies, allowing tracker-ivi to balance insertion and extraction speeds to/from the database
  • IVI-specific configuration settings out of the box, where only the relevant parts of Tracker have been included

It is important to note that tracker-ivi strives to contribute as much as possible back to the original Tracker project, and that only features which are considered irrelevant to the original project are placed solely in tracker-ivi.

Performance benefits

The performance comparison page contains some performance measurements of Tracker and Tracker-ivi which should give an idea of differences in extraction performance.

How can I contribute?

First, you need to decide if the feature you have, or will develop is suitable for the original Tracker project, if so it should be sent there instead. If the feature is more suitable for tracker-ivi, fork this GitHub repository and submit a pull request. If you are unsure which project to submit your patch to, send an email to [email protected] and I will help you decide, or you may contact the Tracker developers via the Tracker mailing list and ask if your feature is of interest to them.

If you have IVI-specific Tracker code which you want help with, you can request to have a branch opened in the tracker-ivi project, which can be used to coordinate further development.

Please direct any questions to [email protected]