Advanced search
Log In
New Account
Home My Page Project Cloud Code Snippets Project Openings Embedded-Phone
Summary Forums Tracker Lists Tasks Docs News SCM Files Wiki

Release Name: DCCP Gstreamer Plugin

I'm pleased to announce the version v0.7 of the DCCP GStreamer
Plugin. Please, let me know if you have any problem on running
the plugin, suggestions and improvements that you provided for it.
The main news for this release is that the plugin can now support
multiple connection in the server element and share the same sockid
between to GStreamer elements.

 What is GStreamer?

 GStreamer [1] is a library that allows the construction of graphs of
media-handling components, ranging from simple Ogg/Vorbis playback to
complex audio (mixing) and video (non-linear editing) processing.
Applications can take advantage of advances in codec and filter
technology transparently. Developers can add new codecs and filters by
writing a simple plugin with a clean, generic interface. GStreamer is
released under the LGPL.

 What is DCCP?

 The Datagram Congestion Control Protocol (DCCP) [2] is a transport
protocol that provides bidirectional unicast connections of
congestion-controlled unreliable datagrams. DCCP is suitable for
applications that transfer fairly large amounts of data and that can
benefit from control over the tradeoff between timeliness and

 It is a message-oriented transport layer protocol that implements
reliable connection setup, teardown, ECN, congestion control, and
feature negotiation. It was published as RFC 4340  by IETF in March,
2006. Linux had an implementation of DCCP since version 2.6.14 and
this continues to improve with each release. The latest official
version of the DCCP code can be found at [3] and at [4].

 What is DCCP Plugin for GStreamer?

 It is a plugin that allows transfer data over the network via DCCP
for GStreamer. According to all the tests that we proceeded, the
plugin is able to stream audio files, such as mp3, audio captured from
the microphone and raw data files.

 TODO List

 - Improve the implementation of the send mechanism adding the
Paraslash solution based on queue
 - Improve the send mechanism to support the new feature of dccp in the linux kernel that allows application to get the packet sequence number.

 How to contribute?

 Please, contact me at leandroal [at] gmail [dot] com

 Where is DCCP Plugin?

 The DCCP plugin for GStreamer is under version control of the
E-Phone. The E-Phone (Embedded-Phone) project aims to develop a VoIP
client for Maemo platform based on DCCP transport protocol. In this
project we are also implementing the CCID-4 [5] IETF drafts on the
linux kernel.


 Mailing list:

 or directly from

 How to use it with gst-launch command line?

 A basic example to stream a multimedia file using ccid-3:

 * Server:
 gst-launch -v filesrc location=music.mp3 ! mp3parse ! dccpserversink
 port=9011 ccid=2

 * Client:
 gst-launch -v dccpclientsrc host=localhost port=9011 ! decodebin ! alsasink

 -- We also tested with mpg123, to use it: mpg123 dccp://localhost:9011

 Please, refer to the src/examples_app/README file for more examples.

 Is there any application examples?

 Yes, refer to the examples_app directory of the source file.


 - Linux Kernel with DCCP enabled (see [6])
 - GStreamer
 - Additional GStreamer Plugins to make the example app works

 Best regards,

 [3] git://
 [4] git://

Changes: - Setting the default format of the source elements (dccpclientsrc and dccpserversrc) to GST_FORMAT_TIME. We use the function gst_base_src_set_format. - Configure source elements to automatically timestamp outgoing buffers based on the current running_time of the pipeline. We use the function gst_base_src_set_do_timestamp. We test if the gstreamer installed is 0.10.15 or more to use this function. - Code refactor - Adding gtk-doc to the elements

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment