Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avtp plugin? #37

Open
RioChan opened this issue Jan 26, 2022 · 20 comments
Open

Avtp plugin? #37

RioChan opened this issue Jan 26, 2022 · 20 comments

Comments

@RioChan
Copy link

RioChan commented Jan 26, 2022

Hi.
#1. I have install the libavtp, log is like below.
#2. But, I'm fail to use the gstreamer to test with avtp.

root@ubuntu-vm:/opt/libavtp# sudo ninja -C build install
ninja: Entering directory `build'
ninja: warning: bad deps log signature or version; starting over
[24/25] Installing files.
Installing libavtp.so.0.1.0 to /usr/local/lib/x86_64-linux-gnu
Installing symlink pointing to libavtp.so.0.1.0 to /usr/local/lib/x86_64-linux-gnu/libavtp.so.0
Installing symlink pointing to libavtp.so.0 to /usr/local/lib/x86_64-linux-gnu/libavtp.so
Installing /opt/libavtp/include/avtp.h to /usr/local/include
Installing /opt/libavtp/include/avtp_aaf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_crf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_cvf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_rvf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_ieciidc.h to /usr/local/include
Installing /opt/libavtp/build/meson-private/avtp.pc to /usr/local/lib/x86_64-linux-gnu/pkgconfig
NOTICE: You are using Python 3.6 which is EOL. Starting with v0.62.0, Meson will require Python 3.7 or newer
root@ubuntu-vm:/opt/libavtp# cd ..

#3. This is my error, may you guide me how to solve it?
root@ubuntu-vm:/opt# cd gstreamer/
root@ubuntu-vm:/opt/gstreamer# gst-inspect-1.0 avtp
No such element or plugin 'avtp'

Thanks.

BR Rio

@edersondisouza
Copy link
Collaborator

Hi @RioChan,

I'm a bit confused, did you build gstreamer after installing libavtp? Note that you need to build gstreamer, which will then find libavtp and build itself with the AVTP plugin.

@RioChan
Copy link
Author

RioChan commented Jan 27, 2022

Hi edersondisouza :
Thanks for the feedback.
Sorry, I never know the sequence as your saying.
Let me double confirm: The AVTP needs to be installed after Gstreamer installed?

BR Rio

@RioChan
Copy link
Author

RioChan commented Jan 27, 2022

Hi edersondisouza :
#1. please see the build / test log as the below.
#2. I have deleted the libavtp and re-installed/built the libavtp.
But the Gstreamer found not avtp.

May you comment how to solve this?
Thank you very much.

BR Rio

audioparsers: aacparse: AAC audio stream parser
audioparsers: ac3parse: AC3 audio stream parser
audioparsers: amrparse: AMR audio stream parser
audioparsers: dcaparse: DTS Coherent Acoustics audio stream parser
audioparsers: flacparse: FLAC audio parser
audioparsers: mpegaudioparse: MPEG1 Audio Parser
audioparsers: sbcparse: SBC audio parser
audioparsers: wavpackparse: Wavpack audio stream parser
audiorate: audiorate: Audio rate adjuster
audioresample: audioresample: Audio resampler
audiotestsrc: audiotestsrc: Audio test source
auparse: auparse: AU audio demuxer
:
autodetect: autoaudiosink: Auto audio sink

root@ubuntu-vm:/opt/gstreamer# cd ..
root@ubuntu-vm:/opt# cd libavtp/
root@ubuntu-vm:/opt/libavtp# ls
build CONTRIBUTING.md examples HACKING.md include LICENSE meson.build meson_options.txt README.md src travis.sh unit
root@ubuntu-vm:/opt/libavtp# sudo ninjia -C build install
sudo: ninjia: command not found
root@ubuntu-vm:/opt/libavtp# sudo ninja -C build install
ninja: Entering directory `build'
ninja: warning: bad deps log signature or version; starting over
[24/25] Installing files.
Installing libavtp.so.0.1.0 to /usr/local/lib/x86_64-linux-gnu
Installing symlink pointing to libavtp.so.0.1.0 to /usr/local/lib/x86_64-linux-gnu/libavtp.so.0
Installing symlink pointing to libavtp.so.0 to /usr/local/lib/x86_64-linux-gnu/libavtp.so
Installing /opt/libavtp/include/avtp.h to /usr/local/include
Installing /opt/libavtp/include/avtp_aaf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_crf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_cvf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_rvf.h to /usr/local/include
Installing /opt/libavtp/include/avtp_ieciidc.h to /usr/local/include
Installing /opt/libavtp/build/meson-private/avtp.pc to /usr/local/lib/x86_64-linux-gnu/pkgconfig
root@ubuntu-vm:/opt/libavtp# cd ..
root@ubuntu-vm:/opt# gst-inspect-1.0 avtp
No such element or plugin 'avtp'

