Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 12 Mar 2010 10:52:08 +0000 (10:52 +0000)
committergb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Fri, 12 Mar 2010 10:52:08 +0000 (10:52 +0000)
gst-libs/gst/vaapi/gstvaapiimageformat.c

index 370633f..6679d87 100644 (file)
@@ -35,14 +35,14 @@ enum _GstVaapiImageFormatType {
 struct _GstVaapiImageFormatMap {
     GstVaapiImageFormatType     type;
     GstVaapiImageFormat         format;
-    GstStaticCaps               caps;
+    const char                 *caps_str;
     VAImageFormat               va_format;
 };
 
 #define DEF(TYPE, FORMAT, CAPS_STR)                                     \
     GST_VAAPI_IMAGE_FORMAT_TYPE_##TYPE,                                 \
     GST_VAAPI_IMAGE_##FORMAT,                                           \
-    GST_STATIC_CAPS(CAPS_STR)
+    CAPS_STR
 #define DEF_YUV(FORMAT, FOURCC, ENDIAN, BPP)                            \
     { DEF(YCBCR, FORMAT, GST_VIDEO_CAPS_YUV(#FORMAT)),                  \
         { VA_FOURCC FOURCC, VA_##ENDIAN##_FIRST, BPP, }, }
@@ -157,18 +157,13 @@ gst_vaapi_image_format_get_va_format(GstVaapiImageFormat format)
 GstCaps *
 gst_vaapi_image_format_get_caps(GstVaapiImageFormat format)
 {
-    GstCaps *caps;
     const GstVaapiImageFormatMap *m;
 
     m = get_map_from_gst_vaapi_image_format(format);
     if (!m)
         return NULL;
 
-    caps = gst_static_caps_get(&m->caps);
-    if (!caps)
-        return NULL;
-
-    return gst_caps_make_writable(caps);
+    return gst_caps_from_string(m->caps_str);
 }
 
 guint