почему вот так работаетgst-launch-1.0 videotestsrc ! ximagesinkа вот через fifo нет, пример
mkfifo /tmp/fifo123
gst-launch-1.0 -v videotestsrc ! filesink location=/tmp/fifo111в другом терминале
gst-launch-1.0 filesrc location=/tmp/fifo111 ! ximagesinkвот ошибка выхлопа
Установка конвейера в состояние PAUSED…
Подготовка конвейера (PREROLL)…
ОШИБКА: из элемента /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Internal error: can't allocate images
Дополнительная отладочная информация:
../sys/ximage/ximagesink.c(1432): gst_x_image_sink_show_frame (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0:
We don't have a bufferpool negotiated
ОШИБКА: конвейер не хочет подготавливаться (PREROLL).
Установка конвейера в состояние NULL…
ОШИБКА: из элемента /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data stream error.
Дополнительная отладочная информация:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming stopped, reason error (-5)
ОШИБКА: конвейер не хочет подготавливаться (PREROLL)???
вывод strace в студию, вращайте барабан
> вывод strace в студию, вращайте барабану тебя типа работает?
GStreamer же с потоками работает, а FIFO - это файл. filesink тупо записывает всё в файл, а filesrc потом из него читает. ximagesink же не знает, что там за поток прилетит из файла, какого размера картинки, какой формат. Вот и ругается, что буферы не может выделить. "can't allocate images" – это же крик о помощи! "Я не знаю, что мне рисовать!"