@edersondisouza
Copy link
Collaborator

You definitely need to build gstreamer. Are you building it? If so, can you share the log from gstreamer build, please?

@RioChan
Copy link
Author

RioChan commented Jan 28, 2022

Hi edersondisouza:
#1.
Thanks for continuing helping me, appreciated.
I have re-built the gstreamer with 1.19.2, full built log is as the bottom.

#2.
But, the below cmd still found no avtp.
gst-inspect-1.0 avtp
No such element or plugin 'avtp'

#3. however, test with dummy cmd as the below is working, I think my problem is how to find the plugin.
st-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.012475278
Setting pipeline to NULL ...
Freeing pipeline ...

BR Rio

Anaconda3.5 mcu_plus_sdk_am64x_08_01_00_36 ti-processor-sdk-linux-am57xx-evm-06.01.00.08
bazel-0.15.0-installer-linux-x86_64.sh mcu_plus_sdk_am64x_08_01_00_36-linux-x64-installer.run ti-processor-sdk-linux-am64xx-evm-08.00.00.21
build-gstreamer.log mediapipe ti-processor-sdk-linux-am65xx-evm-07_01_00_17
build_streamer.sh media_plex ti-processor-sdk-linux-am65xx-evm-08_00_00_04
caffe Neo-AI ti-processor-sdk-linux-j7200-evm-07_03_00_04
caffe-jacinto OpenAvnu ti-processor-sdk-linux-j7200-evm-08_00_00_05
containerd OpenCL_workspace ti-processor-sdk-linux-j7200-evm-08_01_00_01
Delta_Linux_SDK8.0 orc ti-processor-sdk-linux-j7-evm-07_01_00_10
depthai_hand_tracker plexmediaserver_1.13.5.5332-21ab172de_amd64.deb ti-processor-sdk-linux-j7-evm-07_02_00_07
detectron2 processor_sdk_sitara_am64x_00_09_00_01 ti-processor-sdk-linux-j7-evm-07_03_00_05
docker processor_sdk_sitara_am64x_07_02_00_02 ti-processor-sdk-linux-j7-evm-08_00_00_08
DRA821_703 processor_sdk_sitara_am64x_linux_07_02_00_01 ti-processor-sdk-linux-rt-am65xx-evm-06.02.00.81
DRA821_703_env_setup.sh PROCESSOR_SDK_VISION_03_07_00_00 ti-processor-sdk-rtos-j7200-evm-07_03_00_07
DRA821_800 PROCESSOR_SDK_VISION_03_08_00_00 ti-processor-sdk-rtos-j7200-evm-08_00_00_12
DRA821_801 psdk_rtos_auto_j7_06_00_01_00 ti-processor-sdk-rtos-j7200-evm-08_01_00_11
edgeai-yolov5 psdk_rtos_auto_j7_06_02_00_21 ti-processor-sdk-rtos-j721e-evm-07_01_00_11
etcher psdk_rtos_auto_j7_06_02_00_21_original ti-processor-sdk-rtos-j721e-evm-07_02_00_06
Foxconn_7200_Debug pytorch3d ti-processor-sdk-rtos-j721e-evm-07_03_00_07
gcc-11.2.0 Rio_2021_7_30_2ETH.txt ti-processor-sdk-rtos-j721e-evm-08_00_00_12
gcc-11.2.0.tar.gz SSC_Stack_5.12 tsn-doc
gst-libav TDA4_601_env_setup.sh usb-eth-RTL-unix-driver
gst-plugins-bad TDA4_602_TIDL_Patch yolov5
gst-plugins-base TDA4_701
root@ubuntu-vm:/opt# cd gstreamer
root@ubuntu-vm:/opt/gstreamer# ls
AUTHORS COPYING docs gst-element-check-1.0.m4 hooks MAINTAINERS meson_options.txt plugins README RELEASE tests
ChangeLog data gst gstreamer.doap libs meson.build NEWS po README.static-linking scripts tools
root@ubuntu-vm:/opt/gstreamer# meson build
^CFatal Python error: initsite: Failed to import the site module
Traceback (most recent call last):
File "/usr/lib/python3.7/site.py", line 79, in
import os
File "/usr/lib/python3.7/os.py", line 29, in
from _collections_abc import _check_methods
File "/usr/lib/python3.7/_collections_abc.py", line 114, in
class Coroutine(Awaitable):
File "/usr/lib/python3.7/_collections_abc.py", line 148, in Coroutine
@classmethod
KeyboardInterrupt
root@ubuntu-vm:/opt/gstreamer# clear

root@ubuntu-vm:/opt/gstreamer# meson build

The Meson build system
Version: 0.61.1
Source dir: /opt/gstreamer
Build dir: /opt/gstreamer/build
Build type: native build
Project name: gstreamer
Project version: 1.19.2
C compiler for the host machine: ccache cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the host machine: cc ld.bfd 2.30
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -fno-strict-aliasing: YES
Message: Disabling deprecated GLib API
Has header "dlfcn.h" : YES
Has header "inttypes.h" : YES
Has header "memory.h" : YES
Has header "poll.h" : YES
Has header "stdint.h" : YES
Has header "stdio_ext.h" : YES
Has header "strings.h" : YES
Has header "string.h" : YES
Has header "sys/param.h" : YES
Has header "sys/poll.h" : YES
Has header "sys/prctl.h" : YES
Has header "sys/socket.h" : YES
Has header "sys/stat.h" : YES
Has header "sys/times.h" : YES
Has header "sys/time.h" : YES
Has header "sys/types.h" : YES
Has header "sys/utsname.h" : YES
Has header "sys/wait.h" : YES
Has header "ucontext.h" : YES
Has header "unistd.h" : YES
Has header "sys/resource.h" : YES
Has header "sys/uio.h" : YES
Checking whether type "struct tm" has member "tm_gmtoff" : YES
Checking for function "gmtime_r" : YES
Checking for function "sigaction" : YES
Checking for function "getrusage" : YES
Checking for function "fseeko" : YES
Checking for function "ftello" : YES
Checking for function "poll" : YES
Checking for function "ppoll" : YES
Checking for function "pselect" : YES
Checking for function "getpagesize" : YES
Checking for function "clock_gettime" : YES
Checking for function "clock_nanosleep" : YES
Checking for function "strnlen" : YES
Checking for function "getline" : YES
Checking for function "mkstemp" : YES
Checking for function "alarm" : YES
Checking for function "gettimeofday" : YES
Checking for function "localtime_r" : YES
Checking if "pthread_setname_np(const char*)" : links: NO
Header <pthread.h> has symbol "pthread_condattr_setclock" : YES
Header <pthread.h> has symbol "pthread_cond_timedwait_relative_np" : NO
Checking if "futex(2) system call" : links: YES
Checking if "posix timers from time.h" : compiles: YES
Checking if "monotonic clock from time.h" : compiles: YES
Checking if "__uint128_t available" : compiles: YES
Checking for function "getpid" : YES
Checking for function "strdup" : YES
Checking for function "strsignal" : YES
Checking for type "clockid_t" : YES
Checking for type "timer_t" : YES
Checking whether type "struct timespec" has members "tv_sec", "tv_nsec" : YES
Checking whether type "struct itimerspec" has members "it_interval", "it_value" : YES
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Found CMake: /usr/local/bin/cmake (3.16.5)
Run-time dependency libunwind found: NO (tried pkgconfig and cmake)
Run-time dependency libdw found: NO (tried pkgconfig and cmake)
Has header "dbghelp.h" : NO
Checking for function "backtrace" : YES
Message: Minimal support for stack traces, no source info.
Has header "execinfo.h" : YES
Checking for function "backtrace" : YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wredundant-decls: YES
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wformat: YES
Compiler for C supports arguments -Wformat-nonliteral: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Waddress: YES
Compiler for C supports arguments -Waggregate-return: YES
Compiler for C supports arguments -Wno-multichar: YES
Compiler for C supports arguments -Wdeclaration-after-statement: YES
Compiler for C supports arguments -Wvla: YES
Compiler for C supports arguments -Wpointer-arith: YES
Library gmp found: NO
Library gsl found: NO
Library gslcblas found: NO
Library dl found: YES
Checking for function "dladdr" with dependency -ldl: YES
Run-time dependency glib-2.0 found: YES 2.56.4
Run-time dependency gobject-2.0 found: YES 2.56.4
Run-time dependency gmodule-2.0 found: YES 2.56.4
Run-time dependency gio-2.0 found: YES 2.56.4
Run-time dependency gio-unix-2.0 found: YES 2.56.4
Library m found: YES
Library rt found: YES
Program g-ir-scanner found: NO
Program python3 found: YES (/root/anaconda3/bin/python3)
WARNING: Python files installed by Meson might not be found by python interpreter.
This warning can be avoided by setting "python.platlibdir" option.
WARNING: Python files installed by Meson might not be found by python interpreter.
This warning can be avoided by setting "python.purelibdir" option.
Run-time dependency bash-completion found: YES 2.8
Configuring gstconfig.h using configuration
Configuring gstversion.h using configuration
Program glib-mkenums found: YES (/root/anaconda3/bin/glib-mkenums)
Program glib-mkenums found: YES (/root/anaconda3/bin/glib-mkenums)
Program flex found: YES (/usr/bin/flex)
Program get_flex_version.py found: YES (/opt/gstreamer/gst/parse/get_flex_version.py)
Message: flex version 2.6.4 >= 2.5.31: YES
Configuring gen_lex.py using configuration
Program bison found: YES (/usr/bin/bison)
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in future releases of meson.
See also: mesonbuild/meson#9300
Message: bison version 3.0.4 >= 2.4: YES
Configuring grammar.y using configuration
Configuring gen_grammar.py using configuration
Compiler for C supports arguments -Wno-format-nonliteral: YES
Checking if "long long" : compiles: YES
Checking if "uintmax_t in inttypes.h" : compiles: YES
Checking if "uintmax_t in stdint.h" : compiles: YES
WARNING: extract_all_objects called without setting recursive
keyword argument. Meson currently defaults to
non-recursive to maintain backward compatibility but
the default will be changed in the future.

