[gstreamer-bugs] [Bug 417420] [autoaudiosink] add "caps" property to filter sinks by caps

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Mar 12 04:46:02 PDT 2007


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=417420

  GStreamer | gst-plugins-good | Ver: HEAD CVS


Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
            Summary|avoid state changes for     |[autoaudiosink] add "caps"
                   |autoaudiosink               |property to filter sinks by
                   |                            |caps




------- Comment #2 from Tim-Philipp Müller  2007-03-12 11:43 UTC -------
I think the state change issue should already be fixed in CVS:

  2007-03-09  Jan Schmidt  <thaytan at mad.scientist.com>

        * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_find_best):
          Tim and I can't think of any reason the child audio sink needs to 
          be set back to NULL after successfully determining that it can 
          reach READY - it gets immediately set back to READY by the caller
          anyway, causing an unnecessary close/open of any audio devices
          involved.



> - originally playbin doesn't link the autoaudiosink to decodebin2 before
> setting it to paused/playing, so the actual sink needs to be chosen while
> unlinked. However with compressed audio autoaudiosink still needs to get caps
> information from somewhere in order to choose the specific correct sink.

Why 'originally'? Are you using a modified version of playbin? Where do the
caps come from in your context (your modified playbin?)


Some nitpicking regarding the patch:

 - I'd use gst_value_{set|get}_caps() instead of the boxed
   functions (it's clearer and won't require changing when
   GstCaps is changed to some other base type like
   GstMiniObject)

 - I think the property name should be more specific than
   just "caps" (don't ask me what though)

 - my gut feeling is that the state change check shouldn't
   be skipped when filter caps are specified (you did that
   to avoid the double state change, so that shouldn't be
   necessary any longer, right?), ie. no specified caps
   should result in the same behaviour as filter caps "ANY"
   IMHO.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list