<div dir="ltr">Hi all,<br><br>I try to encode a video test with OMX plugin for gstreamer on my raspberry pi and I have an error when I launch the gst-launch command.<br>the gst-omx plugin was installed in my filesystem in /usr/lib/gstreamer-1.0.<br>
<br>this is the gst-launch command with some traces :<br># export GST_DEBUG="omx:9"<br># gst-launch-1.0 videotestsrc is-live=1 ! omxh264enc ! udpsink host=10.33.229.91 port=9999<br>0:00:00.264214000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxmpeg2videodec'<br>
0:00:00.275182000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxmpeg4videodec'<br>0:00:00.282413000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxh263dec'<br>
0:00:00.290788000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxh264dec'<br>0:00:00.297568000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxtheoradec'<br>
0:00:00.303366000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxvp8dec'<br>0:00:00.311142000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxmjpegdec'<br>
0:00:00.317973000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxvc1dec'<br>0:00:00.324150000 445 0x1ae5ce0 DEBUG omx gstomx.c:2752:plugin_init: Registering element 'omxh264enc'<br>
0:00:00.333223000 445 0x1ae5ce0 DEBUG omx gstomx.c:2625:_class_init: No sink template caps specified for element 'omxh264enc', using default 'video/x-raw, width = (int) [ 1, max ], height = (int) [ 1, max ], framerate = (fraction) [ 0, max ]'<br>
0:00:00.341853000 445 0x1ae5ce0 DEBUG omx gstomx.c:2652:_class_init: No src template caps specified for element 'omxh264enc', using default 'video/x-h264, width=(int) [ 16, 4096 ], height=(int) [ 16, 4096 ]'<br>
0:00:00.352062000 445 0x1ae5ce0 DEBUG omx gstomx.c:2678:_class_init: Using hack: no-component-role<br>Setting pipeline to PAUSED ...<br>gst-launch-1.0: can't resolve symbol 'vcos_global_lock'<br>
<br>I try the strace command with gst-launch :<br><br># strace gst-launch-1.0 -v videotestsrc is-live=1 ! omxh264enc ! udpsink host=192.168.1.5 port=9999<br>[...]<br>write(1, "Setting pipeline to PAUSED ...\n", 31Setting pipeline to PAUSED ...<br>
) = 31<br>rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0<br>socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 5<br>fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR)<br>
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0<br>connect(5, {sa_family=AF_INET, sin_port=htons(9999), sin_addr=inet_addr("192.168.1.5")}, 16) = -1 EINPROGRESS (Operation now in progress)<br>clock_gettime(CLOCK_MONOTONIC, {9678, 635465411}) = 0<br>
eventfd(0) = 6<br>poll([{fd=5, events=POLLOUT}, {fd=6, events=POLLIN}], 2, -1) = 1 ([{fd=5, revents=POLLOUT}])<br>close(6) = 0<br>getsockopt(5, SOL_SOCKET, SO_ERROR, [0], [4]) = 0<br>
write(4, "W", 1) = 1<br>stat64("/usr/lib/libbcm_host.so", {st_mode=S_IFREG|0755, st_size=57784, ...}) = 0<br>open("/usr/lib/libbcm_host.so", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=57784, ...}) = 0<br>
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0xb6fe3000<br>read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0F\0\0004\0\0\0"..., 4096) = 4096<br>mmap2(NULL, 102400, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6914000<br>
mmap2(0xb6914000, 55964, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0xb6914000<br>mmap2(0xb6929000, 3488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0xd000) = 0xb6929000<br>mmap2(0xb692a000, 11776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb692a000<br>
mprotect(0xb6914000, 55964, PROT_READ|PROT_WRITE|PROT_EXEC) = 0<br>close(6) = 0<br>munmap(0xb6fe3000, 4096) = 0<br>open("/lib/libvcos.so", O_RDONLY) = -1 ENOENT (No such file or directory)<br>
open("/lib/libvcos.so", O_RDONLY) = -1 ENOENT (No such file or directory)<br>open("/usr/lib/libvcos.so", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=39476, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0xb6fe3000<br>
read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0008(\0\0004\0\0\0"..., 4096) = 4096<br>mmap2(NULL, 73728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6902000<br>mmap2(0xb6902000, 37592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0xb6902000<br>
mmap2(0xb6913000, 1564, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x9000) = 0xb6913000<br>close(6) = 0<br>munmap(0xb6fe3000, 4096) = 0<br>open("/lib/libpthread.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=66996, ...}) = 0<br>close(6) = 0<br>open("/lib/libdl.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=13224, ...}) = 0<br>
close(6) = 0<br>open("/lib/librt.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=13200, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0xb6fe3000<br>
read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0`\16\0\0004\0\0\0"..., 4096) = 4096<br>mmap2(NULL, 49152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb68f6000<br>mmap2(0xb68f6000, 8260, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0xb68f6000<br>
mmap2(0xb6900000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x2000) = 0xb6900000<br>close(6) = 0<br>munmap(0xb6fe3000, 4096) = 0<br>open("/lib/libvchiq_arm.so", O_RDONLY) = -1 ENOENT (No such file or directory)<br>
open("/lib/libvchiq_arm.so", O_RDONLY) = -1 ENOENT (No such file or directory)<br>open("/usr/lib/libvchiq_arm.so", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=18724, ...}) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0xb6fe3000<br>
read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\25\0\0004\0\0\0"..., 4096) = 4096<br>mmap2(NULL, 53248, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb68e9000<br>mmap2(0xb68e9000, 17244, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0xb68e9000<br>
mmap2(0xb68f5000, 1292, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x4000) = 0xb68f5000<br>close(6) = 0<br>munmap(0xb6fe3000, 4096) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>close(6) = 0<br>open("/lib/libpthread.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=66996, ...}) = 0<br>
close(6) = 0<br>open("/lib/libdl.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=13224, ...}) = 0<br>close(6) = 0<br>open("/lib/librt.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=13200, ...}) = 0<br>close(6) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>
close(6) = 0<br>open("/lib/ld-uClibc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=25304, ...}) = 0<br>close(6) = 0<br>open("/lib/libdl.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=13224, ...}) = 0<br>close(6) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>
close(6) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>close(6) = 0<br>open("/lib/ld-uClibc.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=25304, ...}) = 0<br>close(6) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>
close(6) = 0<br>open("/lib/libdl.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=13224, ...}) = 0<br>close(6) = 0<br>open("/lib/libpthread.so.0", O_RDONLY) = 6<br>
fstat(6, {st_mode=S_IFREG|0755, st_size=66996, ...}) = 0<br>close(6) = 0<br>open("/lib/libc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=355672, ...}) = 0<br>
close(6) = 0<br>open("/lib/ld-uClibc.so.0", O_RDONLY) = 6<br>fstat(6, {st_mode=S_IFREG|0755, st_size=25304, ...}) = 0<br>close(6) = 0<br>mprotect(0xb6900000, 4096, PROT_READ) = 0<br>
futex(0xb691373c, FUTEX_WAKE_PRIVATE, 2147483647) = 0<br>mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fe3000<br>write(2, "", 0) = 0<br>write(2, "gst-launch-1.0", 14gst-launch-1.0) = 14<br>
write(2, ": can't resolve symbol '", 24: can't resolve symbol ') = 24<br>write(2, "vcos_global_lock", 16vcos_global_lock) = 16<br>write(2, "'\n", 2'<br>) = 2<br>
munmap(0xb6fe3000, 4096) = 0<br>exit(1) = ?<br>+++ exited with 1 +++<br><br>libvcos.so is found in /usr/lib folder and I think the library is loaded properly. <br>I use gstreamer 1.0.8 and the last git gst-omx.<br>
<br>thanks for your help.<br><br>Sinseman44<div><br></div></div>