mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
tests/examples/snapshot/snapshot.c: get caps from the sample
pull-preroll signal returns a GstSample, not a GstBuffer https://bugzilla.gnome.org/show_bug.cgi?id=684063
This commit is contained in:
parent
b19944d1e4
commit
f0d3f33540
1 changed files with 4 additions and 11 deletions
|
@ -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");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue