[gst-devel] auto-detecting sinks

Bastien Nocera hadess at hadess.net
Thu Apr 24 02:02:21 CEST 2003


On Thu, 2003-04-24 at 03:48, Steve Baker wrote:
> I have a proposal to add auto-detection of audio and video sinks to the
> libgstgconf helper library.
> 
> There will be two new gconf keys, autodetect_audiosink and
> autodetect_videosink. 
> 
> When autodetect_audiosink is false, a call to
> gst_gconf_get_default_audio_sink will do what it does now - return a bin
> built from the audiosink gconf key.
> 
> When autodetect_audiosink is true an attempt is made to create number of
> audio sink pipelines. As soon as one succeeds it is returned as the
> default bin.  The order of trying for now will be:
> - alsa
> - oss
> - esound
> - any others?
> 
> The pipeline will be fakesrc ! fooaudiosink and it will be played with 1
> buffer of silent 2 channel 16 bit 44100Hz audio.
> 
> When autodetect_videosink is true the following will happen:
> - if Xv exists, return (xvideosink)
> - if sdlvideosink exists, return (sdlvideosink) (not until it becomes
> embeddable)
> - else, return (colorspace ! rescale ! xvideosink disable-xv=true)
> 
> Eventually audiosink and videosink gconf keys could be empty by default
> and could be populated the first time the auto-detection code is run.
> 
> One thing I'd like to get some opinion on is adding GError to all the
> public methods of libgstgconf. It breaks API, but I think the
> higher-level code needs detailed errors rather than just null return
> values.
> 
> Finally, there will eventually be new methods which would return a list
> of viable sink pipelines ordered by preference. This could be used by an
> Audio & Video capplet so users can change their sink.
> 
> I've started this work now so any suggestions are welcome.

Wicked, this is one of the major problems with Totem-gst (error
reporting). I would actually prefer it if the library could return error
codes rather than GErrors, because until gst makes the move to gnome
cvs, it will have poor i18n compared to a component that is in there.

Thanks for working on that Steve

-- 
/Bastien Nocera
http://hadess.net

#2  0x4205a2cc in printf ("Oh my %s\n", preferred_deity) from
/lib/i686/libc.so.6 printf ("Oh my %s\n", preferred_deity);
Segmentation fault





More information about the gstreamer-devel mailing list