Как я могу проверить мой плагин gstreamer? Есть ли какой-нибудь стандартный набор тестов для тестирования плагинов gstreamer? - PullRequest
2 голосов
/ 18 ноября 2011

Предположим, я сделал свой плагин на основе gstreamer. Я установил его и он работает правильно с приложением gst-launch.

Но теперь я хочу протестировать мой плагин gstreamer. Так есть ли стандартный набор тестов для такого тестирования плагинов?

Существуют ли медиаплееры, созданные с компонентом gstreamer , чтобы я мог заменить этот компонент своим плагином и протестировать его?

Ответы [ 2 ]

1 голос
/ 21 августа 2015

Я не уверен насчет GStreamer 0.10, и я предполагаю, что этот вопрос касается его возраста.Но для любого, кто пишет плагин для GStreamer 1.0, есть очень простой набор модульных тестов, который использует встроенный GStreamer Check framework и модуль GstCheck :

// This header will include some GStreamer-specific test utilities, as well as
// the internal Check API
#include <gst/check/gstcheck.h>

// Surround your tests with the GST_START_TEST and GST_END_TEST macros, then
// use the GstCheck and Check APIs
GST_START_TEST(my_test)
{
    ck_assert(0);
}
GST_END_TEST;

// This is a suite initialization function where you should register your tests.
// It must end with "_suite" and traditionally starts with your plugin's
// namespace.
Suite *gst_myplugin_suite(void) {
    Suite *s = suite_create("GstMyPlugin");
    TCase *tc = tcase_create("general");
    tcase_add_test(tc, my_test);
    // Add more tests with tcase_add_test(tc, test_function_name)
    suite_add_tcase(s, tc);
    return s;
}

// This generates an entry point that executes your test suite. The argument
// should be the name of your suite intialization function without "_suite".
GST_CHECK_MAIN(gst_myplugin);

При создании теста вам нужно связать его с плагином * и библиотекой gstcheck-1.0.Использование pkg-config может упростить задачу:

gcc -o gstmyplugintests `pkg-config --cflags --libs gstreamer-check-1.0` gstmyplugin.so gstmyplugintests.c

При запуске ваших тестов не забудьте указать GStreamer, где искать ваш плагин:

GST_PLUGIN_PATH=. ./gstmyplugintests

Это должно быть все, что нужно дляit!

* Редактировать: На самом деле, вам нужно связываться с вашим плагином, только если ваши тесты обращаются к его внутренним структурам данных и функциям.

0 голосов
/ 25 ноября 2011

Я думаю это решит вашу проблему.

...