All pastes #281952 Raw Edit

Something

public c v1 · immutable
#281952 ·published 2006-12-17 04:43 UTC
rendered paste body
? ChangeLog? patchIndex: osxvideosink.m===================================================================RCS file: /cvs/gstreamer/gst-plugins-good/sys/osxvideo/osxvideosink.m,vretrieving revision 1.5diff -u -r1.5 osxvideosink.m--- osxvideosink.m	23 Nov 2005 14:22:18 -0000	1.5+++ osxvideosink.m	17 Dec 2006 04:42:49 -0000@@ -282,49 +282,22 @@  /* Element stuff */ -static GstCaps *-gst_osxvideosink_fixate (GstPad * pad, const GstCaps * caps)+static gboolean+gst_osxvideosink_set_caps (GstBaseSink *sink, GstCaps *caps) {-  GstStructure *structure;-  GstCaps *newcaps;-  GValue target_fps = { 0 };--  if (gst_caps_get_size (caps) > 1)-    return NULL;--  newcaps = gst_caps_copy (caps);-  structure = gst_caps_get_structure (newcaps, 0);--  if (gst_structure_fixate_field_nearest_int (structure, "width", 320)) {-    return newcaps;-  }-  if (gst_structure_fixate_field_nearest_int (structure, "height", 240)) {-    return newcaps;-  }-  g_value_init (&target_fps, GST_TYPE_FRACTION);-  gst_value_set_fraction (&target_fps, 25, 1);-  gst_structure_fixate_field_nearest_fraction (s, "framerate", &target_fps);--  if (gst_structure_fixate_field_nearest_fraction (structure, "framerate",-      &target_fps)) {-    return newcaps;-  }+  GstOSXVideoSink *osxvideosink; -  gst_caps_free (newcaps);-  return NULL;-}+  osxvideosink = GST_OSXVIDEOSINK (sink); -static GstCaps *-gst_osxvideosink_getcaps (GstPad * pad)-{-  GstOSXVideoSink *osxvideosink;+  structure = gst_caps_get_structure (caps, 0); -  osxvideosink = GST_OSXVIDEOSINK (gst_pad_get_parent (pad));+  gst_structure_get_int (structure, "width", &osxvideosink->width);+  gst_structure_get_int (structure, "height", &osxvideosink->width);+  gst_structure_get_fourcc (structure, "format", &osxvideosink->format);+  gst_structure_get_fraction (structure, "framerate",+      &osxvideosink->fps_n, &osxvideosink->fps_d); -  return gst_caps_from_string ("video/x-raw-yuv, "-      "format = (fourcc) YUY2, "-      "framerate = (double) [ 1, 100 ], "-      "width = (int) [ 0, MAX ], " "height = (int) [ 0, MAX ] ");+  return TRUE; }  static GstPadLinkReturn@@ -643,8 +616,6 @@       gst_osxvideosink_chain);   gst_pad_set_link_function (GST_VIDEOSINK_PAD (osxvideosink),       gst_osxvideosink_sink_link);-  gst_pad_set_getcaps_function (GST_VIDEOSINK_PAD (osxvideosink),-      gst_osxvideosink_getcaps);   gst_pad_set_fixate_function (GST_VIDEOSINK_PAD (osxvideosink),       gst_osxvideosink_fixate);   gst_pad_set_bufferalloc_function (GST_VIDEOSINK_PAD (osxvideosink),@@ -707,6 +678,8 @@           G_PARAM_READWRITE));   gst_osxvideosink_signals[SIGNAL_VIEW_CREATED] = g_signal_new("view-created",     G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_CLEANUP, G_STRUCT_OFFSET (GstOSXVideoSinkClass, view_created), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);++  basesink_class->set_caps = gst_osxvideosink_set_caps; }  /* ============================================================= */