• Как избавиться от ошибки [Route 35-39] The design did not meet timing requirements, при разводке устройства в ПЛИС?

    @nickpetrovsky
    Стоит побывать Xilinx SmartXplorer, но чудес ожидать не стоит.
    Ответ написан
    Комментировать
  • Gstreamer: можно ли соединить два Pipeline'а?

    @nickpetrovsky
    Можно и не упрощая :), динамически создавайте новый pad у tee, и добавляйте ветку из созданных элементов.
    Перед редактированием как основная последовательность, так и подключаемая должны быть в состоянии паузы.

    Примерный код добавления бранча:
    GstElement *pipeline, *branch;
    // Положим, что все элементы созданы и связи между ними настроены
    // (pipeline не связан и не содержит в себе branch)
    gst_element_set_state (pipeline, GST_STATE_PAUSED);
    gst_element_set_state (branch, GST_STATE_PAUSED);
    // Запросим pad из основной последовательности, и приёмник из branch
    tee_queue1_pad = gst_element_get_request_pad (tee, "src%d");
    queue1_queue_pad = gst_element_get_pad (branch, "videosink");
    // Настроим связи
    gst_bin_add(GST_BIN(pipeline), muxbranch);
    gst_pad_link(tee_queue1_pad, queue1_queue_pad);
    // Вернём к проигрыванию
    gst_element_set_state (branch, GST_STATE_PLAYING);
    gst_element_set_state (pipeline, GST_STATE_PLAYING);
    Ответ написан
    Комментировать