Tag Archives: media player

An in-flight entertainment system that isn’t terrible

Post Syndicated from Helen Lynn original https://www.raspberrypi.org/blog/an-in-flight-entertainment-system-that-isnt-terrible/

No Alex today; she’s tragically germ-ridden and sighing weakly beneath a heap of duvets on her sofa. But, in spite of it all, she’s managed to communicate that I should share Kyle‘s Raspberry Pi in-flight entertainment system with you.

I made my own IN-FLIGHT entertainment system! ft. Raspberry Pi

Corsair Ironclaw RGB Gaming Mouse: http://bit.ly/2vFwYw5 From poor A/V quality to lackluster content selection, in-flight entertainment centers are full of compromises. Let’s create our own using a Raspberry Pi 3 B+!

Kyle is far from impressed with the in-flight entertainment on most planes: the audio is terrible, the touchscreens are annoyingly temperamental, and the movie selection is often frustratingly limited. So, the night before a morning flight to visit family (congrats on becoming an uncle, Kyle! We trust you’ll use your powers only for good!), he hit upon the idea of building his own in-flight entertainment system, using stuff he already had lying around.

Yes, we know, he could just have taken a tablet with him. But we agree with him that his solution is way funner. It’s way more customisable too. Kyle’s current rushed prototype features a Raspberry Pi 3B+ neatly cable-tied into a drilled Altoids tin lid, which is fixed flush to the back of a 13.3-inch portable monitor with adhesive Velcro. He’s using VLC Media Player, which comes with Raspbian and supports a lot of media control functions straight out of the box; this made using his mouse and mini keyboard a fairly seamless experience. And a handy magnetic/suction bracket lets him put the screen in the back of the seat in front to the best possible use: as a mounting surface.

As Kyle says, “Is it ridiculous? I mean, yes, obviously it’s ridiculous, but would you ever consider doing something like this?”

The post An in-flight entertainment system that isn’t terrible appeared first on Raspberry Pi.

EFF: The War on General-Purpose Computing Turns on the Streaming Media Box Community

Post Syndicated from corbet original https://lwn.net/Articles/735166/rss

The EFF highlights
a number of attacks
against distributors of add-ons for the Kodi streaming media system.
These lawsuits by big TV incumbents seem to have a few goals: to
expand the scope of secondary copyright infringement yet again, to force
major Kodi add-on distributors off of the Internet, and to smear and
discourage open source, freely configurable media players by focusing on
the few bad actors in that ecosystem. The courts should reject these
expansions of copyright liability, and TV networks should not target
neutral platforms and technologies for abusive lawsuits.

Check Point: Hacked in Translation

Post Syndicated from corbet original https://lwn.net/Articles/723696/rss

Check Point has issued an
advisory
that a number of video-player applications can be compromised
via specially crafted subtitles. “By crafting malicious subtitle
files, which are then downloaded by a victim’s media player, attackers can
take complete control over any type of device via vulnerabilities found in
many popular streaming platforms, including VLC, Kodi (XBMC), Popcorn-Time
and strem.io. We estimate there are approximately 200 million video players
and streamers that currently run the vulnerable software, making this one
of the most widespread, easily accessed and zero-resistance vulnerability
reported in recent years.

Peeqo – The GIF Bot

Post Syndicated from Alex Bate original https://www.raspberrypi.org/blog/peeqo-the-gif-bot/

Peeqo is a conversational UI that answers only in GIFs. For those who know me, it’s essentially the physical version of 90% of my text messages with friends and colleagues.

I’m sure that future historians will look back on 2016 (if they dare acknowledge its presence) as the year we returned to imagery as our main form of social interaction. Once upon a time, we communicated stories and emotions via drawings on cave walls and hieroglyphs etched into stone. Throw in a few thousand years of language evolution, and we’re right back to where we started, albeit with a few added frames of movement.

So whether you pronounce it GIF with a ‘Guh’ or GIF with a ‘Juh’, you’re sure to have come across one in your everyday life. After all, they make for a much better visual response than the boring old word format we’ve grown accustomed to.

So it’s no surprise that when programmer and developer Abhishek Singh introduced Reddit to Peeqo, he managed to peak-o* our GIF interest right away.

Peeqo was Singh’s thesis project at the New York University Tisch School of the Arts. It was his attempt to merge the three things he loves: making things by hand, animated movies, and the GIF.

Some of you may be aware of Slack, a team messaging system used by businesses, groups, and charities (*ahem*) across the globe. One of Slack’s many features is the ability to pull GIFs from the popular GIF database GIPHY and display them in response to text conversation. Peeqo uses this same premise, searching keywords on the site to pull the correct response to your verbal communication with the bot.

(It’s a great lesson in making sure you use correct keywords when saving images to the web for public use, as some of the responses don’t always fit the mood. An example, which I will leave you to find, would be a specific Team America GIF that Liz has banned me from using in the Comms Team channel.)

Peeqo sits on your desk and uses the Google Speech API to detect the use of the wake word ‘Peeqo’ via one of four microphones, then it uses api.ai to search GIPHY for the correct response to your query. All of this runs with a Raspberry Pi at its heart, while two Arduinos work to control the LED notification ring atop its head and the servo motor that dictates the body’s movement. Peeqo also acts as a great bridge into home automation, controlling lights and other smart devices in your home or office, along with acting as a media player and new best friend work-based assistant.

I won’t go into the technical details of the build, but if you’re interested, an almost fully GIF-powered walkthrough of Peeqo is available here.

As is the case with so many of you lovely makers out there, Singh aims to make the entire project open-source; you can sign up for a notification as to when this will happen here.

Until then, here’s Abhishek explaining his project in more detail.

Abhishek Singh – PEEQO – YOUR DELIGHTFUL ROBOT ASSISTANT

Peeqo is a personal desktop robotic assistant who expresses himself through GIFs. Designed for people who spend long hours at their desks, this pint sized robot helps with essential work tasks and provides little moments of delight and entertainment often needed to get through the day. https://itp.nyu.edu/thesis2016/project/abhishek-singh http://peeqo.com

 

*Peak-o? Oh wow. Wow. I’m sorry. I’m so sorry. I’ll get my coat.

 

The post Peeqo – The GIF Bot appeared first on Raspberry Pi.

The Compute Module – now in an NEC display near you

Post Syndicated from Eben Upton original https://www.raspberrypi.org/blog/compute-module-nec-display-near-you/

Back in April 2014, we launched the Compute Module to provide hardware developers with a way to incorporate Raspberry Pi technology into their own products. Since then we’ve seen it used to build home media players, industrial control systems, and everything in between.

Earlier this week, NEC announced that they would be adding Compute Module support to their next-generation large-format displays, starting with 40″, 48″ and 55″ models in January 2017 and eventually scaling all the way up to a monstrous 98″ (!!) by the end of the year. These are commercial-grade displays designed for use in brightly-lit public spaces such as schools, offices, shops and railway stations.

Believe it or not these are the small ones

Believe it or not, these are the small ones.

NEC have already lined up a range of software partners in retail, airport information systems, education and corporate to provide presentation and signage software which runs on the Compute Module platform. You’ll be seeing these roll out in a lot of locations that you visit frequently.

Each display has an internal bay which accepts an adapter board loaded with either the existing Compute Module, or the upcoming Compute Module 3, which incorporates the BCM2837 application processor and 1GB of LPDDR2 memory found on the Raspberry Pi 3 Model B. We’re expecting to do a wider release of Compute Module 3 to everybody around the end of the year.

The Compute Module in situ

The Compute Module in situ

We’ve been working on this project with NEC for over a year now, and are very excited that it’s finally seeing the light of day. It’s an incredible vote of confidence in the Raspberry Pi Compute Module platform from a blue-chip hardware vendor, and will hopefully be the first of many.

Now, here’s some guy to tell you more about what’s going on behind the screens you walk past every day on your commute.

