From 284327da55e36fcda8e9665b4e01f7d5a198d738 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 4 Aug 2005 20:05:51 +0000 Subject: [PATCH] sys/oss/gstossaudio.c (plugin_init): Second-class citizen. Original commit message from CVS: 2005-08-04 Andy Wingo * sys/oss/gstossaudio.c (plugin_init): Second-class citizen. * gst/videobox/gstvideobox.c (gst_video_box_get_size): Update for API changes. * configure.ac (DEFAULT_AUDIOSINK, DEFAULT_VIDEOSINK): Set to autoaudiosink and autovideosink. --- ChangeLog | 12 +++++++++++- configure.ac | 10 +++------- gst/videobox/gstvideobox.c | 19 ++++++++++++------- sys/oss/gstossaudio.c | 2 +- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index fa8196d..7c46e5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2005-08-04 Andy Wingo + + * sys/oss/gstossaudio.c (plugin_init): Second-class citizen. + + * gst/videobox/gstvideobox.c (gst_video_box_get_size): Update for + API changes. + + * configure.ac (DEFAULT_AUDIOSINK, DEFAULT_VIDEOSINK): Set to + autoaudiosink and autovideosink. + 2005-08-04 Edward Hervey * gst/avi/gstavidemux.c: (gst_avi_demux_reset), @@ -1064,7 +1074,7 @@ UDP fixes, added uri handler. Added rtpdec that will manage the RTP session in the future. -2005-05-10 Arwed v. Merkatz > +2005-05-10 Arwed v. Merkatz * PORTED_09: * configure.ac: diff --git a/configure.ac b/configure.ac index 21eb8c8..2941460 100644 --- a/configure.ac +++ b/configure.ac @@ -101,21 +101,17 @@ fi dnl Check for FIONREAD ioctl declaration : GST_CHECK_FIONREAD() -DEFAULT_AUDIOSINK="osssink" -DEFAULT_VIDEOSINK="xvimagesink" -DEFAULT_AUDIOSRC="osssrc" +DEFAULT_AUDIOSINK="autoaudiosink" +DEFAULT_VIDEOSINK="autovideosink" +DEFAULT_AUDIOSRC="alsasrc" DEFAULT_VIDEOSRC="v4lsrc" DEFAULT_VISUALIZER="goom" case "$host" in *-sun-* | *pc-solaris* ) - DEFAULT_AUDIOSINK="sunaudiosink" - DEFAULT_VIDEOSINK="ximagesink" DEFAULT_AUDIOSRC="sunaudiosrc" ;; *-darwin* ) - DEFAULT_AUDIOSINK="osxaudiosink" DEFAULT_AUDIOSRC="osxaudiosrc" - DEFAULT_VIDEOSINK="osxvideosink" ;; esac diff --git a/gst/videobox/gstvideobox.c b/gst/videobox/gstvideobox.c index daf51a3..9b53078 100644 --- a/gst/videobox/gstvideobox.c +++ b/gst/videobox/gstvideobox.c @@ -129,7 +129,7 @@ static GstCaps *gst_video_box_transform_caps (GstBaseTransform * trans, GstPad * pad, GstCaps * from); static gboolean gst_video_box_set_caps (GstBaseTransform * trans, GstCaps * in, GstCaps * out); -static guint gst_video_box_get_size (GstBaseTransform * trans); +static guint gst_video_box_get_size (GstBaseTransform * trans, GstCaps * caps); static GstFlowReturn gst_video_box_transform (GstBaseTransform * trans, GstBuffer * in, GstBuffer * out); @@ -391,18 +391,23 @@ gst_video_box_set_caps (GstBaseTransform * trans, GstCaps * in, GstCaps * out) #define GST_VIDEO_I420_SIZE(w,h) (GST_VIDEO_I420_V_OFFSET(w,h)+(GST_VIDEO_I420_V_ROWSTRIDE(w)*ROUND_UP_2(h)/2)) static guint -gst_video_box_get_size (GstBaseTransform * trans) +gst_video_box_get_size (GstBaseTransform * trans, GstCaps * caps) { - guint size; + guint size = -1; GstVideoBox *video_box; video_box = GST_VIDEO_BOX (trans); - if (video_box->use_alpha) { - size = video_box->out_height * video_box->out_height * 4; - } else { - size = GST_VIDEO_I420_SIZE (video_box->out_width, video_box->out_height); + if (gst_caps_is_equal (caps, GST_PAD_CAPS (trans->sinkpad))) { + size = GST_VIDEO_I420_SIZE (video_box->in_width, video_box->in_height); + } else if (gst_caps_is_equal (caps, GST_PAD_CAPS (trans->srcpad))) { + if (video_box->use_alpha) { + size = video_box->out_height * video_box->out_height * 4; + } else { + size = GST_VIDEO_I420_SIZE (video_box->out_width, video_box->out_height); + } } + return size; } diff --git a/sys/oss/gstossaudio.c b/sys/oss/gstossaudio.c index 4b5866d..4b30faf 100644 --- a/sys/oss/gstossaudio.c +++ b/sys/oss/gstossaudio.c @@ -38,7 +38,7 @@ plugin_init (GstPlugin * plugin) GST_TYPE_OSSELEMENT) || !gst_element_register (plugin, "osssrc", GST_RANK_PRIMARY, GST_TYPE_OSSSRC) || */ - !gst_element_register (plugin, "osssink", GST_RANK_PRIMARY, + !gst_element_register (plugin, "osssink", GST_RANK_SECONDARY, GST_TYPE_OSSSINK)) { return FALSE; } -- 2.7.4