Hello list! I'm pleased to announce the second version (v0.5) 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 the plugin. The good news is that we used versions v0.4 and v0.5 to stream multimedia contents over Internet and the plugin worked according what was expected. 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 reliability. 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. Output of gst-inspect for the dccp plugin ============================= # gst-inspect dccp Plugin Details: Name: dccp Description: transfer data over the network via DCCP. Filename: /usr/gstreamer//lib/gstreamer-0.10/libgstdccp.so Version: 0.10.0.5 License: LGPL Source module: gst-plugin Binary package: DCCP Origin URL: http://garage.maemo.org/projects/ephone dccpserversrc: DCCP server source dccpclientsink: DCCP client sink dccpserversink: DCCP server sink dccpclientsrc: DCCP client source 4 features: +-- 4 elements TODO List ======== - Make DCCP plugin works with Speex and RTP to transport audio captured from microphone using ALSA GStreamer Plugin - Improve the implementation of the send mechanism adding the Paraslash solution based on queue - Make internal elements share the socket fd between two elements - Implement multidccp, a multithread way to stream media for a set of hosts CHANGELOG ========== * Bugs fixes related to socket handle * Code refactoring 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. Development: http://garage.maemo.org/projects/ephone Mailing list: http://garage.maemo.org/pipermail/ephone-discuss/ Download: https://garage.maemo.org/frs/?group_id=297 or directly from https://garage.maemo.org/frs/download.php/3800/gst-dccp-0.5.tar.bz2 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. Requirements ========== - Linux Kernel with DCCP enabled - GStreamer - Additional GStreamer Plugins to make the example app works Best regards, Leandro. References: [1] http://gstreamer.freedesktop.org/ [2] http://www.read.cs.ucla.edu/dccp/ [3] git://git.kernel.org/pub/scm/linux/kernel/git/acme/net-2.6.25.git [4] git://eden-feed.erg.abdn.ac.uk/dccp_exp [5] http://tools.ietf.org/html/draft-ietf-dccp-ccid4-01 -- Leandro Melo de Sales. Pervasive and Embedded Computing Laboratory BRisa and E-Phone Projects Manager Network Admin @ http://embedded.ufcg.edu.br/indexen.html +55 83 3310-1404 (extension 208) http://www.leandrosales.com/