‘The Power to Surprise’ live stream at Display Trends Forum 2016 – NEC Teams Up With Raspberry Pi

NEC Display Solutions today announced that it will be sharing an open platform modular approach with Raspberry Pi, enabling a seamless integration of Raspberry Pi’s devices with NEC’s displays. NEC’s leading position in offering the widest product range of display solutions matches perfectly with the Raspberry Pi, the organisation responsible for developing the award-winning range of low-cost, high-performance computers.

The post The Compute Module – now in an NEC display near you appeared first on Raspberry Pi.

The latest update to Raspbian

Post Syndicated from Simon Long original https://www.raspberrypi.org/blog/another-update-raspbian/

No exciting new hardware announcement to tie it to this time, but we’ve just released a new version of our Raspbian image with some (hopefully) useful features. Read on for all the details of what has changed…

Bluetooth

When the Pi 3 launched back in February, we’d not had time to do much in terms of getting access to the new onboard Bluetooth hardware. There was a working software stack, but the UI was non-existent.

I’d hoped to be able to use one of the existing Linux Bluetooth UIs, but on trying them all, none were really what I was looking for in terms of usability and integration with the look and feel of the desktop. I really didn’t want to write one from scratch, but that ended up being what I did, which meant a fun few weeks trying to make head or tail of the mysteries of BlueZ and D-Bus. After a few false starts, I finally got something I felt was usable, and so there is now a Bluetooth plugin for the lxpanel taskbar.

btmenu

On the taskbar, to the left of the network icon, there is now a Bluetooth icon. Clicking this opens a menu which allows you to make the Pi discoverable by other devices, or to add or remove a Bluetooth device. Selecting the ‘Add Device…’ option opens a window which will gradually populate with any discoverable Bluetooth devices which are in range – just select the one you want to pair with and press the ‘Pair’ button.

btdialog

You will then be guided through the pairing procedure, the nature of which depends on the device. With many devices (such as mice or speakers), pairing is entirely automatic and requires no user interaction; on others you may be asked to enter a code or to confirm that a code displayed on a remote device matches that shown on the Pi. Follow the prompts, and (all being well), you should be rewarded with a dialog telling you that pairing was successful.

Paired devices are listed at the end of the Bluetooth menu – these menu entries can be used to connect or disconnect a paired device. To remove a pairing completely, use the ‘Remove Device…’ option in the menu.

Bluetooth support is limited at this stage; you can pair with pretty much anything, but you can only usefully connect to devices which support either the Human Interface Device or Audio Sink services – in other words, mice, keyboards and other UI devices, and speakers and headsets.

Devices should reconnect after a reboot or on powering up your Pi, but bear in mind that keyboards and mice may need you to press a key or click the mouse button to wake them from sleep when first used after a power-up.

The Bluetooth UI should also work with an external Bluetooth dongle on platforms other than Pi 3 – I’ve successfully tested it with a Targus dongle on all the earlier platforms.

Bluetooth audio

The UI now supports the use of Bluetooth speakers and headsets for audio output, with a few caveats, about which more below.

To connect an audio device, you pair it as described above – it will then be listed in the audio device menu, accessible by right-clicking the speaker icon on the taskbar.

audiomen

Selecting a Bluetooth device from the audio device menu will cause it to be selected as the default audio output device – there will be a few seconds’ pause while the connection is established. You can then use the volume control on the taskbar to control it, as for standard wired audio devices.

There is one issue with the support for Bluetooth audio, however. Due to the way the Bluetooth stack has been written, Bluetooth devices do not appear to the system as standard ALSA audio devices – they require the use of an intermediate audio layer called PulseAudio. The PulseAudio magic is all built into the UI – you don’t need to worry about setting it up – but the problem is that not all applications are able to send audio to the PulseAudio interface, and therefore cannot output audio over Bluetooth.

