Author: schwardt
Date: Mon Feb 19 20:27:01 2007
New Revision: 2498
Modified:
trunk/WIP/record/src/gsttssplitter.c
Log:
- fixed remove filter
Modified: trunk/WIP/record/src/gsttssplitter.c
==============================================================================
--- trunk/WIP/record/src/gsttssplitter.c (original)
+++ trunk/WIP/record/src/gsttssplitter.c Mon Feb 19 20:27:01 2007
@@ -638,6 +638,7 @@
DEBUGf("remove_filter(%s)", name);
GstTSSplitterFilter *pidfilter = NULL;
+ GstPad *sinkpad = NULL;
int i = 0;
// find pidfilter to be removed
@@ -646,26 +647,29 @@
if (!pidfilter)
return;
-#ifdef THIS_IS_BROKEN
+ // unlink pad
+ sinkpad = gst_pad_get_peer ( pidfilter->pad );
+ gst_pad_unlink (pidfilter->pad, sinkpad);
+
// remove pad
- gst_element_remove_pad(GST_ELEMENT (filter), pidfilter.pad);
- gst_object_unref(pidfilter.pad);
- pidfilter.pad = NULL;
+ gst_element_remove_pad(GST_ELEMENT (filter), pidfilter->pad);
+ gst_object_unref(pidfilter->pad);
+ pidfilter->pad = NULL;
// free pidlist + name
- free(pidfilter.pidlist);
- pidfilter.pidlist = NULL;
- free(pidfilter.name);
- pidfilter.name = NULL;
+ free(pidfilter->pidlist);
+ pidfilter->pidlist = NULL;
+ free(pidfilter->name);
+ pidfilter->name = NULL;
// cleanup pidfilterlist
if (filter->filterlist_len > 1) {
i = filter->filterlist_len - filter->filterlist_free - 1;
if (filter->filterlist[i].name != NULL) {
- pidfilter.name = filter->filterlist[i].name;
- pidfilter.pidlist = filter->filterlist[i].pidlist;
- pidfilter.pad = filter->filterlist[i].pad;
+ pidfilter->name = filter->filterlist[i].name;
+ pidfilter->pidlist = filter->filterlist[i].pidlist;
+ pidfilter->pad = filter->filterlist[i].pad;
filter->filterlist[i].name = NULL;
filter->filterlist[i].pidlist = NULL;
@@ -675,6 +679,4 @@
}
}
filter->filterlist_free += 1;
-#endif
- return;
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog