docs/gst/tmpl/: update for recent API changes
authorBenjamin Otte <otte@gnome.org>
Thu, 22 Apr 2004 16:39:23 +0000 (16:39 +0000)
committerBenjamin Otte <otte@gnome.org>
Thu, 22 Apr 2004 16:39:23 +0000 (16:39 +0000)
Original commit message from CVS:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstfilesrc.sgml:
* docs/gst/tmpl/gststructure.sgml:
* docs/gst/tmpl/gstvalue.sgml:
update for recent API changes
* gst/gstcaps.c: (gst_caps_do_simplify):
fix to stop trying with a freed structure
* gst/gstpad.c: (gst_pad_link_fixate):
simplify caps
* gst/gstpad.c: (gst_pad_template_get_caps_by_name):
remove C++ comment
* gst/gstpad.h:
deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
* gst/gststructure.c: (gst_structure_value_get_generic_type),
(gst_structure_to_string):
keep the correct type when using lists of ranges
* gst/gstvalue.c: (gst_value_list_prepend_value),
(gst_value_list_append_value):
copy the value before adding to the list (d'oh)
* gst/gstvalue.c: (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range):
handle overflows correctly
* gst/gstvalue.c: (gst_value_subtract_from_list):
fix memleak
* testsuite/caps/caps.h:
add a caps that caused segfaults

12 files changed:
ChangeLog
docs/gst/tmpl/gstcaps.sgml
docs/gst/tmpl/gstfilesrc.sgml
docs/gst/tmpl/gststructure.sgml
docs/gst/tmpl/gstvalue.sgml
gst/gstcaps.c
gst/gstpad.c
gst/gstpad.h
gst/gststructure.c
gst/gstvalue.c
tests/old/testsuite/caps/caps.h
testsuite/caps/caps.h

index e11c1b449c133c480e2c7e31477a8f69fbbf9d7f..6ce766b7dde2e80f0b26f6b1222751268675056c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2004-04-22  Benjamin Otte  <otte@gnome.org>
+
+       * docs/gst/tmpl/gstcaps.sgml:
+       * docs/gst/tmpl/gstfilesrc.sgml:
+       * docs/gst/tmpl/gststructure.sgml:
+       * docs/gst/tmpl/gstvalue.sgml:
+         update for recent API changes
+       * gst/gstcaps.c: (gst_caps_do_simplify):
+         fix to stop trying with a freed structure
+       * gst/gstpad.c: (gst_pad_link_fixate):
+         simplify caps
+       * gst/gstpad.c: (gst_pad_template_get_caps_by_name):
+         remove C++ comment
+       * gst/gstpad.h:
+         deprecate gst_pad_template_get_caps_by_name, it doesn't work anyway
+       * gst/gststructure.c: (gst_structure_value_get_generic_type),
+       (gst_structure_to_string):
+         keep the correct type when using lists of ranges
+       * gst/gstvalue.c: (gst_value_list_prepend_value),
+       (gst_value_list_append_value):
+         copy the value before adding to the list (d'oh)
+       * gst/gstvalue.c: (gst_value_subtract_int_range_int),
+       (gst_value_subtract_int_range_int_range):
+         handle overflows correctly
+       * gst/gstvalue.c: (gst_value_subtract_from_list):
+         fix memleak
+       * testsuite/caps/caps.h:
+         add a caps that caused segfaults
+
 2004-04-22  Benjamin Otte  <otte@gnome.org>
 
        * testsuite/refcounting/pad.c: (main):
index b657b0f5d3378d9d1decdc25a99de98cc6cea0b9..353904bffe9324e33a60cfee1491fb6b3b193331 100644 (file)
@@ -289,6 +289,16 @@ Structure describing sets of media formats
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_caps_is_equal ##### -->
+<para>
+
+</para>
+
+@caps1: 
+@caps2: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gst_caps_is_equal_fixed ##### -->
 <para>
 
@@ -309,6 +319,16 @@ Structure describing sets of media formats
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_caps_is_subset ##### -->
+<para>
+
+</para>
+
+@subset: 
+@superset: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gst_caps_intersect ##### -->
 <para>
 
@@ -347,6 +367,14 @@ Structure describing sets of media formats
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_caps_do_simplify ##### -->
+<para>
+
+</para>
+
+@caps: 
+
+
 <!-- ##### FUNCTION gst_caps_save_thyself ##### -->
 <para>
 
@@ -415,3 +443,13 @@ Structure describing sets of media formats
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_caps_subtract ##### -->
+<para>
+
+</para>
+
+@minuend: 
+@subtrahend: 
+@Returns: 
+
+
index b2bb6fb17ca22069d0b11e25ec0458bfcecad593..7c97fbe61d0e3ebef0879f4e6bae8b08ec543f66 100644 (file)
@@ -31,6 +31,7 @@ and subbuffers.
 @block_size: 
 @touch: 
 @using_mmap: 
+@is_regular: 
 @mapbuf: 
 @mapsize: 
 @need_discont: 
index 9f98fb55672253fd5b693b301b95ea8e705a125f..a0b2b7eab450ce046bce01042650f477a0d1d893 100644 (file)
@@ -110,70 +110,79 @@ Generic structure containing fields of names and values
 @name: 
 
 
-<!-- ##### FUNCTION gst_structure_id_set_value ##### -->
+<!-- ##### FUNCTION gst_structure_get_name_id ##### -->
+<para>
+
+</para>
+
+@structure: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_structure_id_get_value ##### -->
 <para>
 
 </para>
 
 @structure: 
 @field: 
-@value
+@Returns
 
 
-<!-- ##### FUNCTION gst_structure_set_value ##### -->
+<!-- ##### FUNCTION gst_structure_id_set_value ##### -->
 <para>
 
 </para>
 
 @structure: 
-@fieldname: 
-@value: 
-<!-- # Unused Parameters # -->
 @field: 
+@value: 
 
 
-<!-- ##### FUNCTION gst_structure_set ##### -->
+<!-- ##### FUNCTION gst_structure_get_value ##### -->
 <para>
 
 </para>
 
 @structure: 
 @fieldname: 
-@Varargs: 
+@Returns: 
 <!-- # Unused Parameters # -->
 @field: 
 
 
-<!-- ##### FUNCTION gst_structure_set_valist ##### -->
+<!-- ##### FUNCTION gst_structure_set_value ##### -->
 <para>
 
 </para>
 
 @structure: 
 @fieldname: 
-@varargs
+@value
 <!-- # Unused Parameters # -->
 @field: 
 
 
-<!-- ##### FUNCTION gst_structure_id_get_value ##### -->
+<!-- ##### FUNCTION gst_structure_set ##### -->
 <para>
 
 </para>
 
 @structure: 
+@fieldname: 
+@Varargs: 
+<!-- # Unused Parameters # -->
 @field: 
-@Returns: 
 
 
-<!-- ##### FUNCTION gst_structure_get_value ##### -->
+<!-- ##### FUNCTION gst_structure_set_valist ##### -->
 <para>
 
 </para>
 
 @structure: 
 @fieldname: 
-@Returns: 
+@varargs: 
 <!-- # Unused Parameters # -->
 @field: 
 
index aa6203cfb5ad15a9b9ca52253cdf57dee5f4664d..f0d18d8532f04f7a29a8a19772701dee69a6c67e 100644 (file)
@@ -195,6 +195,17 @@ GValue implementations specific to GStreamer
 @Returns: 
 
 
+<!-- ##### USER_FUNCTION GstValueSubtractFunc ##### -->
+<para>
+
+</para>
+
+@dest: 
+@minuend: 
+@subtrahend: 
+@Returns: 
+
+
 <!-- ##### STRUCT GstValueTable ##### -->
 <para>
 
@@ -467,6 +478,37 @@ GValue implementations specific to GStreamer
 @func: 
 
 
+<!-- ##### FUNCTION gst_value_subtract ##### -->
+<para>
+
+</para>
+
+@dest: 
+@minuend: 
+@subtrahend: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_value_can_subtract ##### -->
+<para>
+
+</para>
+
+@minuend: 
+@subtrahend: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_value_register_subtract_func ##### -->
+<para>
+
+</para>
+
+@minuend_type: 
+@subtrahend_type: 
+@func: 
+
+
 <!-- ##### FUNCTION gst_value_intersect ##### -->
 <para>
 
index d306b61316a470aebb513ca0c65819bdb167a17e..b7da8906f031e03e57b6041cd0cd408f5c34b9f3 100644 (file)
@@ -21,6 +21,7 @@
 #include "config.h"
 #endif
 #include <string.h>
+#include <signal.h>
 
 #include <gst/gst.h>
 
@@ -1222,11 +1223,12 @@ gst_caps_do_simplify (GstCaps * caps)
         break;
       }
       result = gst_caps_structure_simplify (simplify, compare);
-      /*g_print ("%s  -  %s  =  %s\n", 
-         gst_structure_to_string (simplify),
-         gst_structure_to_string (compare),
-         result ? gst_structure_to_string (result) : "---");
-       */
+#if 0
+      g_print ("%s  -  %s  =  %s\n",
+          gst_structure_to_string (simplify),
+          gst_structure_to_string (compare),
+          result ? gst_structure_to_string (result) : "---");
+#endif
       if (result) {
         gst_structure_free (simplify);
         g_ptr_array_index (caps->structs, i) = result;
@@ -1234,6 +1236,7 @@ gst_caps_do_simplify (GstCaps * caps)
       } else {
         gst_caps_remove_structure (caps, i);
         start--;
+        break;
       }
     }
   }
index 9db07548a1982d84e53414b9163c4e55c1bae98e..c32e1f9d601f8f98c3603908c1de0bc2f9c446a0 100644 (file)
@@ -2689,7 +2689,6 @@ gst_pad_template_get_caps_by_name (GstPadTemplate * templ, const gchar * name)
     return NULL;
 
   /* FIXME */
-  //return gst_caps_copy (gst_caps_get_by_name (caps, name));
   return NULL;
 }
 
index 541b28bad05f8c2ca0a5c233f2da213e52def099..e62863f9145f499bfa0addf0427f952047478443 100644 (file)
@@ -511,7 +511,9 @@ GstPadTemplate*             gst_pad_template_new                    (const gchar *name_template,
 
 GstPadTemplate *       gst_static_pad_template_get             (GstStaticPadTemplate *pad_template);
 const GstCaps*         gst_pad_template_get_caps               (GstPadTemplate *templ);
+#ifndef GST_DISABLE_DEPRECATED
 const GstCaps*         gst_pad_template_get_caps_by_name       (GstPadTemplate *templ, const gchar *name);
+#endif
 
 #ifndef GST_DISABLE_LOADSAVE
 xmlNodePtr              gst_ghost_pad_save_thyself             (GstPad *pad,
index 8319f5ab063a12f2e3b605dffa8d75ce5f550f36..6ba66bd458ba58f77bcda37bdf749f301e1f67b9 100644 (file)
@@ -1040,6 +1040,27 @@ gst_structure_to_abbr (GType type)
   return g_type_name (type);
 }
 
+static GType
+gst_structure_value_get_generic_type (GValue * val)
+{
+  if (G_VALUE_TYPE (val) == GST_TYPE_LIST) {
+    GArray *array = g_value_peek_pointer (val);
+
+    if (array->len > 0) {
+      GValue *value = &g_array_index (array, GValue, 0);
+
+      return gst_structure_value_get_generic_type (value);
+    } else {
+      return G_TYPE_INT;
+    }
+  } else if (G_VALUE_TYPE (val) == GST_TYPE_INT_RANGE) {
+    return G_TYPE_INT;
+  } else if (G_VALUE_TYPE (val) == GST_TYPE_DOUBLE_RANGE) {
+    return G_TYPE_DOUBLE;
+  }
+  return G_VALUE_TYPE (val);
+}
+
 #define GST_ASCII_IS_STRING(c) (g_ascii_isalnum((c)) || ((c) == '_') || \
       ((c) == '-') || ((c) == '+') || ((c) == '/') || ((c) == ':') || \
       ((c) == '.'))
@@ -1077,23 +1098,8 @@ gst_structure_to_string (const GstStructure * structure)
     field = GST_STRUCTURE_FIELD (structure, i);
 
     t = gst_value_serialize (&field->value);
-    type = G_VALUE_TYPE (&field->value);
-
-    if (type == GST_TYPE_LIST) {
-      GArray *array = g_value_peek_pointer (&field->value);
+    type = gst_structure_value_get_generic_type (&field->value);
 
-      if (array->len > 0) {
-        GValue *value = &g_array_index (array, GValue, 0);
-
-        type = G_VALUE_TYPE (value);
-      } else {
-        type = G_TYPE_INT;
-      }
-    } else if (G_VALUE_TYPE (&field->value) == GST_TYPE_INT_RANGE) {
-      type = G_TYPE_INT;
-    } else if (G_VALUE_TYPE (&field->value) == GST_TYPE_DOUBLE_RANGE) {
-      type = G_TYPE_DOUBLE;
-    }
     g_string_append_printf (s, ", %s=(%s)%s", g_quark_to_string (field->name),
         gst_structure_to_abbr (type), t);
     g_free (t);
index 83240b366f057eeb49859e15f61e592130d66e8b..05ae31a2b43cff446ecf01771fa2dc3d5b08c644 100644 (file)
@@ -160,9 +160,12 @@ gst_value_lcopy_list (const GValue * value, guint n_collect_values,
 void
 gst_value_list_prepend_value (GValue * value, const GValue * prepend_value)
 {
+  GValue val = { 0, };
+
   g_return_if_fail (GST_VALUE_HOLDS_LIST (value));
 
-  g_array_prepend_vals ((GArray *) value->data[0].v_pointer, prepend_value, 1);
+  gst_value_init_and_copy (&val, prepend_value);
+  g_array_prepend_vals ((GArray *) value->data[0].v_pointer, &val, 1);
 }
 
 /**
@@ -175,9 +178,12 @@ gst_value_list_prepend_value (GValue * value, const GValue * prepend_value)
 void
 gst_value_list_append_value (GValue * value, const GValue * append_value)
 {
+  GValue val = { 0, };
+
   g_return_if_fail (GST_VALUE_HOLDS_LIST (value));
 
-  g_array_append_vals ((GArray *) value->data[0].v_pointer, append_value, 1);
+  gst_value_init_and_copy (&val, append_value);
+  g_array_append_vals ((GArray *) value->data[0].v_pointer, &val, 1);
 }
 
 /**
@@ -1343,16 +1349,16 @@ gst_value_subtract_int_range_int_range (GValue * dest, const GValue * minuend,
   int min2 = gst_value_get_int_range_min (subtrahend);
   int max2 = gst_value_get_int_range_max (subtrahend);
 
-  if (max2 == G_MAXINT) {
-    max2--;
-    max1--;
-  }
-  if (min2 == G_MININT) {
-    min2++;
-    min1++;
+  if (max2 == G_MAXINT && min2 == G_MININT) {
+    return FALSE;
+  } else if (max2 == G_MAXINT) {
+    return gst_value_create_new_range (dest, min1, MIN (min2 - 1, max1), 1, 0);
+  } else if (min2 == G_MININT) {
+    return gst_value_create_new_range (dest, MAX (max2 + 1, min1), max1, 1, 0);
+  } else {
+    return gst_value_create_new_range (dest, min1, MIN (min2 - 1, max1),
+        MAX (max2 + 1, min1), max1);
   }
-  return gst_value_create_new_range (dest, min1, MIN (min2 - 1, max1),
-      MAX (max2 + 1, min1), max1);
 }
 
 static gboolean
@@ -1457,6 +1463,7 @@ gst_value_subtract_from_list (GValue * dest, const GValue * minuend,
         gst_value_init_and_copy (&temp, dest);
         g_value_unset (dest);
         gst_value_list_concat (dest, &temp, &subtraction);
+        g_value_unset (&temp);
       }
       g_value_unset (&subtraction);
     }
index 39e5c2f787a061e6a979d60437b71a46e8baa957..e198dbe307da3b8ee87a9ee74c9b6421efea8d32 100644 (file)
@@ -5,6 +5,7 @@
    include this file */
 
 static const gchar *caps_list[] = {
+  "audio/x-adpcm, layout=(string)quicktime; audio/x-adpcm, layout=(string)quicktime; audio/x-adpcm, layout=(string)wav; audio/x-adpcm, layout=(string)wav; audio/x-adpcm, layout=(string)dk3; audio/x-adpcm, layout=(string)dk3; audio/x-adpcm, layout=(string)dk4; audio/x-adpcm, layout=(string)dk4; audio/x-adpcm, layout=(string)westwood; audio/x-adpcm, layout=(string)westwood; audio/x-adpcm, layout=(string)smjpeg; audio/x-adpcm, layout=(string)smjpeg; audio/x-adpcm, layout=(string)microsoft; audio/x-adpcm, layout=(string)microsoft; audio/x-adpcm, layout=(string)4xm; audio/x-adpcm, layout=(string)4xm; audio/x-adpcm, layout=(string)xa; audio/x-adpcm, layout=(string)xa; audio/x-adpcm, layout=(string)adx; audio/x-adpcm, layout=(string)adx; audio/x-adpcm, layout=(string)ea; audio/x-adpcm, layout=(string)ea; audio/x-adpcm, layout=(string)g726; audio/x-adpcm, layout=(string)g726",
   "video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)I420; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)YUY2; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)Y42B; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)32, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, endianness=(int)4321; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)YUV9; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)Y41B; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)16, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, endianness=(int)1234; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)16, depth=(int)15, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, endianness=(int)1234",
   "video/x-raw-yuv, format=(fourcc){ YUY2, I420 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-divx, divxversion=(int)[ 3, 5 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-xvid, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-3ivx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-msmpeg, msmpegversion=(int)[ 41, 43 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/mpeg, mpegversion=(int)1, systemstream=(boolean)false, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-h263, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int){ 576, 480 }; video/x-huffyuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]",
   "video/x-raw-yuv, format=(fourcc){ YUY2, I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], divxversion=(int)[ 3, 5 ]; video/x-xvid, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-3ivx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], msmpegversion=(int)[ 41, 43 ]; video/mpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], mpegversion=(int)1, systemstream=(boolean)false; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dv, width=(int)720, height=(int){ 576, 480 }, systemstream=(boolean)false; video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]",
index 39e5c2f787a061e6a979d60437b71a46e8baa957..e198dbe307da3b8ee87a9ee74c9b6421efea8d32 100644 (file)
@@ -5,6 +5,7 @@
    include this file */
 
 static const gchar *caps_list[] = {
+  "audio/x-adpcm, layout=(string)quicktime; audio/x-adpcm, layout=(string)quicktime; audio/x-adpcm, layout=(string)wav; audio/x-adpcm, layout=(string)wav; audio/x-adpcm, layout=(string)dk3; audio/x-adpcm, layout=(string)dk3; audio/x-adpcm, layout=(string)dk4; audio/x-adpcm, layout=(string)dk4; audio/x-adpcm, layout=(string)westwood; audio/x-adpcm, layout=(string)westwood; audio/x-adpcm, layout=(string)smjpeg; audio/x-adpcm, layout=(string)smjpeg; audio/x-adpcm, layout=(string)microsoft; audio/x-adpcm, layout=(string)microsoft; audio/x-adpcm, layout=(string)4xm; audio/x-adpcm, layout=(string)4xm; audio/x-adpcm, layout=(string)xa; audio/x-adpcm, layout=(string)xa; audio/x-adpcm, layout=(string)adx; audio/x-adpcm, layout=(string)adx; audio/x-adpcm, layout=(string)ea; audio/x-adpcm, layout=(string)ea; audio/x-adpcm, layout=(string)g726; audio/x-adpcm, layout=(string)g726",
   "video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)I420; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)YUY2; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)Y42B; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)32, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, endianness=(int)4321; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)YUV9; video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], format=(fourcc)Y41B; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)16, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, endianness=(int)1234; video/x-raw-rgb, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ], bpp=(int)16, depth=(int)15, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, endianness=(int)1234",
   "video/x-raw-yuv, format=(fourcc){ YUY2, I420 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-jpeg, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-divx, divxversion=(int)[ 3, 5 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-xvid, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-3ivx, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-msmpeg, msmpegversion=(int)[ 41, 43 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/mpeg, mpegversion=(int)1, systemstream=(boolean)false, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-h263, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]; video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int){ 576, 480 }; video/x-huffyuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ]",
   "video/x-raw-yuv, format=(fourcc){ YUY2, I420 }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], divxversion=(int)[ 3, 5 ]; video/x-xvid, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-3ivx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], msmpegversion=(int)[ 41, 43 ]; video/mpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], mpegversion=(int)1, systemstream=(boolean)false; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-dv, width=(int)720, height=(int){ 576, 480 }, systemstream=(boolean)false; video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]",