Most applications work just fine – videos and music work in the Epiphany and Iceweasel browsers, as does the command-line mplayer music player and the vlc media player. But at present neither Scratch nor Sonic Pi can output audio over Bluetooth – we are working with the authors of these programs to address this and are hopeful that both can be made compatible, so please bear with us!

The use of PulseAudio has one other effect that may cause issues for a small number of users – specifically, if you are already using PulseAudio for anything other than interfacing with Bluetooth devices. This plugin will automatically stop the PulseAudio service whenever a standard ALSA device is selected. If you are using PulseAudio for your own purposes, it would be best to remove the volumealsa plugin from the taskbar completely to avoid this – just right-click anywhere on the taskbar, choose ‘Add/Remove Panel Items’, and remove the “Volume Control (ALSA)” item from the list.

SD card copier

One query which comes up a lot on the forums is about the best way to back up your Pi. People also want to know how to migrate their Raspbian install to a new SD card which is larger or smaller than the one they are using at the moment. This has been difficult with the command-line tools that we’ve recommended in the past, so there is now a new application to help with this, and you’ll find it in the menu under ‘Accessories’.

sdcc

The SD Card Copier application will copy Raspbian from one card to another – that’s pretty much all it does – but there are several useful things that you can do as a result. To use it, you will need a USB SD card writer.

To take a common example: what if you want to back up your existing Raspbian installation? Put a blank SD card in your USB card writer and plug it into your Pi, and then launch SD Card Copier. In the ‘Copy From Device’ box, select “Internal SD Card”, and then select the USB card writer in the ‘Copy To Device’ box (where it will probably be the only device listed). Press ‘Start’, watch the messages on the screen and wait – in ten or fifteen minutes, you should have a clone of your current installation on the new SD card. You can test it by putting the newly-copied card into the Pi’s SD card slot and booting it; it should boot and look exactly the same as your original installation, with all your data and applications intact.

You can run directly from the backup, but if you want to recover your original card from your backup, simply reverse the process – boot your Pi from the backup card, put the card to which you want to restore into the SD card writer, and repeat the process above.

The program does not restrict you to only copying to a card the same size as the source; you can copy to a larger card if you are running out of space on your existing one, or even to a smaller card (as long as it has enough space to store all your files – the program will warn you if there isn’t enough space). It has been designed to work with Raspbian and NOOBS images; it may work with other OSes or custom card formats, but this can’t be guaranteed.

The only restriction is that you cannot write to the internal SD card reader, as that would overwrite the OS you are actually running, which would cause bad things to happen.

Please also bear in mind that everything on the destination card will be overwritten by this program, so do make sure you’ve got nothing you want to keep on the destination card before you hit Start!

pigpio

This image includes the pigpio library from abyz.co.uk – this provides a unified way of accessing the Pi’s GPIO pins from Python, C and other languages. It removes the need to use sudo in programs which want to access the GPIOs, and as a result Scratch now runs sudo-less for everyone.

Geany

One of the tools which is really useful for professional programmers is a good text editor – the simple editor provided with LXDE is fine for small tasks, but not really suitable for serious work.

geany

The image now includes the Geany editor, which is much better suited to big projects – it offers features like syntax highlighting, automatic indentation and management of multiple files. There’s good online help built into the program itself, or have a look at the Geany website.

New versions of applications

There are new versions of many of the standard programs included in the image, including Scratch, Sonic Pi, Node-RED, BlueJ and PyPy. Please see the relevant individual websites or changelists for details of what has changed in each of these.

New kernel

The Linux kernel has been upgraded to version 4.4. This change should have no noticeable effect for most users, but it does force the use of device tree; if you’ve been hacking about with your Raspbian install, particularly in terms of installing new hardware, you may find reading this forum post useful.

Tweaks

There are a lot of small user interface tweaks throughout the system which you may notice. Some of these include:

• A new Shutdown Options dialog

shutdown

• The Mouse and Keyboard Settings dialog now allows you to set the delay between double-clicks of the mouse button

mandk

• The Raspberry Pi Configuration dialog now allows you to enable or disable the single-wire interface, and to enable or disable remote access to the pigpio daemon

