After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 542390 - Implementation of DCCP Plugin for gstreamer
Implementation of DCCP Plugin for gstreamer
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.9
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-07-10 16:23 UTC by Leandro
Modified: 2008-08-22 06:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The source to be merged in the gst-plugins-bad (254.66 KB, application/x-bzip)
2008-07-10 16:25 UTC, Leandro
Details
The new version os gst-dccp fixing the issues commented by Stefan (250.55 KB, application/x-bzip)
2008-08-07 21:08 UTC, Leandro
Details

Description Leandro 2008-07-10 16:23:27 UTC
As I talked to Stefan, I want to submit the implementation of a new plugin named gst-dccp. DCCP is a new transport protocol working on top of IP for delivery congestion-controlled multimedia content.

The release notes and last changelog can be found here:
https://garage.maemo.org/frs/shownotes.php?release_id=1277

The package with the source implementation for the plugin, including README, examples and so forth can be found here:
https://garage.maemo.org/frs/download.php/4267/gst-dccp-0.6.tar.bz2
Comment 1 Leandro 2008-07-10 16:25:09 UTC
Created attachment 114324 [details]
The source to be merged in the gst-plugins-bad
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2008-07-30 12:19:27 UTC
1.)
gstdccpserversink.c: In Funktion »gst_dccp_server_delete_dead_clients«:
gstdccpserversink.c:226: Warnung: Implizite Deklaration der Funktion »free«

please add
#include <stdlib.h>
when using free().

On the other hand, please consider using g_malloc/g_free or instead of
Client *client = (Client *) malloc(sizeof(Client));
even
Client *client = (Client *) g_new(Client,1);

2.)
Please make all internal function static.
void *gst_dccp_server_accept_new_clients
Client *gst_dccp_server_create_client
...

3.)
All files should have copyright/license headers
src/gstdccp.c

4.)
We don't use // (c++) comments. Please convert them to /* */

5.)
Would be great if you could add some basic docs blobs to each element. Look at plugins in gst-plugins-base for reference. A gst-launch pipleine would help to tryout the functionality.

Thanks for the good work!
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2008-08-07 09:21:28 UTC
Any updates?
Comment 4 Leandro 2008-08-07 21:06:11 UTC
Stefan, we have fixed four of the issues commented by you. We did not solve the number 5 completely. We added the gtk-doc section to the source code of the elements, but we had problems with add the docs/plugins to the package of the plugin and configure the Makefiles. I'm attaching the new version for your review. Please, let me know any additional information.

Request 1, 2, 3 and 4 - OK!
Request 5 - Partial OK!
Comment 5 Leandro 2008-08-07 21:08:43 UTC
Created attachment 116099 [details]
The new version os gst-dccp fixing the issues commented by Stefan

Stefan, please consider this new version which fixes the issues commented by you and replied by me in the terms of my last comment of the bug.
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2008-08-08 14:20:49 UTC
Thanks for updating it! I'll have a look at it next week. Just having the doc-blobs there is fine. I'll do the integration in gst-plugin-bad.
Comment 7 Stefan Sauer (gstreamer, gtkdoc dev) 2008-08-21 13:22:39 UTC
After more fixes and cleanup, finally:

2008-08-21  Stefan Kost  <ensonic@users.sf.net>

	patch by: Leandro Melo de Sales <leandroal@gmail.com>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
	* docs/plugins/gst-plugins-bad-plugins.args:
	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
	* docs/plugins/gst-plugins-bad-plugins.interfaces:
	* docs/plugins/gst-plugins-bad-plugins.prerequisites:
	* docs/plugins/gst-plugins-bad-plugins.signals:
	* docs/plugins/inspect/plugin-dccp.xml:
	* gst/dccp/Makefile.am:
	* gst/dccp/gstdccp.c:
	* gst/dccp/gstdccp.h:
	* gst/dccp/gstdccpclientsink.c:
	* gst/dccp/gstdccpclientsink.h:
	* gst/dccp/gstdccpclientsrc.c:
	* gst/dccp/gstdccpclientsrc.h:
	* gst/dccp/gstdccpplugin.c:
	* gst/dccp/gstdccpserversink.c:
	* gst/dccp/gstdccpserversink.h:
	* gst/dccp/gstdccpserversrc.c:
	* gst/dccp/gstdccpserversrc.h:
	* tests/icles/dccp/README:
	* tests/icles/dccp/call/README:
	* tests/icles/dccp/call/DCCPClient.c:
	* tests/icles/dccp/call/DCCPServer.c:
	* tests/icles/dccp/file/DCCPClientSaveFile.c:
	* tests/icles/dccp/file/DCCPServerSendFile.c:
	* tests/icles/dccp/mic/DCCPClientPlayMic.c:
	* tests/icles/dccp/mic/DCCPServerMic.c:
	* tests/icles/dccp/mp3/DCCPClientPlayMP3.c:
	* tests/icles/dccp/mp3/DCCPServerSendMP3.c:
	* tests/icles/dccp/mp3Speex/DCCPClientPlaySpeexMP3.c:
	* tests/icles/dccp/mp3Speex/DCCPServerSendSpeexMP3.c:
	* tests/icles/dccp/mp3Stream/DCCPClientPlayMP3Stream.c:
	* tests/icles/dccp/mp3Stream/DCCPServerSendMP3Stream.c:
	  Add dccp plugin. Fixes #542390.
Comment 8 Leandro 2008-08-21 17:29:23 UTC
Thank you, Stefan. Is the source code available in some place? I need it to start the what I called of second stage of the plugin implementation: make it proper written to be added in the gst-plugins-good. Please, advise.
Comment 9 Leandro 2008-08-21 17:32:59 UTC
OK, I get it via cvs/git. Thank you!
Comment 10 Stefan Sauer (gstreamer, gtkdoc dev) 2008-08-22 06:01:04 UTC
I had to make small changes (like moving declaration to beginning of codeblocks). I also canged the formatting a bit and replaced your own definition of min by glibs MIN.
I plugin is under gst-plugin-bad/gst/dccp and the examples under tests/icles/dccp/.

Right now the generic unit test fails. Could you have a look?
cd tests/check
make generic/states.check

lots of "Can not determine available CCIDs"
the state change test just tries to instantiate the element and do some up and down state change to see if there are memory leaks. If you think that can't be supported by the dccp plugins, we need to put them on a blacklist for the test.