Commit bb82479c authored by Stefan Kost's avatar Stefan Kost
Browse files

docs/random/ensonic/dynlink.txt: More thoughs on this.

Original commit message from CVS:
* docs/random/ensonic/dynlink.txt:
More thoughs on this.
* plugins/elements/gstcapsfilter.c:
Add bugzilla ticket number to FIXME comment.
parent 894e666a
2007-08-27 Stefan Kost <ensonic@users.sf.net>
* docs/random/ensonic/dynlink.txt:
More thoughs on this.
* plugins/elements/gstcapsfilter.c:
Add bugzilla ticket number to FIXME comment.
2007-08-24 Wim Taymans <wim.taymans@gmail.com> 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
   
* docs/design/part-TODO.txt: * docs/design/part-TODO.txt:
......
$Id$ $Id$
Currently its only save to link/unlink elements/pad when pipeline is in READY. Currently its only save to link/unlink elements/pad when pipeline is in READY.
Belowe some thoughts. See http://bugzilla.gnome.org/show_bug.cgi?id=435487
for patches.
= current api = = current api =
...@@ -41,10 +43,10 @@ gst_pads_remove_link (e1.src, e3.sink); ...@@ -41,10 +43,10 @@ gst_pads_remove_link (e1.src, e3.sink);
== swapping out an elelment == == swapping out an elelment ==
* we have: e1 ! e2 ! e6 * we have: e1 ! e2 ! e6
* we have: e1 ! e2 ! e3 ! e6 * we have: e1 ! e2 ! e3 ! e6
* we want: e1 ! e4 ! e5 ! e6 * we want: e1 ! e4 ! e5 ! e6
* we want: e1 ! e3 ! e6 * we want: e1 ! e3 ! e6
gst_element_swap_linked(e1, e4, e5, e6); gst_element_swap_linked(e1, e4, e5, e6);
gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink); gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink);
...@@ -53,10 +55,35 @@ gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink); ...@@ -53,10 +55,35 @@ gst_pads_insert_link (e1.src, e4.sink, e5.src, e6.sink);
connect e1.src, e4.sink connect e1.src, e4.sink
connect e5.src, e6.sink connect e5.src, e6.sink
= thoughts = = thoughts =
* I don't think we need api for pads * I don't think we need api for pads
* Should current api check for the state? * Should current api check for the state?
* do we want to swapp multiple elements at once * do we want to swapp multiple elements at once
== events ==
* tee and adder need special treatment
* both would need to cache an accumulated segment
* tee
* would also cache tags
* when linkfunc is called, it can send out the segment and the tags
* when all pads got unlinked it could clear the segment
* adder
* when linkfunc gets called it sends a seek-event
= ideas =
== dynlinkpoint ==
* use cases
* its ment to be used with one side disconnected to allow to connect elements
at runtime
* it can be used in a pipeline to remove/insert elements at runtime
* element with 1 source- and 1 sinkpad
* when both connected it passes data thru
* if src is not connected it drops received buffers
* if sink is not conected
* it does not push
* it creates silence on pull
* events
* it caches events
* down: newsegment, tags, buffersize
* up: seek (needs to be modified)
* when other-pad get connected it pushes events depending on direction
...@@ -149,7 +149,9 @@ gst_capsfilter_set_property (GObject * object, guint prop_id, ...@@ -149,7 +149,9 @@ gst_capsfilter_set_property (GObject * object, guint prop_id,
GST_DEBUG_OBJECT (capsfilter, "set new caps %" GST_PTR_FORMAT, new_caps); GST_DEBUG_OBJECT (capsfilter, "set new caps %" GST_PTR_FORMAT, new_caps);
/* FIXME: Need to activate these caps on the pads */ /* FIXME: Need to activate these caps on the pads
* http://bugzilla.gnome.org/show_bug.cgi?id=361718
*/
break; break;
} }
default: default:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment