added fix for the switch element, see
http://bugzilla.gnome.org/show_bug.cgi?id=308167
This commit is contained in:
parent
cf47169022
commit
4c839c6a80
2 changed files with 38 additions and 1 deletions
|
@ -22,7 +22,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Author : $Author: maroy $
|
# Author : $Author: maroy $
|
||||||
# Version : $Revision: 1.1 $
|
# Version : $Revision: 1.2 $
|
||||||
# Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/tools/gstreamer/gstreamer-0.8.10/bin/Attic/install.sh,v $
|
# Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/tools/gstreamer/gstreamer-0.8.10/bin/Attic/install.sh,v $
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
@ -62,7 +62,12 @@ echo "installing $plugins from $basedir to $installdir"
|
||||||
cd $tmpdir
|
cd $tmpdir
|
||||||
tar xfj $plugins_tar
|
tar xfj $plugins_tar
|
||||||
cd $plugins
|
cd $plugins
|
||||||
|
# see bug report at http://bugzilla.gnome.org/show_bug.cgi?id=305658
|
||||||
|
# for details on the following patch
|
||||||
patch -p1 < $etcdir/adder-fix.diff
|
patch -p1 < $etcdir/adder-fix.diff
|
||||||
|
# see bug report at http://bugzilla.gnome.org/show_bug.cgi?id=308167
|
||||||
|
# for details on the following patch
|
||||||
|
patch -p1 < $etcdir/switcher-fix.diff
|
||||||
# --disable-spc is a workaround for gst-plugins-0.8.9, as some APU.c file
|
# --disable-spc is a workaround for gst-plugins-0.8.9, as some APU.c file
|
||||||
# is missing from there. remove this when later versions come around
|
# is missing from there. remove this when later versions come around
|
||||||
./configure --disable-spc --prefix=$installdir
|
./configure --disable-spc --prefix=$installdir
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
--- gst-plugins-0.8.9/gst/switch/gstswitch.c 2005-04-14 18:26:47.000000000 +0200
|
||||||
|
+++ gst-plugins-0.8.9-livesupport/gst/switch/gstswitch.c 2005-06-18 11:26:19.000000000 +0200
|
||||||
|
@@ -241,15 +241,23 @@
|
||||||
|
GstEvent *event = GST_EVENT (data);
|
||||||
|
|
||||||
|
GST_LOG_OBJECT (gstswitch,
|
||||||
|
- "handling event from active pad %p", switchpad->sinkpad);
|
||||||
|
+ "handling event of type %d from active pad %p",
|
||||||
|
+ GST_EVENT_TYPE(GST_EVENT(data)),
|
||||||
|
+ switchpad->sinkpad);
|
||||||
|
/* Handling event */
|
||||||
|
gst_pad_event_default (switchpad->sinkpad, event);
|
||||||
|
} else {
|
||||||
|
- /* Pushing active sinkpad data to srcpad */
|
||||||
|
- GST_LOG_OBJECT (gstswitch,
|
||||||
|
- "pushing data from active pad %p to %p",
|
||||||
|
- switchpad->sinkpad, gstswitch->srcpad);
|
||||||
|
- gst_pad_push (gstswitch->srcpad, data);
|
||||||
|
+ if (GST_PAD_IS_ACTIVE(GST_PAD_PEER(gstswitch->srcpad))) {
|
||||||
|
+ /* Pushing active sinkpad data to srcpad */
|
||||||
|
+ GST_LOG_OBJECT (gstswitch,
|
||||||
|
+ "pushing data from active pad %p to %p",
|
||||||
|
+ switchpad->sinkpad, gstswitch->srcpad);
|
||||||
|
+ gst_pad_push (gstswitch->srcpad, data);
|
||||||
|
+ } else {
|
||||||
|
+ /* the peer has become inactive, put us into EOS state */
|
||||||
|
+ GST_LOG_OBJECT(gstswitch, "peer pad inactivated, going to eos");
|
||||||
|
+ gst_element_set_eos(GST_ELEMENT(gstswitch));
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mark this data as forwarded so that it won't get unrefed on next poll */
|
Loading…
Add table
Add a link
Reference in a new issue