matthiasbock / gstreamer

Raspberry Pi gstreamer with UVC H.264 and OpenMAX plugins
26 stars 7 forks source link

error: 'GstOMXVideoDec' has no member named 'out_port_pool' #4

Closed matthiasbock closed 11 years ago

matthiasbock commented 11 years ago

Trying to compile gst-omx from freedesktop.org, branch 0.10:

Making all in omx
make[2]: Entering directory `/usr/src/gstreamer/gst-omx/omx'
  CC     libgstopenmax_la-gstomx.lo
  CC     libgstopenmax_la-gstomxvideodec.lo
gstomxvideodec.c: In function 'gst_omx_video_dec_set_property':
gstomxvideodec.c:348:19: error: unused variable 'self' [-Werror=unused-variable]
gstomxvideodec.c: In function 'gst_omx_video_dec_get_property':
gstomxvideodec.c:369:19: error: unused variable 'self' [-Werror=unused-variable]
gstomxvideodec.c: In function 'gst_omx_video_dec_allocate_output_buffers':
gstomxvideodec.c:731:17: error: unused variable 'vinfo' [-Werror=unused-variable]
gstomxvideodec.c: In function 'gst_omx_video_dec_loop':
gstomxvideodec.c:1350:13: error: 'GstOMXVideoDec' has no member named 'out_port_pool'
gstomxvideodec.c:1351:7: error: implicit declaration of function 'gst_egl_image_memory_pool_acquire_buffer' [-Werror=implicit-function-declaration]
gstomxvideodec.c:1351:7: error: nested extern declaration of 'gst_egl_image_memory_pool_acquire_buffer' [-Werror=nested-externs]
gstomxvideodec.c:1351:62: error: 'GstOMXVideoDec' has no member named 'out_port_pool'
gstomxvideodec.c:1370:13: error: 'GstOMXVideoDec' has no member named 'out_port_pool'
gstomxvideodec.c:1372:57: error: 'GstOMXVideoDec' has no member named 'out_port_pool'
cc1: all warnings being treated as errors
make[2]: *** [libgstopenmax_la-gstomxvideodec.lo] Error 1
make[2]: Leaving directory `/usr/src/gstreamer/gst-omx/omx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/gstreamer/gst-omx'
make: *** [all] Error 2
matthiasbock commented 11 years ago

worked around the problem by editing gst-omx/omx/Makefile before doing make, changing

ERROR_CFLAGS = -Werror

to

ERROR_CFLAGS = -w
dimovnike commented 11 years ago

Hi, the proposed fix fixes only a part of problem, the part with unused variables. The "has no member" errors still remain.

h6w commented 11 years ago

1) Install package libraspberrypi-dev 2) Call autogen.sh like this: LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/IL -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh ---with-omx-target=rpi

Story for Google

This is triggered by an #IFDEF USE_EGL_RPI line, effectively commenting out the out_port_pool variable in the _GstOMXVideoDec struct in gstomxvideodec.h which it seems to assume exists in the rest of the code. I believe this a Raspberry Pi problem and should probably be activated as part of the --with-omx-target=rpi switch.

However, simply adding --with-egl-window-system=rpi did not solve this for me. Looking at configure suggested that the only time it echoed USE_EGL_RPI to confdefs.h was when it could find the EGL libraries. So I apt-get installed libraspberrypi-dev and ran ./configure again. This did not work either. :-(

Eventually I worked out that configure was being setup incorrectly by not specifying the library locations to autogen.sh