sys/oss/gstossaudio.c (plugin_init): Second-class citizen.
authorAndy Wingo <wingo@pobox.com>
Thu, 4 Aug 2005 20:05:51 +0000 (20:05 +0000)
committerAndy Wingo <wingo@pobox.com>
Thu, 4 Aug 2005 20:05:51 +0000 (20:05 +0000)
Original commit message from CVS:
2005-08-04  Andy Wingo  <wingo@pobox.com>

* 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
configure.ac
gst/videobox/gstvideobox.c
sys/oss/gstossaudio.c

index fa8196d..7c46e5e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-08-04  Andy Wingo  <wingo@pobox.com>
+
+       * 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  <edward@fluendo.com>
 
        * gst/avi/gstavidemux.c: (gst_avi_demux_reset),
        UDP fixes, added uri handler.
        Added rtpdec that will manage the RTP session in the future.
 
-2005-05-10  Arwed v. Merkatz  <v.merkatz@gmx.net>>
+2005-05-10  Arwed v. Merkatz  <v.merkatz@gmx.net>
 
        * PORTED_09:
        * configure.ac:
index 21eb8c8..2941460 100644 (file)
@@ -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
 
index daf51a3..9b53078 100644 (file)
@@ -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;
 }
 
index 4b5866d..4b30faf 100644 (file)
@@ -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;
   }