static void populate_profile_combo (GtkComboBox *combo) { GstEncodingTarget *target; const GList *p; GtkTreeModel *model; model = GTK_TREE_MODEL (gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_STRING)); target = rb_gst_get_default_encoding_target (); for (p = gst_encoding_target_get_profiles (target); p != NULL; p = p->next) { GstEncodingProfile *profile = GST_ENCODING_PROFILE (p->data); char *media_type; media_type = rb_gst_encoding_profile_get_media_type (profile); if (media_type == NULL) { continue; } gtk_tree_store_insert_with_values (GTK_TREE_STORE (model), NULL, NULL, -1, 0, media_type, 1, gst_encoding_profile_get_description (profile), -1); g_free (media_type); } gtk_combo_box_set_model (GTK_COMBO_BOX (combo), model); g_object_unref (model); }
GstEncodingProfile * rb_gst_get_encoding_profile (const char *media_type) { const GList *l; GstEncodingTarget *target; target = rb_gst_get_default_encoding_target (); for (l = gst_encoding_target_get_profiles (target); l != NULL; l = l->next) { GstEncodingProfile *profile = l->data; if (rb_gst_media_type_matches_profile (profile, media_type)) { gst_encoding_profile_ref (profile); return profile; } } return NULL; }