rcgui

• Right-clicking the Wastebasket icon on the desktop now gives the option to empty the wastebasket

ewaste

• The keyboard shortcut Ctrl-Alt-T can now be used to open a Terminal window

Finally, there are a couple of setup-related features:

• When flashing a new Raspbian image, the file system will automatically be expanded to use all the space on the card when it is first booted.

• If a wpa_supplicant.conf file is placed into the /boot/ directory, this will be moved to the /etc/wpa_supplicant/ directory the next time the system is booted, overwriting the network settings; this allows a Wifi configuration to be preloaded onto a card from a Windows or other machine that can only see the boot partition.

There are also a host of fixes for minor bugs in various parts of the system, and some general cleaning-up of themes and text.

How do I get it?

A full image and a NOOBS installer are available from the Downloads page on this website.

If you are running the current Jessie image, it can be updated to the new version by running

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install piclone geany usb-modeswitch

As ever, your feedback on the new release is very welcome – feel free to comment here or in the forums.

The post The latest update to Raspbian appeared first on Raspberry Pi.

A media player for Scott

Post Syndicated from Liz Upton original https://www.raspberrypi.org/blog/media-player-scott/

Projects don’t have to be hugely complicated to make a huge difference. In Luxembourg, Alain Wall has used a Raspberry Pi to make a very simple media player for his autistic son, Scott. It’s very easy to use, very robust, and easy to clean; and it offers Scott a limited (so not overwhelming) but meaningful degree of choice. Here’s Scott using his player. Watch to the end for the best smile in the world.

Dem Scott sain neien TV. Scott’s new TV

Hei ass den Scott deen sain neien Mediaplayer test. En kann sech seng Filmer selwer starten an stoppen. A media player nearly indestructible an controllable with 6 Buttons to choose a movie Deutsch: http://awallelectronic.blogspot.lu/2016/04/scott-tv.html English: http://www.instructables.com/id/ScottTV-a-Simple-Media-Player-for-My-Austic-Son/ or https://hackaday.io/project/11000-scotttv-a-simple-mediaplayer-for-my-autistic-son

Alain hooked up six big piezo buttons and some speakers to a 20-in monitor and a Raspberry Pi – this isn’t the most complicated build you’ll see around these parts. (You can see a how-to guide over at Instructables.) But it is one of the most effective: as Alain says, “Scott loves it.”

Here’s another video from Alain demonstrating the setup.

Scott TV Simple MediaPlayer For My Autistic Son Scott

This is a simple media player for my autistic son. It had to be easy to use, nearly indestructible and easy to clean http://www.instructables.com/id/ScottTV-a-Simple-Media-Player-for-My-Austic-Son/ Deutsch: http://awallelectronic.blogspot.lu/2016/04/scott-tv.html

Thanks very much for sharing the project, Alain; all the very best from us at Pi Towers to you and the rest of the family, especially Scott!

 

The post A media player for Scott appeared first on Raspberry Pi.

Oh Nine Sixteen

Post Syndicated from Lennart Poettering original http://0pointer.net/blog/projects/oh-nine-sixteen.html

#nocomments y

As a followup to Oh Nine
Fifteen
here’s a little overview of the changes coming with PulseAudio 0.9.16 which will be part of
Fedora 12 (already in Rawhide; I think Ubuntu Karmic (?) will have it
too).

A New Mixer Logic

We now try to control more than just a single ALSA mixer element for volume
control. This increases the hardware volume range and granularity exposed and
should also help minimizing problems by incomplete or incorrect default mixer
initialization on the lower levels.

This also adds support for allowing selection of input/output ports for
sound cards. This is used to expose changing between Mic vs. Line-In for input
source selection and Headphones vs. Speaker for output selection (of course the
list of available port is strictly dependant on what you hardware supports).
The list of available ports is deliberately kept minimal.

