static gint _compare_container_encoding_profiles (GstEncodingContainerProfile * ca, GstEncodingContainerProfile * cb) { GList *tmp; if (g_list_length (ca->encodingprofiles) != g_list_length (cb->encodingprofiles)) return -1; for (tmp = ca->encodingprofiles; tmp; tmp = tmp->next) { GstEncodingProfile *prof = (GstEncodingProfile *) tmp->data; if (!gst_encoding_container_profile_contains_profile (ca, prof)) return -1; } return 0; }
static void test_individual_target (GstEncodingTarget * target) { GstEncodingProfile *prof; GstCaps *tmpcaps, *tmpcaps2; GstEncodingProfile *sprof1, *sprof2; GST_DEBUG ("Checking the target properties"); /* Check the target */ fail_unless_equals_string (gst_encoding_target_get_name (target), "myponytarget"); fail_unless_equals_string (gst_encoding_target_get_category (target), "herding"); fail_unless_equals_string (gst_encoding_target_get_description (target), "Plenty of pony glitter profiles"); GST_DEBUG ("Checking the number of profiles the target contains"); fail_unless_equals_int (g_list_length ((GList *) gst_encoding_target_get_profiles (target)), 1); GST_DEBUG ("Checking the container profile"); /* Check the profile */ prof = (GstEncodingProfile *) gst_encoding_target_get_profiles (target)->data; tmpcaps = gst_caps_from_string ("animal/x-pony"); CHECK_PROFILE (prof, "pony", "I don't want a description !", tmpcaps, NULL, 0, 0); gst_caps_unref (tmpcaps); GST_DEBUG ("Checking the container profile has 2 stream profiles"); /* Check the stream profiles */ fail_unless_equals_int (g_list_length ((GList *) gst_encoding_container_profile_get_profiles ( (GstEncodingContainerProfile *) prof)), 2); GST_DEBUG ("Checking the container profile has the audio/x-pony-song stream"); tmpcaps = gst_caps_from_string ("audio/x-pony-song,pretty=True"); tmpcaps2 = gst_caps_from_string ("audio/x-raw-int,channels=1,rate=44100"); sprof1 = (GstEncodingProfile *) gst_encoding_audio_profile_new (tmpcaps, NULL, tmpcaps2, 1); fail_unless (gst_encoding_container_profile_contains_profile ( (GstEncodingContainerProfile *) prof, sprof1)); gst_encoding_profile_unref (sprof1); gst_caps_unref (tmpcaps); gst_caps_unref (tmpcaps2); GST_DEBUG ("Checking the container profile has the video//x-glitter stream"); tmpcaps = gst_caps_from_string ("video/x-glitter,sparkling=True"); tmpcaps2 = gst_caps_from_string ("video/x-raw-yuv,width=640,height=480,framerate=15/1"); sprof2 = (GstEncodingProfile *) gst_encoding_video_profile_new (tmpcaps, "seriously glittery", tmpcaps2, 0); gst_encoding_video_profile_set_variableframerate ((GstEncodingVideoProfile *) sprof2, TRUE); fail_unless (gst_encoding_container_profile_contains_profile ( (GstEncodingContainerProfile *) prof, sprof2)); gst_encoding_profile_unref (sprof2); gst_caps_unref (tmpcaps); gst_caps_unref (tmpcaps2); }