GSoC Ideas List – 2011

 

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

 

BlueZ

 

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:

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:

 

Improve AVRCP support

 

This will include add support for the AVRCP sink role, being able to send avrcp commands to the source role.  Useful for carkits, where the carkit will be the sink role and a cell phone will play the source role.

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

Separate AVDTP and AVCTP from the Audio code

 

The Audio/Video Distribution Transport Protocol (AVDTP) and the Audio/Video Control Transport Protocol(AVCTP) can be used both for A2DP and VDP, then have AVDTP and AVRCP separated from the audio code would be good.

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

Implement Audio Routing Module for PulseAudio

 

Make PulseAudio to automatically select audio routing depending on system state.

Skills: C, 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:

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:

 

obexd

Implement the Basic Image Profile (BIP) support

 

The Basic Image Profile allows the share of images between Bluetooth devices, use cases are: browse the photos on your digital camera from you phone or computer; use a printer to print photos sent from a digital camera, etc.

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