Thanks to Bastien the newest GNOME Volume Control now exposes profile/port
switching quite nicely, which he
blogged about.
This
screenshot shows how the port (here called ‘Connector’) can be selected
in the new dialog.

The mixer rework also allows us to handle semi-pro/pro sound cards a bit
more flexibly. For example, which profiles/ports are exposed in PulseAudio or
how specific mixer elements are handled can now be controlled by editing .ini
file like configuration files in /usr/share/pulseaudio/alsa-mixer/.
Read
this mail for more information about this.

UPnP MediaServer Support

PulseAudio now integrates with Zeeshan’s fabulous Rygel UPnP/DLNA MediaServer. If enabled
Rygel will automatically expose all local audio devices which are managed by
PulseAudio as UPnP/DLNA MediaServer items which your UPnP/DLNA MediaRenderers
can now tune into. (Meaning: you can now stream audio from your PC directly to
your UPnP DMP (Digital Media Player) device, such as the PS3.) Communication
between Rygel and PulseAudio follows our little Media Server Spec on the
GNOME Wiki
. This nicely complements the RAOP (Apple Airport) support we
introduced in PulseAudio 0.9.15. In one of the next versions of
PulseAudio/Rygel we hope to add support for PulseAudio becoming a MediaRenderer
as well. This will then not only allow you to stream from your PC to your
DMP device, but also allows PulseAudio to act as
“networked speaker”, which can be used by any UPnP/AV/DLNA control point, such
as Windows’ Media Player.

Hotplug Support Improved

If you select a particular device as the default for a specific application
or class of streams, then when unplugging the device PulseAudio moves the stream
automatically to another audio device if one exists. New in PulseAudio 0.9.16
is that if you replug the audio device the stream will instantly be moved back,
requiring no further user intervention.

Also, PulseAudio now includes some implicit rules for doing the ‘right
thing’ when finding an audio device for an application. For example, unless
configured otherwise it will now route telephony applications automatically to
Bluetooth headsets if one is connected, in favour of the internal sound card of
the computer.

Surround Sound Support for Event Sounds

This is more a new feature of libcanberra than
of PulseAudio, but nonetheless: we now support surround for events sounds.
This allows us to play full 5.1 login sounds for example, in best THX cinema
fashion. We’d love to ship a 5.1 sound for login by default in sound-theme-freedesktop.
We’d be very thankful if you would be willing to contribute a sound
here, or two! A sound a bit less bombastic than the famous cinema THX effect
would probably be a good idea though.

And then there’s of course the usual batch of fixes and small improvements.
A substantial number of non-user visible changes have been made as well. For
example, as HAL is now obsolete PulseAudio now moved to udev for its device
discovery needs. We replaced our gdbm support by support for tdb. Also,
we stripped all security senstive code from PulseAudio, and ported it to use
RealtimeKit instead.
For the upcoming distributions that means that PulseAudio will run as real-time
process by default, improving drop-out safety.

And for some extra PA eye-candy, have a look on Impulse!

Tagging Audio Streams

Post Syndicated from Lennart Poettering original http://0pointer.net/blog/projects/tagging-audio.html

So you are hacking an audio application and the audio data you are
generating might eventually end up in PulseAudio before it is played. If that’s the case then please make sure
to read this!

Here’s the quick summary for Gtk+ developers:

PulseAudio can enforce all kinds of policy on sounds. For example, starting
in 0.9.15, we will automatically pause your media player while a phone call is
going on. To implement this we however need to know what the stream you
are sending to PulseAudio should be categorized as: is it music? Is it a
movie? Is it game sounds? Is it a phone call stream?

Also, PulseAudio would like to show a nice icon and an application name next
to each stream in the volume control. That requires it to be able to deduce
this data from the stream.

And here’s where you come into the game: please add three lines like the
following next to the beginning of your main() function to your Gtk+
application:

...
g_set_application_name(_("Totem Movie Player"));
gtk_window_set_default_icon_name("totem");
g_setenv("PULSE_PROP_media.role", "video", TRUE);
...