Program glib-mkenums found: YES (/root/anaconda3/bin/glib-mkenums)
Program glib-mkenums found: YES (/root/anaconda3/bin/glib-mkenums)
Message: PTP supported on linux.
Checking if "SIOCGIFCONF, SIOCGIFFLAGS and SIOCGIFHWADDR available" : compiles: YES
Checking if "getifaddrs() and AF_LINK available" : compiles: NO
Program setcap found: YES (/sbin/setcap)
Run-time dependency libcap found: NO (tried pkgconfig and cmake)
Message: How to install gst-ptp-helper: setuid-root
Configuring libgstreamer-1.0.so.0.1902.0-gdb.py using configuration
Configuring check.h using configuration
Compiler for C supports arguments -Wno-undef: YES
Compiler for C supports arguments -Wno-redundant-decls: YES
Compiler for C supports arguments -Wno-missing-prototypes: YES
Compiler for C supports arguments -Wno-missing-declarations: YES
Compiler for C supports arguments -Wno-old-style-definition: YES
Compiler for C supports arguments -Wno-declaration-after-statement: YES
Compiler for C supports arguments -Wno-format-nonliteral: YES (cached)
Compiler for C supports arguments -Wno-tautological-constant-out-of-range-compare: NO
Configuring internal-check.h using configuration
Run-time dependency threads found: YES
C++ compiler for the host machine: ccache c++ (gcc 7.5.0 "c++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C++ linker for the host machine: c++ ld.bfd 2.30
Run-time dependency gtk+-3.0 found: YES 3.22.30
Has header "pthread.h" : YES
Dependency threads found: YES unknown (cached)
Configuring gst using configuration
Program /opt/gstreamer/build/docs/gst-plugins-doc-cache-generator found: YES (/opt/gstreamer/build/docs/gst-plugins-doc-cache-generator)
Program hotdoc found: NO
Message: Hotdoc not found, not building the documentation
Program xgettext found: YES (/usr/bin/xgettext)
Program scripts/extract-release-date-from-doap-file.py found: YES (/opt/gstreamer/scripts/extract-release-date-from-doap-file.py)
Message: Package release date: 2021-09-23
Configuring config.h using configuration
Build targets in project: 202
NOTICE: Future-deprecated features used:

  • 0.55.0: {'ExternalProgram.path'}
  • 0.56.0: {'meson.build_root', 'Dependency.get_pkgconfig_variable'}

gstreamer 1.19.2

Plugins: coreelements, coretracers

Found ninja-1.10.2 at /root/anaconda3/bin/ninja
root@ubuntu-vm:/opt/gstreamer#
root@ubuntu-vm:/opt/gstreamer#
root@ubuntu-vm:/opt/gstreamer# ninja -C build
ninja: Entering directory `build'
[509/509] Linking target tests/examples/controller/controller-graph
root@ubuntu-vm:/opt/gstreamer#

@RioChan
Copy link
Author

RioChan commented Jan 28, 2022

i have also installed the gst-plugin-bad,
I don't why it find the gstreamer 1.14.2, but I'm using the 1.19.3.
Log is as the below.
BR Rio

Found pkg-config: /usr/bin/pkg-config (0.29.1)
Dependency gstreamer-1.0 found: NO found 1.14.2 but need: '>= 1.19.0'
Found CMake: /usr/local/bin/cmake (3.16.5)
Run-time dependency gstreamer-1.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gstreamer-1.0

meson.build:270:0: ERROR: Neither a subproject directory nor a gstreamer.wrap file was found.

A full log can be found at /opt/gst-plugins-bad/build/meson-logs/meson-log.txt

@edersondisouza
Copy link
Collaborator

Hi,

There's no need to worry about gstreamer vs gst-plugins-bad anymore, since the monorepo. Try following these instructions https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html?gi-language=c#setting-up-the-build-with-meson. It should build all of gstreamer, including the avtp plugin, quite transparently.

If that doesn't work, just post the logs =D

@RioChan
Copy link
Author

RioChan commented Jan 28, 2022

Hi.

#1. I have installed more than 10 times for Gstreamer.

I can perform: meson test -C build:

108/108 gst_gstbufferpool TIMEOUT 180.02s killed by signal 15 SIGTERM

MALLOC_PERTURB_=26 GST_PLUGIN_PATH_1_0=/opt/gstreamer/build CK_DEFAULT_TIMEOUT=20 GST_PLUGIN_SYSTEM_PATH_1_0='' GST_PLUGIN_LOADING_WHITELIST=gstreamer GST_PLUGIN_SCANNER_1_0=/opt/gstreamer/build/libs/gst/helpers/gst-plugin-scanner GST_REGISTRY=/opt/gstreamer/build/tests/check/gst_gstbufferpool.registry GST_STATE_IGNORE_ELEMENTS='' /opt/gstreamer/build/tests/check/gst_gstbufferpool

Ok: 38
Expected Fail: 0
Fail: 68
Unexpected Pass: 0
Skipped: 1
Timeout: 1

#2. and my livavtp can be tested as well.

ninja: Entering directory `/opt/libavtp/build'
ninja: warning: bad deps log signature or version; starting over
[24/24] Linking target test-ieciidc
1/7 AVTP API OK 0.05s
2/7 Stream API OK 0.03s
3/7 AAF API OK 0.02s
4/7 CRF API OK 0.01s
5/7 CVF API OK 0.01s
6/7 RVF API OK 0.01s
7/7 IEC61883/IIDC API OK 0.01s

Ok: 7
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0

Full log written to /opt/libavtp/build/meson-logs/testlog.txt

#3. May you guide me more solutions for letting the Gstreamer to find the LibAVTP/OpenAvnu?
Thanks.

BR Rio

@edersondisouza
Copy link
Collaborator

Hi,

Can you share the steps you are using to build gstreamer? If I do these steps:

git clone [email protected]:gstreamer/gstreamer.git
cd gstreamer
meson build

I'll see this in the middle of the logs:

gst-plugins-bad| Checking for type "struct sock_txtime" : YES
gst-plugins-bad| Run-time dependency avtp found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Looking for a fallback subproject for the dependency avtp
Cloning into 'avtp'...
remote: Enumerating objects: 250, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 250 (delta 8), reused 6 (delta 1), pack-reused 224
Receiving objects: 100% (250/250), 128.64 KiB | 1.71 MiB/s, done.
Resolving deltas: 100% (127/127), done.
HEAD is now at 9482c11 Fix compilation with GCC 9

Executing subproject gst-plugins-bad:avtp

avtp| Project name: libavtp
avtp| Project version: 0.1.0
avtp| C compiler for the host machine: cc (gcc 11.1.0 "cc (GCC) 11.1.0")
avtp| C linker for the host machine: cc ld.bfd 2.36.1
avtp| Run-time dependency cmocka found: NO (tried pkgconfig and cmake)
avtp| Library m found: YES
avtp| Build targets in project: 1020
avtp| Subproject avtp finished.

gst-plugins-bad| Dependency avtp from subproject subprojects/avtp found: YES 0.1.0
(...)
gstreamer-full 1.19.90

  Build options
    gstreamer-full            : NO

  Subprojects
    avtp                      : YES

So, gstreamer just downloads libavtp if it doesn't find it on the system. Can you share (on pastebin) the full log generated by the meson build step of gstreamer, so we can see what is doing wrong?

@RioChan
Copy link
Author

RioChan commented Feb 7, 2022

Hi edersondisouza:

Sorry for replying late due to vocation.

#1, Thanks for your new git site for me, It seems better than my previous git.
This is my problematic git of Gstreamer: git clone https://github.com/GStreamer/gstreamer.git
This is yours: git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git

   Obvious, your gitlab gstreamer is better than my used one, I don't know why the reason.
   May you teach me why there are difference between them?

  At least, I know your gitlab gstreamer will auto git clone the Gstreamer bad/base/ugly....plugins.
  My previous one github is ........

#2. This is my part of the logs.
root@ubuntu-vm:/opt# git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
Cloning into 'gstreamer'...
remote: Enumerating objects: 839648, done.
remote: Counting objects: 100% (1330/1330), done.
remote: Compressing objects: 100% (655/655), done.
remote: Total 839648 (delta 849), reused 1068 (delta 671), pack-reused 838318
Receiving objects: 100% (839648/839648), 207.03 MiB | 584.00 KiB/s, done.
Resolving deltas: 100% (657961/657961), done.
Checking out files: 100% (9964/9964), done.
root@ubuntu-vm:/opt#
root@ubuntu-vm:/opt#
root@ubuntu-vm:/opt#
root@ubuntu-vm:/opt# cd gstreamer
root@ubuntu-vm:/opt/gstreamer# ls
ci data gst-env.py gst-uninstalled.py LICENSE meson.build meson_options.txt README.md scripts subprojects tests
root@ubuntu-vm:/opt/gstreamer# meson build
The Meson build system
Version: 0.61.1
Source dir: /opt/gstreamer
Build dir: /opt/gstreamer/build
Build type: native build
Project name: gstreamer-full
Project version: 1.20.0

#3. I can tell the avpt is in the below

gst-plugins-bad 1.20.0

Plugins               : accurip, adpcmdec, adpcmenc, aiff, asfmux, audiobuffersplit, audiofxbad, audiomixmatrix, audiolatency, audiovisualizers, autoconvert, bayer,
                        camerabin, codecalpha, coloreffects, debugutilsbad, dvbsubenc, dvbsuboverlay, dvdspu, faceoverlay, festival, fieldanalysis, freeverb, frei0r,
                        gaudieffects, gdp, geometrictransform, id3tag, inter, interlace, ivfparse, ivtc, jp2kdecimator, jpegformat, rfbsrc, midi, mpegpsdemux, mpegpsmux,
                        mpegtsdemux, mpegtsmux, mxf, netsim, rtponvif, pcapparse, pnm, proxy, legacyrawparse, removesilence, rist, rtmp2, rtpmanagerbad, sdpelem,
                        segmentclip, siren, smooth, speed, subenc, switchbin, timecode, transcode, videofiltersbad, videoframe_audiolevel, videoparsersbad, videosignal,
                        vmnc, y4mdec, decklink, dvb, fbdevsink, ipcpipeline, kms, nvcodec, shm, aes, **avtp**, closedcaption, colormanagement, dash, dc1394, dtls, fdkaac,
                        hls, microdns, openexr, openjpeg, opusparse, sctp, smoothstreaming, sndfile, ttmlsubs, webrtc
(A)GPL license allowed: False

#4. But, in the end, it shows me those errors as the below, how to fixt it?

BR Rio

In file included from ../subprojects/gst-plugins-good/ext/qt/qtitem.cc:30:0:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:33:27: error: ‘function’ in namespace ‘std’ does not name a template type
using Callable = std::function<void()>;
^~~~~~~~
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:33: error: expected ‘)’ before ‘c’
explicit RenderJob(Callable c) : _c(c) { }
^
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:40:5: error: ‘Callable’ does not name a type; did you mean ‘glEnable’?
Callable _c;
^~~~~~~~
glEnable
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h: In member function ‘virtual void RenderJob::run()’:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:37:18: error: ‘_c’ was not declared in this scope
void run() { _c(); }
^~
../subprojects/gst-plugins-good/ext/qt/qtitem.cc: In member function ‘void QtGLVideoItem::handleWindowChanged(QQuickWindow*)’:
../subprojects/gst-plugins-good/ext/qt/qtitem.cc:684:15: error: ‘bind’ is not a member of ‘std’
bind (&QtGLVideoItem::onSceneGraphInitialized, this)),
^~~~
../subprojects/gst-plugins-good/ext/qt/qtitem.cc:684:15: note: suggested alternative: ‘find’
bind (&QtGLVideoItem::onSceneGraphInitialized, this)),
^~~~
find
ninja: build stopped: subcommand failed.
root@ubuntu-vm:/opt/gstreamer#

