Phonon VLC 0.4.1 – The Rise of Legacy Media

The Phonominals are proud to present Phonon VLC 0.4.1.

Now available on a KDE FTP mirror near you.

This thrilling new release of the VLC backend for Phonon features vastly improved subtitle loading, support for it, s3m and xm, as well as greater stability in case of a broken libvlc  installation.

But above all it enables audio CD playback in Amarok. Yes. We also care about legacy media ;). With latest Amarok and Phonon VLC 0.4.1 you are finally able to play audio CDs properly. Of course this improvement is not limited to Amarok, but available to every application that uses Phonon, thanks to the wonderful architecture of Phonon.

by xcode@flickr

Amarok’s Myriam Schweingruber said the following about this wonderful new release:

you people rock and really help us improve the user experience!

VideoLan’s Jean-Baptiste Kempf added:

 pVLC will rock your audiophile poney!

Have fun with Phonon VLC 0.4.1!

GSoC: Phonon QML Iteration2 & Meego

In my quest of bringing Phonon, the best multimedia abstraction library from KDE, to QML and Qt Quick I have reached another big iteration.

Following iteration 1 there is a now a new branch called ‘qml-i2‘ for iteration 2.

While i1 was using only existing experimental technology of Phonon, namely the VideoDataOutput class, i2 has moved away from this and now features a closer relation with the Phonon backend (currently only GStreamer).

Also I spent half an hour on creating an alternative appearance for the demo player. It is using Nokia Meego 1.2 Harmattan Qt Quick Components and I already ran it on a Nokia N950, the developer version of the Nokia N9 – looks really slick.

Hot new stuff:

  • Closer to backend
  • Redrawing only of space occupied by video frame
  • Pull instead of push frame access -> no memcopy
  • Faster due to above
  • Still raster/qimage based frame drawing
  • Demo player in demos/qml/videoplayer much improved
  • Harmattan demo player

The overall architecture is really simple to explain:
There are 3 QML Elements for Audio, Video and the Media control itself. The Video element uses a class called VideoGraphicsObject which implements the drawing logic. The VideoGraphicsObject connects to a backend implementation via a well defined interface. The backend implementation does magic in order to obtain raw video data from the video pipeline, emits a signal that a new frame is ready and the VideoGraphicsObject does the drawing.

What is particularly interesting is the way we currently access the frame data. The backend implementation holds exactly one frame, consequently either the pipeline or the VideoGraphicsObject hold a lock on the frame. This has three particular advantages for the time being: a) it does avoid any sort of object copy b) it allows the pipeline to adapt to drawing speed and frequency c) always the most current frame is drawn, even if the drawing operation was delayed.

To test qml-i2 you’ll need both the qml-i2 branch from the Phonon git repository as well as the qml-i2 branch from the Phonon GStreamer git repository. After installing both you should be able to run the demo player in Phonon’s demos/qml/videplayer folder.

The Future of KDE Multimedia

Did you also feel at times that KDE Multimedia is being held back from becoming truly amazing? I did.

Ever since I took over maintainership of Phonon, the loveliest multimedia abstraction layer for Qt and KDE applications, I found myself thinking about how to make the overall multimedia experience in KDE better. Now that the KDE Multimedia sprint in Randa is over I have a fair idea how.

by surfergirl30@flickr

by surfergirl30@flickr

For as long as I can remember KDE Multimedia was a rather fragmented effort. On the one hand we have the KDE Multimedia module (as released along the KDE Workspace). It contains applications such as Dragon Player and JuK as well as other multimedia related technology such as thumbnail support for videos. On the other hand there are “unofficial” applications like Amarok, Bangarang, K3b and Kdenlive.

All these applications try to provide the best possible user experience and the best interface for their specific tasks. But put together they do not form a coherent experience of what is KDE Multimedia.

This is about to change. In Randa I became Lord President of KDE Multimedia with the primary agenda item of unifying what belongs together: the people behind our great multimedia applications.

So what are we going to do?

  1. Make awesome
  2. Tear down the imaginary wall between “offical” and “unofficial” multimedia applications
  3. Form an awesome unified KDE Multimedia community
  4. Find ways to create more amazing technology throughout KDE Multimedia
  5. Ascend to become creatures of pure awesome
All aboard for the train to Amazing.