If you do this then the PulseAudio client libraries will be able to figure out the rest for you.

There is more meta information (aka “properties”) you can set for your application or for your streams that is useful to PulseAudio. In case you want to know more about them or you are looking for equivalent code to the above example for non-Gtk+ applications, make sure to read the mentioned page.

Thank you!

Oh, and even if your app doesn’t do audio, calling g_set_application_name() and gtk_window_set_default_icon_name() is always a good idea!

iLock-in: Apple locks Free Software out, but where’s the news?

Post Syndicated from Lennart Poettering original http://0pointer.net/blog/projects/apple-sucks.html

So,
Apple now blocks third-party software from accessing iPods.
But is behaviour like that
news? No, unfortunately not at all.

Let’s have a look on two technologies that are closely related to the iPod
and Apple-style media playback: DAAP (Digital
Audio Access Protocol)
and RAOP
(Remote Audio Output Protocol).
RAOP is the protocol that is spoken when
you want to output audio from iTunes over the network on your AirPort base
station. DAAP is the popular protocol which you can use to swap music
between multiple iTunes instances on a LAN. Both technologies use cryptographic hashes to block interoperable alternative implementations.

Now, the RAOP client crypto key has been extracted from iTunes, hence its
now possible to implement alternative software that takes the role of iTunes
and streams audio to an AirPort. However, noone managed to extract the RAOP
server key yet, hence noone is able to implement software that exposes itself
as AirPort-compatible audio sink on the network, so that iTunes could stream
data to it.

With DAAP it’s a similar situation: iTunes uses cryptographic hashes to make
sure that only real iTunes instances can swap audio with each other. This key
has been broken multiple times, hence there are now a couple of alternative
DAAP implementations, which can swap audio with iTunes (Rhythmbox being one
example). However, with iTunes 7 Apple changed the cryptographic key once
again, and until now nobody managed to break it.

So basically, Apple now dongles AirPorts to iTunes, iTunes to iTunes and
iTunes to iPods. The whole Apple eco-system of media devices and software is dongled
together. And none of the current iterations of the underlying technologies
have been fully broken yet.

While the audio files you can buy at the iTunes shop may now be DRM-free,
you’re still locked into the Apple eco-system if you do that. They replaced DRM with
vendor lock-in.

This lock-in behaviour is childish at best. DAAP once was the de-facto
standard for swapping media files in LANs. Swapping files in LANs is
perfectly legitimate and legal. Then, Microsoft/Intel started to include a
similar technology in UPnP, the UPnP
MediaServer
. An open technology that has now been included in endless media
server devices. Several Free Software implementations exist (most notably gUPnP). These days, uPNP MediaServer is
ubiquitous, DAAP is no more. Apple had the much better starting position, but
they blew it, because of their childish locking-out of alternative
implementations.

I believe that DAAP is the superior protocol in comparison to UPnP
MediaServer. (Not really surprising, since I wrote most of Avahi, which is a free implementation of
mDNS/DNS-SD (“Zeroconf”), the (open) Apple technology that is the basis for
DAAP.) However, due to the closedness of DAAP I would recommend everyone to
favour UPnP MediaServer over DAAP. It’s a pity.

Both DAAP and UPnP MediaServer are transfer protocols, nothing that is ever
directly exposed to the user. Right now, Free Software media players support DAAP much better than UPnP MediaServer. Hopefully, they will start to
abstract the differences away, and allow swapping music the same way over DAAP
and over uPnP. And hopefully, DAAP will eventually die or Apple will open
it. They have shown that they are able to change for the good, they became much
more open with WebKit, and they changed the license of Bonjour to a real Free
Software license. Let’s hope they will eventually notice that locking users in
makes their own technology irrelevant in the long term.

Oh, and let’s hope that Jon finds the time to break all remaining Apple crypto keys! Jon, DAAP 7.0, and the RAOP server key is waiting for you! I’d love to make PulseAudio RAOP-compatible, both as client and as server.

Update: Ars Technica has an update on this.