msmith gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/selector/

[email protected] Thu, 4 Dec 2008 09:51:51 -0800 (PST)
Newsgroups gmane.comp.video.gstreamer.cvs
Message-ID <[email protected]>
CVS Root:       /cvs/gstreamer
Module:         gst-plugins-bad
Changes by:     msmith
Date:           Thu Dec 04 2008  17:51:52 UTC

Log message:
    * gst/selector/gstinputselector.c:
      Ensure we emit notify::active-pad when auto-selecting a pad
      due to it having activity and us not having an existing active
      pad. Fixes #563147

Modified files:
    .               : ChangeLog
    gst/selector    : gstinputselector.c

Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3787&r2=1.3788
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/selector/gstinputselector.c.diff?r1=1.15&r2=1.16

====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3787
retrieving revision 1.3788
diff -u -d -r1.3787 -r1.3788
--- ChangeLog	4 Dec 2008 13:28:43 -0000	1.3787
+++ ChangeLog	4 Dec 2008 17:51:36 -0000	1.3788
@@ -1,3 +1,10 @@
+2008-12-04  Michael Smith <[email protected]>
+
+	* gst/selector/gstinputselector.c:
+	  Ensure we emit notify::active-pad when auto-selecting a pad
+	  due to it having activity and us not having an existing active
+	  pad. Fixes #563147
 2008-12-04  Sebastian Dröge  <[email protected]>
 
 	* gst/mxf/mxfdemux.c:
Index: gstinputselector.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/selector/gstinputselector.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- gstinputselector.c	15 Oct 2008 17:45:37 -0000	1.15
+++ gstinputselector.c	4 Dec 2008 17:51:37 -0000	1.16
@@ -455,6 +455,7 @@
   GstInputSelector *sel;
   GstFlowReturn result;
   GstPad *active_sinkpad;
+  GstPad *prev_active_sinkpad;
   GstSelectorPad *selpad;
   sel = GST_INPUT_SELECTOR (gst_pad_get_parent (pad));
@@ -463,6 +464,7 @@
   GST_DEBUG_OBJECT (pad, "received alloc");
   GST_INPUT_SELECTOR_LOCK (sel);
+  prev_active_sinkpad = sel->active_sinkpad;
   active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad);
   if (pad != active_sinkpad)
@@ -470,6 +472,9 @@
   GST_INPUT_SELECTOR_UNLOCK (sel);
+  if (prev_active_sinkpad != active_sinkpad && pad == active_sinkpad)
+    g_object_notify (G_OBJECT (sel), "active-pad");
   result = gst_pad_alloc_buffer (sel->srcpad, offset, size, caps, buf);
 done:
@@ -518,6 +523,7 @@
   GstFlowReturn res;
   GstClockTime end_time, duration;
   GstSegment *seg;
@@ -534,6 +540,7 @@
   GST_DEBUG_OBJECT (pad, "getting active pad");
   /* update the segment on the srcpad */
@@ -586,6 +593,9 @@
   }
   if (close_event)
     gst_pad_push_event (sel->srcpad, close_event);
@@ -912,6 +922,7 @@
     /* schedule a last_stop update if one isn't already scheduled, and a
        segment has been pushed before. */
     memcpy (&self->segment, &old->segment, sizeof (self->segment));
     GST_DEBUG_OBJECT (self, "setting stop_time to %" G_GINT64_FORMAT,
         stop_time);
     gst_segment_set_stop (&self->segment, stop_time);

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose