GSoC Ideas list

 

Here are our projects ideas for this year, check how to talk to us about the ideas in our GSoC main page.

 

BlueZ

 

Implement AVRCP 1.3 Controller Role

 

The Audio/Video Remote Control Profile allows the control of a playing music/video over Bluetooth. Commands like play/pause are already supported by BlueZ and are part of the 1.0 specification. Now we need to implement the 1.3 version of the specification that adds music metadata information like Artist Name and Track title. There is two roles in this profile, the Target, who sends the metadata information and the Controller, that receives it, you can think the Target as the cellphone and the Controller the car kit side.

Target is already implemented in BlueZ, we need to implement now the Controller side.

Related projects: MPRIS
Skills: C, glib, dbus
Complexity: medium
Priority: high

 

Implement the Video Distribution Profile(VDP)

 

The Video Distribution Profile provide a way for device share a streaming video from one device to the other.  This project intends to implement the source and sink role because the only way to test this is if we implement both roles.

Related projects: GStreamer, ffmpeg
Skills: C, glib, multimedia programming, gstreamer, dbus
Complexity: difficult
Priority: low

Implement the Basic Printing Profile(BPP)

 

The aim is to make your USB printer look like a Bluetooth printer.

Skills: C, glib
Complexity: medium
Priority:

 

Improve A2DP support

 

Improve support for Sink role and coexistence with HFP gateway role. This will be very useful for carkits.

Skills: C, glib, multimedia programming
Complexity: medium
Priority:

 

Implement a LE controller using VHCI

 

Using VHCI (Virtual HCI) we could implement a entire controller in software. This would be very useful when testing and reproducing corner case situations. Bluetooth Low Energy (LE) is the newest Bluetooth version, it defines a new type
of controller with some different objectives than traditional Bluetooth, for example, extreme low power consuption and fast connection setup, in exchange for a low data throughput. Also, very useful in airplanes ;-)

Skills: C, glib
Complexity: high
Priority:  low

Bluetooth replayer

 

Also using the VHCI interface we could implement a way to “replay” hcidump logs from other setups, so we could reproduce some bugs without the need of specific hardware. hcidump is something similar to tcpdump for the Bluetooth world. This will too be useful in airplanes.

Skills: C, glib
Complexity: high
Priority: medium

 

Visualization of Bluetooth traffic

Write a tool to visualize Bluetooth traffic as sequence diagrams, pretty much like Bustle does with D-Bus traffic. Integrating it with wireshark somehow is a plus.

Skills: C
Complexity: medium
Priority: high

 

obexd

 

Implement the Message Access Profile(MAP)

 

MAP allows you to check/send email and SMS over Bluetooth. We need to implement the Client side in Bluez, a CarKit, for example. The server would be your cell phone.

Skills: C, glib, dbus
Complexity: medium
Priority:  high

 

OBEX file system

 

Write a fuse-based or gvfs-based filesystem that allows a OBEX device to be mounted.

Skills: C, glib
Complexity: medium
Priority:  medium