static GList * fcstd_thumbnailer_provider_get_thumbnailers (TumblerThumbnailerProvider *provider) { static const gchar *mime_types[] = { "application/x-extension-fcstd", NULL }; FcstdThumbnailer *thumbnailer; GList *thumbnailers = NULL; GStrv uri_schemes; /* determine the URI schemes supported by GIO */ uri_schemes = tumbler_util_get_supported_uri_schemes (); /* create the pixbuf thumbnailer */ thumbnailer = g_object_new (TYPE_FCSTD_THUMBNAILER, "uri-schemes", uri_schemes, "mime-types", mime_types, NULL); /* add the thumbnailer to the list */ thumbnailers = g_list_append (thumbnailers, thumbnailer); /* free URI schemes */ g_strfreev (uri_schemes); return thumbnailers; }
static GList * ffmpeg_thumbnailer_provider_get_thumbnailers (TumblerThumbnailerProvider *provider) { static const gchar *mime_types[] = { "video/jpeg", "video/mp4", "video/mp2t", "video/mpeg", "video/quicktime", "video/x-ms-asf", "video/x-ms-wm", "video/x-ms-wmv", "video/x-msvideo", "video/x-flv", "application/x-flash-video", "application/vnd.rn-realmedia", "video/3gpp", "video/x-matroska", "video/ogg", NULL }; FfmpegThumbnailer *thumbnailer; GList *thumbnailers = NULL; GStrv uri_schemes; /* determine the URI schemes supported by GIO */ uri_schemes = tumbler_util_get_supported_uri_schemes (); /* create the pixbuf thumbnailer */ thumbnailer = g_object_new (TYPE_FFMPEG_THUMBNAILER, "uri-schemes", uri_schemes, "mime-types", mime_types, NULL); /* add the thumbnailer to the list */ thumbnailers = g_list_append (thumbnailers, thumbnailer); /* free URI schemes */ g_strfreev (uri_schemes); return thumbnailers; }
static GList * jpeg_thumbnailer_provider_get_thumbnailers (TumblerThumbnailerProvider *provider) { JPEGThumbnailer *thumbnailer; const gchar *mime_types[] = { "image/jpeg", NULL }; GList *thumbnailers = NULL; GStrv uri_schemes; /* determine which URI schemes are supported by GIO */ uri_schemes = tumbler_util_get_supported_uri_schemes (); /* create the pixbuf thumbnailer */ thumbnailer = g_object_new (TYPE_JPEG_THUMBNAILER, "uri-schemes", uri_schemes, "mime-types", mime_types, NULL); /* free URI schemes and MIME types */ g_strfreev (uri_schemes); /* add the thumbnailer to the list */ thumbnailers = g_list_append (thumbnailers, thumbnailer); return thumbnailers; }
static GList * gst_thumbnailer_provider_get_thumbnailers (TumblerThumbnailerProvider *provider) { /* This list is mainly from Totem. Generating a list from * GStreamer isn't realistic, so we have to hardcode it. */ /* See https://git.gnome.org/browse/totem/tree/data/mime-type-list.txt */ static const char *mime_types[] = { "application/mxf", "application/ogg", "application/ram", "application/sdp", "application/smil", "application/smil+xml", "application/vnd.apple.mpegurl", "application/vnd.ms-wpl", "application/vnd.rn-realmedia", "application/x-extension-m4a", "application/x-extension-mp4", "application/x-flac", "application/x-flash-video", "application/x-matroska", "application/x-netshow-channel", "application/x-ogg", "application/x-quicktime-media-link", "application/x-quicktimeplayer", "application/x-shorten", "application/x-smil", "application/xspf+xml", "image/vnd.rn-realpix", "image/x-pict", "misc/ultravox", "text/google-video-pointer", "text/x-google-video-pointer", "video/3gp", "video/3gpp", "video/dv", "video/divx", "video/fli", "video/flv", "video/mp2t", "video/mp4", "video/mp4v-es", "video/mpeg", "video/msvideo", "video/ogg", "video/quicktime", "video/vivo", "video/vnd.divx", "video/vnd.mpegurl", "video/vnd.rn-realvideo", "video/vnd.vivo", "video/webm", "video/x-anim", "video/x-avi", "video/x-flc", "video/x-fli", "video/x-flic", "video/x-flv", "video/x-m4v", "video/x-matroska", "video/x-mpeg", "video/x-mpeg2", "video/x-ms-asf", "video/x-ms-asx", "video/x-msvideo", "video/x-ms-wm", "video/x-ms-wmv", "video/x-ms-wmx", "video/x-ms-wvx", "video/x-nsv", "video/x-ogm+ogg", "video/x-theora+ogg", "video/x-totem-stream", "x-content/video-dvd", "x-content/video-vcd", "x-content/video-svcd", NULL }; GstThumbnailer *thumbnailer; GError *error = NULL; GStrv uri_schemes; if (!gst_init_check (0, NULL, &error)) { g_warning ("Cannot initialize GStreamer, thumbnailer not loaded: %s", error->message); return NULL; } uri_schemes = tumbler_util_get_supported_uri_schemes (); thumbnailer = g_object_new (TYPE_GST_THUMBNAILER, "uri-schemes", uri_schemes, "mime-types", mime_types, NULL); g_strfreev (uri_schemes); return g_list_append (NULL, thumbnailer); }