gstreamer/testsuite/caps/intersect2.c
David Schleef f3389b1fa1 more checks
Original commit message from CVS:
more checks
2003-12-12 09:08:00 +00:00

100 lines
3 KiB
C

#include <gst/gst.h>
GstStaticCaps2 rawcaps1 = GST_STATIC_CAPS(
"video/x-raw-yuv, "
"fourcc:fourcc=\"YUYV\", "
"height:int=640, "
"width:int=480, "
"framerate:float=30.0; "
"video/x-raw-yuv, "
"fourcc:fourcc=\"I420\", "
"height:int=640, "
"width:int=480, "
"framerate:float=30.0"
);
GstStaticCaps2 rawcaps2 = GST_STATIC_CAPS(
"video/x-raw-yuv"
);
GstStaticCaps2 rawcaps3 = GST_STATIC_CAPS(
"video/x-raw-yuv, height=(int) [ 0, MAX ]"
);
GstStaticCaps2 rawcaps4 = GST_STATIC_CAPS(
"video/x-raw-yuv, format=(fourcc)YUY2; video/x-raw-yuv, format=(fourcc)UYVY"
);
GstStaticCaps2 rawcaps5 = GST_STATIC_CAPS(
"video/x-raw-yuv, format=(fourcc)YUY2, framerate=(double)[0,1.79769e+308], width=(int)[0,2147483647], height=(int)[0,2147483647]; video/x-raw-yuv, format=(fourcc)UYVY, framerate=(double)[0,1.79769e+308], width=(int)[0,2147483647], height=(int)[0,2147483647]"
);
GstStaticCaps2 rawcaps6 = GST_STATIC_CAPS(
"video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240"
);
GstStaticCaps2 rawcaps7 = GST_STATIC_CAPS(
"video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[0,2147483647], height=(int)[0,2147483647], framerate=(double)[0,1.79769e+308]"
);
GstStaticCaps2 rawcaps8 = GST_STATIC_CAPS(
"video/x-raw-yuv, format=(fourcc)YUY2, width=(int)320, height=(int)240"
);
int
main (int argc, char *argv[])
{
GstCaps2 *caps1;
GstCaps2 *caps2;
GstCaps2 *caps3;
GstCaps2 *caps4;
GstCaps2 *caps;
gst_init (&argc, &argv);
caps1 = gst_caps2_copy( gst_static_caps2_get (&rawcaps1));
caps2 = gst_caps2_copy_1 (gst_static_caps2_get (&rawcaps1));
#if 0
gst_caps2_set(caps1, "height", GST_PROPS_INT(640));
gst_caps2_set(caps1, "width", GST_PROPS_INT(480));
gst_caps2_set(caps1, "framerate", GST_PROPS_FLOAT(30.0));
#endif
caps = gst_caps2_intersect(caps1, caps2);
g_print("caps %s\n", gst_caps2_to_string(caps));
if (gst_caps2_is_empty (caps)) return 1;
gst_caps2_free(caps1);
gst_caps2_free(caps2);
caps1 = gst_caps2_copy( gst_static_caps2_get (&rawcaps2));
caps2 = gst_caps2_copy( gst_static_caps2_get (&rawcaps3));
caps = gst_caps2_intersect(caps1, caps2);
g_print("caps %s\n", gst_caps2_to_string(caps));
if (gst_caps2_is_empty (caps)) return 1;
gst_caps2_free(caps1);
gst_caps2_free(caps2);
caps1 = gst_caps2_copy( gst_static_caps2_get (&rawcaps4));
caps2 = gst_caps2_copy( gst_static_caps2_get (&rawcaps5));
caps3 = gst_caps2_copy( gst_static_caps2_get (&rawcaps6));
caps4 = gst_caps2_intersect(caps1, caps2);
caps = gst_caps2_intersect(caps3, caps4);
g_print("caps4 %s\n", gst_caps2_to_string(caps4));
g_print("caps %s\n", gst_caps2_to_string(caps));
gst_caps2_free(caps1);
gst_caps2_free(caps2);
gst_caps2_free(caps3);
gst_caps2_free(caps4);
caps1 = gst_caps2_copy( gst_static_caps2_get (&rawcaps7));
caps2 = gst_caps2_copy( gst_static_caps2_get (&rawcaps8));
caps = gst_caps2_intersect(caps1, caps2);
g_print("caps %s\n", gst_caps2_to_string(caps));
if (gst_caps2_is_empty (caps)) return 1;
gst_caps2_free(caps1);
gst_caps2_free(caps2);
return 0;
}