@RioChan
Copy link
Author

RioChan commented Feb 7, 2022

This is the full - Fail Logs, Sir

[2378/6942] Compiling C++ object subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o
FAILED: subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o
ccache c++ -Isubprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p -Isubprojects/gst-plugins-good/ext/qt -I../subprojects/gst-plugins-good/ext/qt -Isubprojects/gst-plugins-good -I../subprojects/gst-plugins-good -I../subprojects/gst-plugins-good/gst-libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/orc -I../subprojects/orc -Isubprojects/gl-headers/abyss -I../subprojects/gl-headers/abyss -Isubprojects/gl-headers/wglext -I../subprojects/gl-headers/wglext -Isubprojects/gstreamer/gst -Isubprojects/gst-plugins-base/gst-libs/gst/video -Isubprojects/gst-plugins-base/gst-libs/gst/gl -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libdrm -I/root/anaconda3/include/qt -I/root/anaconda3/include/qt/QtCore -I/root/anaconda3/include/qt/QtGui -I/root/anaconda3/include/qt/QtQml -I/root/anaconda3/include/qt/QtQuick -I/root/anaconda3/include/qt/QtX11Extras -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O2 -g -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla -Wpointer-arith -fPIC -DQT_X11EXTRAS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_QUICK_LIB -pthread -DHAVE_CONFIG_H -DHAVE_QT_QPA_HEADER '-DQT_QPA_HEADER=<5.6.2/QtGui/qpa/qplatformnativeinterface.h>' -DHAVE_QT_X11 -DHAVE_QT_EGLFS -MD -MQ subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o -MF subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o.d -o subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtglutility.cc.o -c ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc
In file included from ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc:25:0:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:33:27: error: ‘function’ in namespace ‘std’ does not name a template type
using Callable = std::function<void()>;
^~~~~~~~
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:33: error: expected ‘)’ before ‘c’
explicit RenderJob(Callable c) : _c(c) { }
^
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:40:5: error: ‘Callable’ does not name a type; did you mean ‘llabs’?
Callable _c;
^~~~~~~~
llabs
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h: In member function ‘virtual void RenderJob::run()’:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:37:18: error: ‘_c’ was not declared in this scope
void run() { _c(); }
^~
In file included from /root/anaconda3/include/qt/QtCore/qatomic.h:34:0,
from /root/anaconda3/include/qt/QtCore/qvariant.h:37,
from /root/anaconda3/include/qt/QtCore/QVariant:1,
from ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:27,
from ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc:25:
/root/anaconda3/include/qt/QtCore/qmetatype.h: In instantiation of ‘constexpr int qMetaTypeId() [with T = std::nullptr_t]’:
/root/anaconda3/include/qt/QtCore/qvariant.h:496:35: required from ‘QVariant qVariantFromValue(const T&) [with T = std::nullptr_t]’
/root/anaconda3/include/qt/QtCore/qvariant.h:350:31: required from ‘static QVariant QVariant::fromValue(const T&) [with T = std::nullptr_t]’
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc:358:39: required from here
/root/anaconda3/include/qt/QtCore/qglobal.h:724:47: error: static assertion failed: Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt's meta-object system
#define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message)
^
/root/anaconda3/include/qt/QtCore/qmetatype.h:1739:5: note: in expansion of macro ‘Q_STATIC_ASSERT_X’
Q_STATIC_ASSERT_X(QMetaTypeId2::Defined, "Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt's meta-object system");
^~~~~~~~~~~~~~~~~
In file included from /root/anaconda3/include/qt/QtCore/qvariant.h:40:0,
from /root/anaconda3/include/qt/QtCore/QVariant:1,
from ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:27,
from ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc:25:
/root/anaconda3/include/qt/QtCore/qmetatype.h: In instantiation of ‘static constexpr int QMetaTypeId2::qt_metatype_id() [with T = std::nullptr_t]’:
/root/anaconda3/include/qt/QtCore/qmetatype.h:1740:43: required from ‘constexpr int qMetaTypeId() [with T = std::nullptr_t]’
/root/anaconda3/include/qt/QtCore/qvariant.h:496:35: required from ‘QVariant qVariantFromValue(const T&) [with T = std::nullptr_t]’
/root/anaconda3/include/qt/QtCore/qvariant.h:350:31: required from ‘static QVariant QVariant::fromValue(const T&) [with T = std::nullptr_t]’
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.cc:358:39: required from here
/root/anaconda3/include/qt/QtCore/qmetatype.h:1598:96: error: ‘qt_metatype_id’ is not a member of ‘QMetaTypeIdstd::nullptr_t’
static inline Q_DECL_CONSTEXPR int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/root/anaconda3/include/qt/QtCore/qmetatype.h:1598:100: error: body of constexpr function ‘static constexpr int QMetaTypeId2::qt_metatype_id() [with T = std::nullptr_t]’ not a return-statement
static inline Q_DECL_CONSTEXPR int qt_metatype_id() { return QMetaTypeId::qt_metatype_id(); }
^
[2381/6942] Compiling C++ object subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o
FAILED: subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o
ccache c++ -Isubprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p -Isubprojects/gst-plugins-good/ext/qt -I../subprojects/gst-plugins-good/ext/qt -Isubprojects/gst-plugins-good -I../subprojects/gst-plugins-good -I../subprojects/gst-plugins-good/gst-libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/orc -I../subprojects/orc -Isubprojects/gl-headers/abyss -I../subprojects/gl-headers/abyss -Isubprojects/gl-headers/wglext -I../subprojects/gl-headers/wglext -Isubprojects/gstreamer/gst -Isubprojects/gst-plugins-base/gst-libs/gst/video -Isubprojects/gst-plugins-base/gst-libs/gst/gl -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libdrm -I/root/anaconda3/include/qt -I/root/anaconda3/include/qt/QtCore -I/root/anaconda3/include/qt/QtGui -I/root/anaconda3/include/qt/QtQml -I/root/anaconda3/include/qt/QtQuick -I/root/anaconda3/include/qt/QtX11Extras -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -O2 -g -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla -Wpointer-arith -fPIC -DQT_X11EXTRAS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_QUICK_LIB -pthread -DHAVE_CONFIG_H -DHAVE_QT_QPA_HEADER '-DQT_QPA_HEADER=<5.6.2/QtGui/qpa/qplatformnativeinterface.h>' -DHAVE_QT_X11 -DHAVE_QT_EGLFS -MD -MQ subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o -MF subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o.d -o subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtoverlay.cc.o -c ../subprojects/gst-plugins-good/ext/qt/gstqtoverlay.cc
In file included from ../subprojects/gst-plugins-good/ext/qt/gstqtoverlay.cc:85:0:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:33:27: error: ‘function’ in namespace ‘std’ does not name a template type
using Callable = std::function<void()>;
^~~~~~~~
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:33: error: expected ‘)’ before ‘c’
explicit RenderJob(Callable c) : _c(c) { }
^
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:40:5: error: ‘Callable’ does not name a type; did you mean ‘glEnable’?
Callable _c;
^~~~~~~~
glEnable
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h: In member function ‘virtual void RenderJob::run()’:
../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:37:18: error: ‘_c’ was not declared in this scope
void run() { _c(); }
^~
[2383/6942] Compiling C++ object subprojects/gst-plugins-good/ext/qt/libgstqmlgl.so.p/gstqtsrc.cc.o
ninja: build stopped: subcommand failed.
root@ubuntu-vm:/opt/gstreamer#

