August 31, 2010

xzibit 0.01 - release

Thomas Thurman

xzibit 0.01 is now available for download. xzibit is a per-window VNC system; its development is supported by Collabora Ltd. This version is just a taster of what's possible: there's a fair amount more in existence that you won't see unless you play around. More of it will be more easily visible in later releases.

Do read the README for instructions on setting it up: the checks in autotools for required programs are by no means perfect yet.

How this is different from X forwarding:
  • Most importantly, because it works (or will soon work) over Telepathy tubes, so you can share windows with your chat contacts.
  • Less importantly, it uses VNC so that it's platform-independent.  There is only an X implementation at the moment, but eventually I'm hoping there'll be Windows and OS X implementations as well.
Other details
  • I have proposed a talk on xzibit at LCA in January.  I don't yet know whether it will be accepted.
  • The protocol is explained here, and you can see a diagram explanation here.


You may clone the git repository from here.

I'm now working on 0.02, which will have proper working Telepathy support.

August 31, 2010 03:50 PM

Feature complete custom ringtones

Marco Barisione

I finally released a version of “Custom ringtones for your contacts” that implements every basic feature I wanted to have for a first stable version, so I think it deserves being called 1.0 :).
Apart from some bug fixes, this new version is translatable and allow you to set a ringtone for callers with a hidden phone number and for contacts not in your address book. The new settings are available from the address book settings dialog.

The settings dialog with the extra ringtone buttons
The settings dialog with the extra ringtone buttons

For now there is only an Italian translation, but any help to get more is appreciated. Don’t worry, there are just 8 strings to translate!
To propose a new translation just go to the Transifex component page, download the .pot source file, add the translations to it, login to Transifex, and upload the file by pressing “Add a new translation” and setting as target file “po/XX.po” (where “XX” it the language code, for instance “fi” for Finnish, “de” for German, etc.). If you don’t know how to use gettext translation files I suggest using Poedit or gtranslator.

The custom ringtones application is now available both from extras-testing and from my personal repository:

Install per-contact-ringtones
Install from my personal repository
(follow the link on the N900 browser)

Update: I released version 1.0.1 containing some new translations: German (by NightShift79), French (by Alban Crequy), Brazilian Portuguese (by Humberto Sgrott Reis) and Swedish (by Andreas Henriksson). I will add more when I receive more.

Update 2: I released version 1.0.2 containing a crasher fix and some new translations: Albanian (by Ilir Gjika), Dutch (by Daniel Holsboer) and Spanish (by Fernando Borrego Polo).

by barisione at August 31, 2010 02:38 PM

August 24, 2010

GStreamer Conference 2010 Update

Christian Fredrik Kalager Schaller

So the preparations for this year GStreamer Conference 2010 is progressing at a healthy pace. Today I put the list of speakers and abstracts online, which combined with the conference timetable should let you plan the event pretty well.

I recommend everyone to look over the list of speakers and abstracts, because I am sure there will be things there everyone will find interesting.

I would also like to remind everyone that we got some great talks happening as part of CE Linux as well like Benjamin Gaignard of ST Ericsson talking about Android and GStreamer, Stefan Kost of Nokia talking about Meego and GStreamer and finally Arun Raghavan from Collabora Multimedia speaking about Pulse Audio. So make sure not to miss the CE Linux days.

You find registration information on the main conference website and be sure to register early as space is limited, so if you wait to long you might not be able to register at all.

by uraeus at August 24, 2010 11:35 AM

August 23, 2010

Ringtoned 0.2.4 (now with vibration!)

Marco Barisione

I just released ringtoned 0.2.4 with a fix to make the N900 able to vibrate again when a call is received.
Ringtoned (displayed in the application manager as “Custom ringtones for your contacts”) is available from extras-devel (that contains a lot of other unstable software!) or from my personal repository:

Install per-contact-ringtones
Install from my personal repository
(follow the link on the N900 browser)

This release fixes the last major reproducible bugs, but I’m sure there are more. If you find any please report them in the bugzilla explaining clearly what you are doing, what you would expect to happen and what happens instead. A log attached to the bugzilla entry is very useful to understand what is going on, and can be easily created by opening a terminal and giving this command:

ringtonedctl -d stop startwait > /home/user/MyDocs/ringtoned.log 2>&1

Then attach the ringtoned.log file that is in your documents directory to the bug report.

by barisione at August 23, 2010 03:39 PM

August 17, 2010

Updates from the Rygel + DLNA world

Arun Raghavan

