_("The direction of saturation processing applied when "
"capturing an image"), NULL);
+ gst_tag_register (GST_TAG_CAPTURING_FLASH_FIRED, GST_TAG_FLAG_META,
+ G_TYPE_BOOLEAN, _("capturing flash fired"),
+ _("If the flash fired while capturing and image"), NULL);
+
+ gst_tag_register (GST_TAG_CAPTURING_FLASH_MODE, GST_TAG_FLAG_META,
+ G_TYPE_STRING, _("capturing flash mode"),
+ _("The selected flash mode while capturing and image"), NULL);
+
+ gst_tag_register (GST_TAG_IMAGE_HORIZONTAL_PPI, GST_TAG_FLAG_META,
+ G_TYPE_DOUBLE, _("image horizontal ppi"),
+ _("Media (image/video) intended horizontal pixel density in ppi"), NULL);
+
+ gst_tag_register (GST_TAG_IMAGE_VERTICAL_PPI, GST_TAG_FLAG_META,
+ G_TYPE_DOUBLE, _("image vertical ppi"),
+ _("Media (image/video) intended vertical pixel density in ppi"), NULL);
+
return NULL;
}
* variables (whose names are specified in the NULL-terminated string array
* @env_vars) containing a list of character encodings to try/use. If none
* are specified, the current locale will be tried. If that also doesn't work,
- * ISO-8859-1 is assumed (which will almost always succeed).
+ * WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed).
*
* Returns: a newly-allocated string in UTF-8 encoding, or NULL
*
}
}
- /* Try ISO-8859-1 */
- GST_LOG ("Trying to convert freeform string using ISO-8859-1 fallback");
- utf8 = g_convert (data, size, "UTF-8", "ISO-8859-1", &bytes_read, NULL, NULL);
- if (utf8 != NULL && bytes_read == size) {
- goto beach;
+ /* Try Windows-1252 (which is a superset of ISO 8859-1 that uses a control
+ * character range in ISO 8859-1 for more printable characters) */
+ {
+ GError *err = NULL;
+
+ GST_LOG ("Trying to convert freeform string using Windows-1252/ISO-8859-1 "
+ "fallback");
+ utf8 = g_convert (data, size, "UTF-8", "WINDOWS-1252", &bytes_read, NULL,
+ &err);
+ if (err != NULL) {
+ /* fallback in case iconv implementation doesn't support windows-1252
+ * for some reason */
+ if (err->code == G_CONVERT_ERROR_NO_CONVERSION) {
+ utf8 = g_convert (data, size, "UTF-8", "ISO-8859-1", &bytes_read,
+ NULL, NULL);
+ }
+ g_error_free (err);
+ }
+
+ if (utf8 != NULL && bytes_read == size)
+ goto beach;
}
g_free (utf8);