GNOME Bugzilla – Bug 549645
merge useful elements from gst-plugins-farsight into core
Last modified: 2009-03-03 17:55:56 UTC
There are a few useful elements in gst-plugins-farsight that should probably be merged into the core gst packages (either good or bad I suppose). liveadder: a adder element that works with live discontinous streams, it doesn't use collectpads, but instead has a small queue of packets. http://git.collabora.co.uk/?p=gst-plugins-farsight.git;a=tree;f=gst/liveadder fsselector: is an element with one sink and one src and will pick the "right" element to fill it according to the caps.. Will probably have to be renamed and has nothing to do with the selector in gst-p-bad http://git.collabora.co.uk/?p=gst-plugins-farsight.git;a=tree;f=gst/selector valve: dtmf: three elements to deal with dtmf - dtmfsrc that generates sound (is a live src) - rtpdtmfsrc that generates RFC4733 dtmf events (also a live src) - rtpdtmfdepay that converts RFC4733 dtmf events into sound http://git.collabora.co.uk/?p=gst-plugins-farsight.git;a=tree;f=gst/dtmf rtpmux: a muxer for various rtp streams (like dtmf, audio/CN and regular sound), includes a dtmf muxer that allows locking the thing to only one pad based on events emitted by [rtp]dtmfsrc http://git.collabora.co.uk/?p=user/tester/gst-plugins-farsight-tester.git;a=tree;f=gst/rtpmux We also have codec elements for the mimic/siren microsoft codecs, but they have some patches pending... (and they definitely belong in bad/ugly) There is also a "valve" element that drops all downstream traffic (buffers, events, buffer_alloc calls), so that a part of a pipeline can be turned on/off on demand (and also to allow plugin the rest of the pipeline later). But I'm not certain its a good idea.
They'd first have to go into -bad like for all new elements that land in the GStreamer repositories. It might be a good idea to move them in one by one (configure.ac mods included), starting by the 5 you mention above. Obviously... the painful part is ... the name conflicts we're going to encounter once they're moved.
Created attachment 118184 [details] liveadder ready to be added to -bad I'm gonna attach the plugins here in a format directly droppable into g-p-bad.. As for the name conflicts, I guess I'll just make new releases of g-p-f without the moved plugins (like any other plugin move).
Created attachment 118185 [details] dtmf plugin
I'm still trying to find a new name for fsselector... and I have no good idea...
It would be great if you could add the doc blobs for the new elements. This would also help us comming up with naming sugestions for fsselector as we coudl then see what it does and how it is used.
Second try, I made easily mergeable git branches: http://git.collabora.co.uk/?p=user/tester/gst-plugins-bad.git;a=summary siren, valve, rtpmux, liveadder http://git.collabora.co.uk/?p=user/tester/gst-plugins-good.git;a=summary siren (the rtp pay/depay) Also, I added some do to the selector at http://git.collabora.co.uk/?p=user/tester/gst-plugins-farsight-tester.git;a=commitdiff;h=bd94dda500473c32b3fe039fdd8cf0435f7d378e Also, if those are fine, I'll make a branch for the dtmf elements and the mimic codec too.
I made a patch for rtpmux to prevent rtpbin from complaining about ssrc : bug #562455 Maybe the right moment to include it.
I merged/rebased the siren, valve and liveadder branches for -bad. I left rtpmux out since there was mentions of issues. Ping this bug item when you have more branches to be committed.
After the modification in gstrtpsession, the patch should not be needed anymore. However, after testing, I find out that the rtpmux set its own ssrc in the buffers, but sets the upstream ssrc in its caps. The ssrc which arrives to the rtpsession is still not the right one. Here is a patch to fix the caps on src pad. There is also a fix on a missing argument to a GST_LOG_OBJET.
Created attachment 128988 [details] [review] rtpmux add ssrc to out caps
I've aded dtmf and rtpmux branches at git://git.collabora.co.uk/git/user/tester/gst-plugins-bad.git Only one useful element left.. fsselector, ds suggested autoconvert, sounds like a good name.. when I've renamed it, I'll push it too
Its called "autoconvert" now, and there is a branch in my git repo, lets kill gst-p-farsight forever!
GST-PLUGINS-FARSIGHT IS DEAD LONG LIVE GST-PLUGINS-BAD ! commit b02708a2f6a653a0873fe821fe9935ecc3026098 Author: Olivier Crête <olivier.crete@collabora.co.uk> Date: Wed Feb 25 21:05:42 2009 -0500 autoconvert: Import fsselector from gst-plugins-farsight as autoconvert fsselector is too close to selector, so import is as autoconvert. Not importing the history because the directory is also called gst/selector and it fails.