Things have been awfully quiet since Zeeshan’s posted about the work we’ve been doing on DLNA support in Rygel. Since I’ve released GUPnP DLNA 0.3.0, I thought this is a good time to explain what we’ve been up to. This is also a sort of expansion of my Lightning Talk from GUADEC, since 5 minutes weren’t enough to establish all the background I would have liked to.

For those that don’t know, the DLNA is a consortium that aims to standardise how various media devices around your house communicate with each other (that is, your home theater, TV, laptop, phone, tablet, …). One piece of this problem is having a standard way of identifying the type of a file, and communicating this between devices. For example, say your laptop (MediaServer in DLNA parlance) is sharing the movies you’ve got with your TV (MediaPlayer), and your TV can play only upto 720p H.264-encoded video. When the MediaServer is sharing files, it needs to provide sufficient information about the file so that the MediaPlayer knows whether it can play it or not, so that it can be intelligent about what files show up in its UI.

How the DLNA specification achieves this is by using “profiles”. For each media format supported by the DLNA specification, a number of profiles are defined, that identify the audio/video codec used, the container, and (in a sense) the complexity of decoding the file. (for multimedia geeks, that translates to things like the codec profile, resolution, framerate/samplerate, bitrate, etc.)

For example, if a file is indicated to be of a DLNA profile named AAC_ISO_320, this indicates that this is an audio file encoded with the AAC codec, contained in an MP4 container (that’s “ISO”), with a bitrate of at most 320 kbps. Similarly, a file with profile AVC_MP4_MP_SD_MPEG1_L3 represents a file with H.264 (a.k.a. AVC) video coded in the H.264 Main Profile at specific resolutions upto 720×576, MP3 audio, in an MP4 container (there are more restrictions, but I don’t want to swamp you with details).

So now we have a problem statement – given a media file, we need to get the corresponding DLNA profile. It’s easiest to break this problem into 3 pieces:

  1. Discovery: First we need to get all the metadata that the DLNA specification requires us to check. Using GStreamer and Edward’s gst-convenience library, getting the metadata we needed was reasonably simple. Where the metadata wasn’t available (mostly codec profiles and bitrate), I’ve tried to expose the required data from the corresponding GStreamer plugin.

  2. DLNA Profiles: I won’t rant much about the DLNA specification, because that’s a whole series of blog posts in itself, but the spec is sometimes overly restrictive and doesn’t support a number of popular formats (Matroska, AVI, DivX, OGG, Theora). With this in mind, we decided that it would be nice to have a generic way to store the constraints specified by the DLNA specification and use them in our library. We chose to store the profile constraints in XML files. This allows non-programmers to tweak the profile data when their devices resort to non-standard methods to work around the limitations of the DLNA spec.

  3. Matching: With 1. and 2. above in place, we just need some glue code to take the metadata from discovery and match it with the profiles loaded from disk. For the GStreamer hackers in the audience, the profile storage format we chose looks suspiciously like serialized GstCaps, so matching allows us to reuse some GStreamer code. Another advantage of this will be revealed soon.

So there you have it folks, this covers the essence of what GUPnP DLNA does. So what’s next?

  1. Frankie Says Relax: Since the DLNA spec can often be too strict about what media is supported, we’ve decided to introduce a soon-to-come “relaxed mode” which should make a lot more of your media match some profile.

  2. I Can Haz Trancoding: While considering how to store the DLNA profiles loaded from the XML on disk, we chose to use GstEncodingProfiles from the gst-convenience library since the restrictions defined by the DLNA spec closely resemble the kind of restrictions you’d expect to set while encoding a file (codec, bitrate, resolution, etc. again). One nice fallout of this is that (in theory), it should be easy to reuse these to transcode media that doesn’t match any profile (the encodebin plugin from gst-convenience makes this a piece of cake). That is, if GStreamer can play your media, Rygel will be able to stream it.

Apart from this, we’ll be adding support for more profiles, extending the API as more uses arise, adding more automated tests, and on and on. If you’re interested in the code, check out (sic) the repository on Gitorious.

by Arun at August 17, 2010 02:30 PM

Hopefully that title was provocative enough. ;) No, GUADEC seemed to be a smashing success. If only I had been able to attend instead of lying in bed for 2 days, ill and wondering at the general malignancy of a Universe that would do this to me.

Collabora Multimedians, looking for a canal

Nevertheless, I had a great time meeting all the cool folks at Collabora Multimedia at our company meeting. Managed to trundle out for my Rygel + DLNA lightning talk (more updates on this in a subsequent post). Things did get better subsequently, and I had an amazing week-long vacation in Germany, and now I’m back at home with my ninja skillz fully recharged!

by Arun at August 17, 2010 07:10 AM

Last updated:
September 02, 2010 10:00 PM
All times are UTC.

Subscriptions