@RioChan
Copy link
Author

RioChan commented Feb 7, 2022

I tried to build the subprojects/gst-plugins-good, it shows me this error.
Do I need to fix this first?
But I don't know how to fix it :(.

Found pkg-config: /usr/bin/pkg-config (0.29.1)
Dependency gstreamer-1.0 found: NO found 1.14.2 but need: '>= 1.20.0'
Found CMake: /usr/local/bin/cmake (3.16.5)
Run-time dependency gstreamer-1.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gstreamer-1.0

meson.build:255:0: ERROR: Neither a subproject directory nor a gstreamer.wrap file was found.

A full log can be found at /opt/gstreamer/subprojects/gst-plugins-good/build/meson-logs/meson-log.txt

@edersondisouza
Copy link
Collaborator

Hi,

May you teach me why there are difference between them?

Not sure, as the github one should be a mirror of the gitlab one. Anyway, gitlab is the official one for gstreamer.

About the compilation errors, I'd guess it's about the compiler version you're using. Nevertheless, if you are not using those parts of gstreamer (Qt from the failing logs), you could do something like meson -Dgst-plugins-good:qt5=disabled so not to build Qt support. You can find more information on how to enable/disable parts of gstreamer build here: https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md

Finally, I don't think you're supposed to go inside the subproject directory to build only it - refer to the link above for more details on how to build gstreamer.

