tests/examples/snapshot/snapshot.c: get caps from the sample
authorJavier Jardón <jjardon@gnome.org>
Thu, 13 Sep 2012 17:18:52 +0000 (02:18 +0900)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Mon, 17 Sep 2012 15:05:37 +0000 (16:05 +0100)
pull-preroll signal returns a GstSample, not a GstBuffer

https://bugzilla.gnome.org/show_bug.cgi?id=684063

tests/examples/snapshot/snapshot.c

index b4b3d677d2a947ed9bd40fee6a4adc33299d7aa5..53cfc2c04c5ceb6221857e3f1ce1fbae25b00d5c 100644 (file)
@@ -29,7 +29,7 @@ main (int argc, char *argv[])
 {
   GstElement *pipeline, *sink;
   gint width, height;
-  GstBuffer *buffer;
+  GstSample *sample;
   gchar *descr;
   GError *error = NULL;
   GdkPixbuf *pixbuf;
@@ -103,11 +103,11 @@ main (int argc, char *argv[])
 
   /* get the preroll buffer from appsink, this block untils appsink really
    * prerolls */
-  g_signal_emit_by_name (sink, "pull-preroll", &buffer, NULL);
+  g_signal_emit_by_name (sink, "pull-preroll", &sample, NULL);
 
   /* if we have a buffer now, convert it to a pixbuf. It's possible that we
    * don't have a buffer because we went EOS right away or had an error. */
-  if (buffer) {
+  if (sample) {
     GstCaps *caps;
     GstStructure *s;
 
@@ -115,11 +115,7 @@ main (int argc, char *argv[])
      * that it can only be an rgb buffer. The only thing we have not specified
      * on the caps is the height, which is dependant on the pixel-aspect-ratio
      * of the source material */
-#if 0
-    caps = GST_BUFFER_CAPS (buffer);
-#endif
-    /* FIXME, get buffer caps somehow */
-    caps = NULL;
+    sample_caps = gst_sample_get_caps (sample);
     if (!caps) {
       g_print ("could not get snapshot format\n");
       exit (-1);
@@ -144,9 +140,6 @@ main (int argc, char *argv[])
     /* save the pixbuf */
     gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL);
     gst_buffer_unmap (buffer, &map);
-
-    /* save the pixbuf */
-    gdk_pixbuf_save (pixbuf, "snapshot.png", "png", &error, NULL);
   } else {
     g_print ("could not make snapshot\n");
   }