2015-02-16 3 views
1

Я пытаюсь прочитать разрешения, поддерживаемые камерой, используя GStreamer и плагин camerabin2. Проблема в том, что я получаю NULL.Разрешение камеры для чтения GStreamer

#include <gst/gst.h> 
#include <stdio.h> 

#define gstRef(element) { gst_object_ref(GST_OBJECT(element)); gst_object_sink(GST_OBJECT(element)); } 

int main(int argc, char *argv[]) { 

    gst_init (&argc, &argv); 

    GstElement *m_camerabin = gst_element_factory_make("camerabin2", "camerabin2"); 
    gstRef(m_camerabin); 

    GstCaps *supportedCaps = 0; 
    g_object_get(G_OBJECT(m_camerabin), "image-capture-supported-caps", 
       &supportedCaps, NULL); 
    char *c = gst_caps_to_string(supportedCaps); 
    printf("%s\n",c); 

    return 0; 
} 

Есть ли лучший способ получить поддерживаемые разрешения? Должен ли я использовать другой плагин?

Спасибо.

ответ

0

Я не использовал этот элемент, но в GStreamer разрешения обычно не будут доступны для вашего кода до тех пор, пока элемент не будет помещен в конвейер, а конвейер не будет «воспроизведен». Затем элементы активируются и соединяются и делают доступной информацию.

Ненависть к ссылке и запуск, но вы можете начать здесь.

https://gitorious.org/gstreamer-camerabin2/gst-plugins-bad/source/28540988b25f493274762d394c55a4beded5e428:tests/examples/camerabin2

 Смежные вопросы

  • Нет связанных вопросов^_^