@RioChan
Copy link
Author

RioChan commented Feb 23, 2022

Hi Ederson:

Sorry for replying late.
I have tested some ubuntu versions with Gstreamer.
Only the ubuntu 22.04 can make it compiled finished and the UI screen of the ubuntu won't be black.

Now, I'm going to test the Gstreamer.
I confirm my gstreamer has the "videotestsrc".
But, testing it will show me the "no element of the videotestsrc".
May you guide me how to solve this?

I have read almost > 50 articles by google.
None of them fixes my issue. :(.

BR Rio

@edersondisouza
Copy link
Collaborator

It seems that you are having problems with gstreamer itself, not the avtp plugin. Maybe try asking on gstreamer forums, mailing list, IRC?

@KilledByBugs
Copy link

You definitely need to build gstreamer. Are you building it? If so, can you share the log from gstreamer build, please?

Hi guys,

I hope you have solved the problems. Can you give me a hand? I find the same problem after building the libavtp. My system is Ubuntu 20.04. I have installed GStreamer by using the command:
$ sudo apt-get install gcc build-essential libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools \ gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-qt5 gstreamer1.0-pulseaudio
Then, I downloaded the libavtp from https://github.com/AVnu/libavtp, and built it successfully. However, I also get the message "No such element or plugin 'avtp'" when I try "gst-inspect-1.0 avtp".

@edersondisouza
Copy link
Collaborator

Hi @KilledByBugs,

You need to rebuild gstreamer so that it can find libavtp during build time - if it was built without support for it, just getting libavtp after won't help.

@KilledByBugs
Copy link

Hi @KilledByBugs,

You need to rebuild gstreamer so that it can find libavtp during build time - if it was built without support for it, just getting libavtp after won't help.

Hi Ederson,

Thank you so much for your reply.
I am going to uninstall my GStreamer now. Do you think the AVTP plugin will work if I re-install GStreamer using apt? Do I have to build GStreamer from source code using meson and ninja?

@edersondisouza
Copy link
Collaborator

You need to build it from source - shouldn't be hard, though.

@KilledByBugs
Copy link

You need to build it from source - shouldn't be hard, though.
The AVTP plugin doesn't work after a build of GStreamer. It's not that easy for me to build GStreamer from the source. I need to install a lot of dependencies. Also, my Ubuntu crashed when I uninstalled libgstreamer to re-installing GStreamer last time.😂
I am going to try AVTP plugin in Ubuntu 22.04 now.
Thank you anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants