Hello,
I'm trying to run avtp plugin as follows. I would like to use interface "enp8s0", but no success with following error. Would someone please help on this ? $ ninja -C build devenv $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink Setting pipeline to PAUSED ... 0:00:00.029821666 26687 0x56526bbeca10 ERROR avtpsrc gstavtpsrc.c:213:gst_avtp_src_start:<avtpsrc0> Failed to open socket: Operation not permitted ERROR: from element /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. Additional debug info: ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3557): gst_base_src_start (): /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: Failed to start ERROR: pipeline doesn't want to preroll. Failed to set pipeline to PAUSED. Setting pipeline to NULL ... Freeing pipeline ... $sudo gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink WARNING: erroneous pipeline: no element "avtpsrc" John _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
On Thu, 2020-07-16 at 10:56 -0400, John Rama wrote: > Hello, > > I'm trying to run avtp plugin as follows. > I would like to use interface "enp8s0", but no success with following error. > Would someone please help on this ? > > $ ninja -C build devenv > > $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > Setting pipeline to PAUSED ... > 0:00:00.029821666 26687 0x56526bbeca10 ERROR avtpsrc gstavtpsrc.c:213:gst_avtp_src_start:<avtpsrc0> Failed to open socket: Operation not permitted The avtpsrc and avtpsink elements need CAP_NET_RAW/CAP_NET_ADMIN to work, so the application will need to have that. If you are just testing with gst-launch, you could do: sudo setcap cap_net_admin,cap_net_raw+ep <path_to_gst_launch> > ERROR: from element /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. > Additional debug info: > ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3557): gst_base_src_start (): /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: > Failed to start > ERROR: pipeline doesn't want to preroll. > Failed to set pipeline to PAUSED. > Setting pipeline to NULL ... > Freeing pipeline ... > > $sudo gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > WARNING: erroneous pipeline: no element "avtpsrc" "sudo" clears up some environment variables set by the "devenv" target - try using "sudo -E", if using 'sudo'. Also, as you are interested in the avtp plugin, I'll take the liberty to share this link: https://tsn.readthedocs.io/avb.html#system-setup It may contain some useful information on how to test it, in case you need. Note however that the build instructions are a bit outdated, as they are from before we got everything working with gst-build. But you are past this part already =D Cheers! > > John > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by John Rama
According to this documentation,
https://gstreamer.freedesktop.org/documentation/avtp/index.html?gi-language=c It seems that we need to add capability "cap_net_raw+ep" to gst-launch-1.0. $ sudo setcap cap_net_raw+ep /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 Then I got the following error. ------------------------------------------------------------------------------------------------------------ $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/libgstlibav.so':/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/libgstdebugutilsbad.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request gst-launch-1.0: symbol lookup error: gst-launch-1.0: undefined symbol: gst_printerr ------------------------------------------------------------------------------------------------------------ Any comment are welcome. Thanks for the help !! John On 2020/07/16 10:56, John Rama wrote: > Hello, > > I'm trying to run avtp plugin as follows. > I would like to use interface "enp8s0", but no success with following error. > Would someone please help on this ? > > $ ninja -C build devenv > > $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > Setting pipeline to PAUSED ... > 0:00:00.029821666 26687 0x56526bbeca10 ERROR avtpsrc gstavtpsrc.c:213:gst_avtp_src_start:<avtpsrc0> Failed to open socket: Operation not permitted > ERROR: from element /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. > Additional debug info: > ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3557): gst_base_src_start (): /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: > Failed to start > ERROR: pipeline doesn't want to preroll. > Failed to set pipeline to PAUSED. > Setting pipeline to NULL ... > Freeing pipeline ... > > $sudo gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > WARNING: erroneous pipeline: no element "avtpsrc" > > John > _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Thu, 2020-07-16 at 12:09 -0400, John Rama wrote:
> According to this documentation, > https://gstreamer.freedesktop.org/documentation/avtp/index.html?gi-language=c > It seems that we need to add capability "cap_net_raw+ep" to gst-launch-1.0. > > $ sudo setcap cap_net_raw+ep /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 > > Then I got the following error. > ------------------------------------------------------------------------------------------------------------ > $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/libgstlibav.so':/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/libgstdebugutilsbad.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request This looks like something is messed up on your environment - please ensure that all subprojects are updated, try building from a clean environment, etc. > gst-launch-1.0: symbol lookup error: gst-launch-1.0: undefined symbol: gst_printerr > ------------------------------------------------------------------------------------------------------------ > > Any comment are welcome. Thanks for the help !! > > John > > > On 2020/07/16 10:56, John Rama wrote: > > Hello, > > > > I'm trying to run avtp plugin as follows. > > I would like to use interface "enp8s0", but no success with following error. > > Would someone please help on this ? > > > > $ ninja -C build devenv > > > > $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > > Setting pipeline to PAUSED ... > > 0:00:00.029821666 26687 0x56526bbeca10 ERROR avtpsrc gstavtpsrc.c:213:gst_avtp_src_start:<avtpsrc0> Failed to open socket: Operation not permitted > > ERROR: from element /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. > > Additional debug info: > > ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3557): gst_base_src_start (): /GstPipeline:pipeline0/GstAvtpSrc:avtpsrc0: > > Failed to start > > ERROR: pipeline doesn't want to preroll. > > Failed to set pipeline to PAUSED. > > Setting pipeline to NULL ... > > Freeing pipeline ... > > > > $sudo gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > > WARNING: erroneous pipeline: no element "avtpsrc" > > > > John > > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hello Desounza,
Thanks for your input. >> ------------------------------------------------------------------------------------------------------------ >> $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink >> >> (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request >> >> (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request >> >> (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/libgstlibav.so':/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request >> >> (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/libgstdebugutilsbad.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > This looks like something is messed up on your environment - please > ensure that all subprojects are updated, try building from a clean > environment, etc. > I confirmed before setcap, following pipleline works. $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink Then if I do setcap, the same pipeline does not work. $sudo setcap cap_net_raw+ep /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink ... gst-launch-1.0: symbol lookup error: gst-launch-1.0: undefined symbol: gst_printerr $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink Then if I do remove the capability, it work again. $sudo setcap -r /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink So, setcap definitely affect this problem. After investigating more, it turned out this is because of linker behavior. https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7157699 > When one is raising the privileges of an executable, the runtime loader (rtld), > better know as ld.so will not link with libraries in untrusted paths. > This is the way the ld.so(1) has been designed. If one needs to run such an > executable, then you have to add that path to the trusted paths of ld.so After adding the path of libgstreamer-1.0.so.0 to linker, it works. $cat /etc/ld.so.conf.d/gst-test.conf /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/gst/ $sudo ldconfig (In my environment, I need to do this, even LD_LIBRARY_PATH is already set to the correct path to use gstreamer plugins by "ninja -C build devenv".) ====================================================================== So, after fixing this problem, the pipeline has no error. But I have another problem.... But, fakesink does not receive no data... $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' avdec_h264 '!' videoconvert '!' fakesink dump=true Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ... Followings returns some data.. $gst-launch-1.0 avtpsrc ifname=enp8s0 '! fakesink dump=true Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock 00000000 (0x7f3338003c90): 03 88 83 00 01 23 45 67 89 ab cd ef 00 00 00 00 .....#Eg........ 00000010 (0x7f3338003ca0): 02 01 00 00 01 7b 20 00 16 17 89 67 5c 81 9a 6e .....{ ....g\..n 00000020 (0x7f3338003cb0): 93 c2 1e 4c a6 04 ff 01 89 c8 c3 dd 80 10 11 8d ...L............ But Followings does not return no data... $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Can you think of any reason why ? (I have already confirmed that my PC enp8s0 is receiving the CVF stream with VLAN ID 2 (PCP=3). Do we need to do something to receive the stream with VLAN ?) ====================================================================== Another question is This document describes I need to put -k ptp option to gst-launch-1.0. https://gstreamer.freedesktop.org/documentation/avtp/index.html?gi-language=c But gst-launch-1.0 does not recognize "-k" option. $ gst-launch-1.0 -k ptp avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true Error initializing: Unknown option -k $gst-launch-1.0 --version gst-launch-1.0 version 1.17.2 GStreamer 1.17.2 (GIT) Thanks for your help !! John _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Thu, 2020-07-16 at 15:33 -0400, John Rama wrote:
> Hello Desounza, > > Thanks for your input. > > > > ------------------------------------------------------------------------------------------------------------ > > > $gst-launch-1.0 avtpsrc ifname=enp8s0 ! avtpcvfdepay ! avdec_h264 ! fakevideosink > > > > > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > > > > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/libgstavtp.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/ext/avtp/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > > > > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/libgstlibav.so':/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-libav/ext/libav/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > > > > > (gst-launch-1.0:8639): GStreamer-WARNING **: Failed to load plugin '/home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/libgstdebugutilsbad.so': /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gst-plugins-bad/gst/debugutils/../../../gstreamer/libs/gst/base/libgstbase-1.0.so.0: undefined symbol: gst_message_new_instant_rate_request > > > > This looks like something is messed up on your environment - please > > ensure that all subprojects are updated, try building from a clean > > environment, etc. > > > > I confirmed before setcap, following pipleline works. > $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink > > Then if I do setcap, the same pipeline does not work. > $sudo setcap cap_net_raw+ep /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 > $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink > ... > gst-launch-1.0: symbol lookup error: gst-launch-1.0: undefined symbol: gst_printerr > > $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink > > Then if I do remove the capability, it work again. > $sudo setcap -r /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/tools/gst-launch-1.0 > $gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink > > So, setcap definitely affect this problem. > > > After investigating more, it turned out this is because of linker behavior. > > https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7157699 > > > When one is raising the privileges of an executable, the runtime loader (rtld), > > better know as ld.so will not link with libraries in untrusted paths. > > This is the way the ld.so(1) has been designed. If one needs to run such an > > executable, then you have to add that path to the trusted paths of ld.so > > After adding the path of libgstreamer-1.0.so.0 to linker, it works. > $cat /etc/ld.so.conf.d/gst-test.conf > /home/makoto/Work/src/gstreamer/gst-build-master/build/subprojects/gstreamer/gst/ > $sudo ldconfig Yeah, ld is picky with capabilities and non-default paths, sorry not having noticed that... > > (In my environment, I need to do this, even LD_LIBRARY_PATH is already set to the > correct path to use gstreamer plugins by "ninja -C build devenv".) > > ====================================================================== > > So, after fixing this problem, the pipeline has no error. > But I have another problem.... > But, fakesink does not receive no data... > > $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' avdec_h264 '!' videoconvert '!' fakesink dump=true > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > ... > > Followings returns some data.. > $gst-launch-1.0 avtpsrc ifname=enp8s0 '! fakesink dump=true > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > 00000000 (0x7f3338003c90): 03 88 83 00 01 23 45 67 89 ab cd ef 00 00 00 00 .....#Eg........ > 00000010 (0x7f3338003ca0): 02 01 00 00 01 7b 20 00 16 17 89 67 5c 81 9a 6e .....{ ....g\..n > 00000020 (0x7f3338003cb0): 93 c2 1e 4c a6 04 ff 01 89 c8 c3 dd 80 10 11 8d ...L............ > > But Followings does not return no data... > $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > Can you think of any reason why ? AVTP streams have a streamid - have you tried using: ... ! avtpcvfdepay streamid=<stream-id> ! ... Also note that you can get debug information from the avtp plugin with: GST_DEBUG=avtp*:<debug-level> gst-launch-1.0 So you can check what the plugin is doing. > > (I have already confirmed that my PC enp8s0 is receiving the CVF stream with VLAN ID 2 (PCP=3). > Do we need to do something to receive the stream with VLAN ?) > > ====================================================================== > > Another question is > > This document describes I need to put -k ptp option to gst-launch-1.0. > https://gstreamer.freedesktop.org/documentation/avtp/index.html?gi-language=c Ouch, that's "hypothetical" =D In the end, a way to set the pipeline clock when testing with gst-launch is to use debugutilsbad "clockselect" element: gst-launch-1.0 clockselect. \( clock-id=<clockid> <your pipieline here> \) You can use "gst-inspect-1.0 clockselect" for more information on that element. I'll try to update that documentation. Thank you for the heads up. > > But gst-launch-1.0 does not recognize "-k" option. > $ gst-launch-1.0 -k ptp avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true > Error initializing: Unknown option -k > > $gst-launch-1.0 --version > gst-launch-1.0 version 1.17.2 > GStreamer 1.17.2 (GIT) > > Thanks for your help !! > > John > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Desouza, Ederson
Hello Desounza,
Thanks again for your help on this. > >> But Followings does not return no data... >> $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true >> Setting pipeline to PAUSED ... >> Pipeline is live and does not need PREROLL ... >> Pipeline is PREROLLED ... >> Setting pipeline to PLAYING ... >> New clock: GstSystemClock >> >> Can you think of any reason why ? > > AVTP streams have a streamid - have you tried using: > > ... ! avtpcvfdepay streamid=<stream-id> ! ... > > Also note that you can get debug information from the avtp plugin with: > > GST_DEBUG=avtp*:<debug-level> gst-launch-1.0 > > So you can check what the plugin is doing. I put streamid and destination mac address, but I still have no success ( I can not see fakesink receives the data)... According to the log (I attached whole log), avtpcvfdepay surely receive CVF stream, but does not pass them to the fakesink... Any idea ?? ===================================================== + GST_DEBUG='avtp*:7' + gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' 0:00:00.021076523 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 1 0:00:00.021102046 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 2 0:00:00.021151987 3505 0x5566083a1c00 DEBUG avtpbasedepayload gstavtpbasedepayload.c:142:gst_avtp_base_depayload_set_property:<avtpcvfdepay0> prop_id 1 Setting pipeline to PAUSED ... 0:00:00.043151942 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:248:gst_avtp_src_start:<avtpsrc0> AVTP source started Pipeline is live and does not need PREROLL ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... 0:00:00.043562029 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event stream-start New clock: DebugGstSystemClock 0:00:00.043681756 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event caps 0:00:00.069131412 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event segment 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 0:00:00.069178877 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 0:00:00.069188523 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 1 end: 0 0:00:00.069293505 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 0:00:00.069307743 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 0 ... 0:00:00.084477094 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 0:00:00.084485950 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 1 0:00:00.084499930 3505 0x5566083a1850 LOG avtpcvfdepay gstavtpcvfdepay.c:452:gst_avtp_cvf_depay_internal_push:<avtpcvfdepay0> Adding buffer of size 45829 (nalu size 45825) to out_buffer ... ===================================================== P.S You might wonder what's this in the log.... >0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 This is because there is another AVTP message(AVDECC ADC) in the network. I do not think this is the problem. But please let me know if this is the problem.. Thanks !! John _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel tmp2.log.gz (117K) Download Attachment |
On Thu, 2020-07-16 at 17:58 -0400, John Rama wrote:
> Hello Desounza, > > Thanks again for your help on this. > > > > But Followings does not return no data... > > > $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true > > > Setting pipeline to PAUSED ... > > > Pipeline is live and does not need PREROLL ... > > > Pipeline is PREROLLED ... > > > Setting pipeline to PLAYING ... > > > New clock: GstSystemClock > > > > > > Can you think of any reason why ? > > > > AVTP streams have a streamid - have you tried using: > > > > ... ! avtpcvfdepay streamid=<stream-id> ! ... > > > > Also note that you can get debug information from the avtp plugin with: > > > > GST_DEBUG=avtp*:<debug-level> gst-launch-1.0 > > > > So you can check what the plugin is doing. > > gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' > > I put streamid and destination mac address, but I still have no success ( I can not see fakesink receives the data)... > According to the log (I attached whole log), avtpcvfdepay surely receive CVF stream, but does not pass them to the fakesink... > Any idea ?? From the log, it appears that no avtp packet arrives with M bit set, so avtpcvfdepay keeps just accumulating nal units. Can you ensure that what is generating the stream is properly setting the M bit on the last access unit ("packet of a frame")? Wireshark can be of help here. > > ===================================================== > > + GST_DEBUG='avtp*:7' > + gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' > 0:00:00.021076523 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 1 > 0:00:00.021102046 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 2 > 0:00:00.021151987 3505 0x5566083a1c00 DEBUG avtpbasedepayload gstavtpbasedepayload.c:142:gst_avtp_base_depayload_set_property:<avtpcvfdepay0> prop_id 1 > Setting pipeline to PAUSED ... > 0:00:00.043151942 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:248:gst_avtp_src_start:<avtpsrc0> AVTP source started > Pipeline is live and does not need PREROLL ... > Pipeline is PREROLLED ... > Setting pipeline to PLAYING ... > 0:00:00.043562029 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event stream-start > New clock: DebugGstSystemClock > 0:00:00.043681756 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event caps > 0:00:00.069131412 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event segment > 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 > 0:00:00.069178877 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > 0:00:00.069188523 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 1 end: 0 > 0:00:00.069293505 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > 0:00:00.069307743 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 0 > ... > 0:00:00.084477094 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > 0:00:00.084485950 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 1 > 0:00:00.084499930 3505 0x5566083a1850 LOG avtpcvfdepay gstavtpcvfdepay.c:452:gst_avtp_cvf_depay_internal_push:<avtpcvfdepay0> Adding buffer of size 45829 (nalu size 45825) to out_buffer > ... > ===================================================== > > P.S > You might wonder what's this in the log.... > > 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 > This is because there is another AVTP message(AVDECC ADC) in the network. > I do not think this is the problem. > But please let me know if this is the problem.. It is not, you can see them being safely discarded with "Unexpected AVTP header subtype 250, expected 3" message. Cheers! > > Thanks !! > > John > _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks Desouza
> From the log, it appears that no avtp packet arrives with M bit set, so > avtpcvfdepay keeps just accumulating nal units. > Can you ensure that what is generating the stream is properly setting > the M bit on the last access unit ("packet of a frame")? Wireshark can > be of help here. > Confirmed the cvf stream generated by talker has no "M bit" set at all. So, this is a reason. thank you so much for your help for me to reach this conclusion !! Now question is does talker really need to set M bit ? IEEE1722 section "8.5.2.4 M field" says > The M field shall be set according to RFC6184, Section 5.1. And RFC6184, Section 5.1 says https://tools.ietf.org/html/rfc6184 >Marker bit (M): 1 bit >Set for the very last packet of the access unit indicated by the >RTP timestamp, in line with the normal use of the M bit in video >formats, to allow an efficient playout buffer handling. > Decoders MAY use this bit as > an early indication of the last packet of an access unit but MUST > NOT rely on this property. So this implies that it would be great if we can add the feature to the CVF plugin to support the stream without M bit field set. I can not say which AVB talker I'm using to generate the CVF stream, but at least there is such AVB stack in the market. John On 2020/07/16 18:32, Desouza, Ederson wrote: > On Thu, 2020-07-16 at 17:58 -0400, John Rama wrote: >> Hello Desounza, >> >> Thanks again for your help on this. >> >>>> But Followings does not return no data... >>>> $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true >>>> Setting pipeline to PAUSED ... >>>> Pipeline is live and does not need PREROLL ... >>>> Pipeline is PREROLLED ... >>>> Setting pipeline to PLAYING ... >>>> New clock: GstSystemClock >>>> >>>> Can you think of any reason why ? >>> >>> AVTP streams have a streamid - have you tried using: >>> >>> ... ! avtpcvfdepay streamid=<stream-id> ! ... >>> >>> Also note that you can get debug information from the avtp plugin with: >>> >>> GST_DEBUG=avtp*:<debug-level> gst-launch-1.0 >>> >>> So you can check what the plugin is doing. >> >> gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' >> >> I put streamid and destination mac address, but I still have no success ( I can not see fakesink receives the data)... >> According to the log (I attached whole log), avtpcvfdepay surely receive CVF stream, but does not pass them to the fakesink... >> Any idea ?? > > From the log, it appears that no avtp packet arrives with M bit set, so > avtpcvfdepay keeps just accumulating nal units. > Can you ensure that what is generating the stream is properly setting > the M bit on the last access unit ("packet of a frame")? Wireshark can > be of help here. > >> >> ===================================================== >> >> + GST_DEBUG='avtp*:7' >> + gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' >> 0:00:00.021076523 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 1 >> 0:00:00.021102046 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 2 >> 0:00:00.021151987 3505 0x5566083a1c00 DEBUG avtpbasedepayload gstavtpbasedepayload.c:142:gst_avtp_base_depayload_set_property:<avtpcvfdepay0> prop_id 1 >> Setting pipeline to PAUSED ... >> 0:00:00.043151942 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:248:gst_avtp_src_start:<avtpsrc0> AVTP source started >> Pipeline is live and does not need PREROLL ... >> Pipeline is PREROLLED ... >> Setting pipeline to PLAYING ... >> 0:00:00.043562029 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event stream-start >> New clock: DebugGstSystemClock >> 0:00:00.043681756 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event caps >> 0:00:00.069131412 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event segment >> 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 >> 0:00:00.069178877 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 >> 0:00:00.069188523 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 1 end: 0 >> 0:00:00.069293505 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 >> 0:00:00.069307743 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 0 >> ... >> 0:00:00.084477094 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 >> 0:00:00.084485950 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 1 >> 0:00:00.084499930 3505 0x5566083a1850 LOG avtpcvfdepay gstavtpcvfdepay.c:452:gst_avtp_cvf_depay_internal_push:<avtpcvfdepay0> Adding buffer of size 45829 (nalu size 45825) to out_buffer >> ... >> ===================================================== >> >> P.S >> You might wonder what's this in the log.... >>> 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 >> This is because there is another AVTP message(AVDECC ADC) in the network. >> I do not think this is the problem. >> But please let me know if this is the problem.. > > It is not, you can see them being safely discarded with > "Unexpected AVTP header subtype 250, expected 3" message. > > Cheers! > >> >> Thanks !! >> >> John >> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 2020-07-17 at 09:37 -0400, John Rama wrote:
> Thanks Desouza > > > From the log, it appears that no avtp packet arrives with M bit set, so > > avtpcvfdepay keeps just accumulating nal units. > > Can you ensure that what is generating the stream is properly setting > > the M bit on the last access unit ("packet of a frame")? Wireshark can > > be of help here. > > > > Confirmed the cvf stream generated by talker has no "M bit" set at all. > So, this is a reason. thank you so much for your help for me to reach this conclusion !! > > > Now question is does talker really need to set M bit ? Well, IEEE 1722-2016, Annex F (Protocol Implementation Conformance Statement), Table F.12, Item H.264-4 says that, *yes*, the talker really need to set the M bit... > > IEEE1722 section "8.5.2.4 M field" says > > The M field shall be set according to RFC6184, Section 5.1. > > And RFC6184, Section 5.1 says > https://tools.ietf.org/html/rfc6184 > > > Marker bit (M): 1 bit > > Set for the very last packet of the access unit indicated by the > > RTP timestamp, in line with the normal use of the M bit in video > > formats, to allow an efficient playout buffer handling. > > Decoders MAY use this bit as > > an early indication of the last packet of an access unit but MUST > > NOT rely on this property. > > So this implies that it would be great if we can add the feature to the CVF plugin > to support the stream without M bit field set. One source of inspiration here could be the gst-plugins-good/gstrtph264depay.c:gst_rtp_h264_depay_handle_nal() - it has some code to guess where M should be. Look for "marker". > > I can not say which AVB talker I'm using to generate the CVF stream, > but at least there is such AVB stack in the market. > > > John > > On 2020/07/16 18:32, Desouza, Ederson wrote: > > On Thu, 2020-07-16 at 17:58 -0400, John Rama wrote: > > > Hello Desounza, > > > > > > Thanks again for your help on this. > > > > > > > > But Followings does not return no data... > > > > > $gst-launch-1.0 avtpsrc ifname=enp8s0 '!' avtpcvfdepay '!' fakesink dump=true > > > > > Setting pipeline to PAUSED ... > > > > > Pipeline is live and does not need PREROLL ... > > > > > Pipeline is PREROLLED ... > > > > > Setting pipeline to PLAYING ... > > > > > New clock: GstSystemClock > > > > > > > > > > Can you think of any reason why ? > > > > > > > > AVTP streams have a streamid - have you tried using: > > > > > > > > ... ! avtpcvfdepay streamid=<stream-id> ! ... > > > > > > > > Also note that you can get debug information from the avtp plugin with: > > > > > > > > GST_DEBUG=avtp*:<debug-level> gst-launch-1.0 > > > > > > > > So you can check what the plugin is doing. > > > > > > gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' > > > > > > I put streamid and destination mac address, but I still have no success ( I can not see fakesink receives the data)... > > > According to the log (I attached whole log), avtpcvfdepay surely receive CVF stream, but does not pass them to the fakesink... > > > Any idea ?? > > > > From the log, it appears that no avtp packet arrives with M bit set, so > > avtpcvfdepay keeps just accumulating nal units. > > Can you ensure that what is generating the stream is properly setting > > the M bit on the last access unit ("packet of a frame")? Wireshark can > > be of help here. > > > > > ===================================================== > > > > > > + GST_DEBUG='avtp*:7' > > > + gst-launch-1.0 --gst-debug-color-mode=off clockselect. '(clock-id=realtime' avtpsrc ifname=enp8s0 address=91:EF:00:00:FE:00 '!' avtpcvfdepay streamid=0x0123456789abcdef '!' fakesink dump=true ')' > > > 0:00:00.021076523 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 1 > > > 0:00:00.021102046 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:156:gst_avtp_src_set_property:<avtpsrc0> prop_id 2 > > > 0:00:00.021151987 3505 0x5566083a1c00 DEBUG avtpbasedepayload gstavtpbasedepayload.c:142:gst_avtp_base_depayload_set_property:<avtpcvfdepay0> prop_id 1 > > > Setting pipeline to PAUSED ... > > > 0:00:00.043151942 3505 0x5566083a1c00 DEBUG avtpsrc gstavtpsrc.c:248:gst_avtp_src_start:<avtpsrc0> AVTP source started > > > Pipeline is live and does not need PREROLL ... > > > Pipeline is PREROLLED ... > > > Setting pipeline to PLAYING ... > > > 0:00:00.043562029 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event stream-start > > > New clock: DebugGstSystemClock > > > 0:00:00.043681756 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event caps > > > 0:00:00.069131412 3505 0x5566083a1850 DEBUG avtpbasedepayload gstavtpbasedepayload.c:178:gst_avtp_base_depayload_sink_event:<avtpcvfdepay0> event segment > > > 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 > > > 0:00:00.069178877 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > > > 0:00:00.069188523 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 1 end: 0 > > > 0:00:00.069293505 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > > > 0:00:00.069307743 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 0 > > > ... > > > 0:00:00.084477094 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:582:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment indicator - NRI: 2 > > > 0:00:00.084485950 3505 0x5566083a1850 DEBUG avtpcvfdepay gstavtpcvfdepay.c:590:gst_avtp_cvf_depay_handle_fu_a:<avtpcvfdepay0> Fragment header - type: 1 start: 0 end: 1 > > > 0:00:00.084499930 3505 0x5566083a1850 LOG avtpcvfdepay gstavtpcvfdepay.c:452:gst_avtp_cvf_depay_internal_push:<avtpcvfdepay0> Adding buffer of size 45829 (nalu size 45825) to out_buffer > > > ... > > > ===================================================== > > > > > > P.S > > > You might wonder what's this in the log.... > > > > 0:00:00.069168990 3505 0x5566083a1850 INFO avtpcvfdepay gstavtpcvfdepay.c:379:gst_avtp_cvf_depay_validate_avtpdu:<avtpcvfdepay0> Unexpected AVTP header seq num 166, expected 0 > > > This is because there is another AVTP message(AVDECC ADC) in the network. > > > I do not think this is the problem. > > > But please let me know if this is the problem.. > > > > It is not, you can see them being safely discarded with > > "Unexpected AVTP header subtype 250, expected 3" message. > > > > Cheers! > > > > > Thanks !! > > > > > > John > > > gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Desounza,
>> Now question is does talker really need to set M bit ? > > Well, IEEE 1722-2016, Annex F (Protocol Implementation Conformance > Statement), Table F.12, Item H.264-4 says that, *yes*, the talker > really need to set the M bit... > Oh, Yes. It's described so. I did not notice that. Thank you for pointing out. >> >> IEEE1722 section "8.5.2.4 M field" says >>> The M field shall be set according to RFC6184, Section 5.1. >> >> And RFC6184, Section 5.1 says >> https://tools.ietf.org/html/rfc6184 >> >>> Marker bit (M): 1 bit >>> Set for the very last packet of the access unit indicated by the >>> RTP timestamp, in line with the normal use of the M bit in video >>> formats, to allow an efficient playout buffer handling. >>> Decoders MAY use this bit as >>> an early indication of the last packet of an access unit but MUST >>> NOT rely on this property. >> >> So this implies that it would be great if we can add the feature to the CVF plugin >> to support the stream without M bit field set. > > One source of inspiration here could be the > gst-plugins-good/gstrtph264depay.c:gst_rtp_h264_depay_handle_nal() - it > has some code to guess where M should be. Look for "marker". Yes, I have already noticed this code, and seems not so hard to implement. I'll update this post if I could make some progress here. Anyway, thank you so much for your help !! Really appreciated. John _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |