How can make rtpmp4gpay work with udpsink?

Psychesnet Hsieh psychesnet at gmail.com
Wed Aug 5 01:36:15 UTC 2020


Hi all,

I'm planning to write a testing tool which can output RTP packet with
AAC-LC frame inside and out from UDP.
The server side, I expect the command like
*"gst-launch-1.0 udpsrc port=1234 !
application/x-rtp,media=audio,clock-rate=16000,encoding-name=MPEG4-GENERIC,mode=AAC-lbr
! rtpmp4gdepay ! aacparse ! avdec_aac ! autoaudiosink"*

The client side, my program is
*app->pipeline = gst_parse_launch("appsrc name=ringbuf ! aacparse !
rtpmp4gpay pt=97 ! udpsink host=192.168.143.101 port=1234", NULL);*

Question:
1. The server always return failure when receive packet? Why? How can I fix
it?















*0:00:04.060492843 65130 0x5571ecf301e0 INFO               GST_EVENT
gstevent.c:820:gst_event_new_caps: creating caps event audio/mpeg,
mpegversion=(int)4, stream-format=(string)raw0:00:04.060544955 65130
0x5571ecf301e0 ERROR               aacparse
gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0> Need codec_data
for raw AAC0:00:04.060604164 65130 0x5571ecf301e0 INFO
GST_EVENT gstevent.c:900:gst_event_new_segment: creating segment event time
segment start=0:00:00.000000000, offset=0:00:00.000000000,
stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00,
time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:03.993803726,
duration 99:99:99.9999999990:00:04.060683105 65130 0x5571ecf301e0 ERROR
          aacparse gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0>
Need codec_data for raw AAC0:00:04.060717219 65130 0x5571ecf301e0 ERROR
          aacparse gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0>
Need codec_data for raw AAC0:00:04.060768233 65130 0x5571ecf301e0 WARN
            basesrc gstbasesrc.c:3072:gst_base_src_loop:<udpsrc0> error:
Internal data stream error.0:00:04.060788144 65130 0x5571ecf301e0 WARN
            basesrc gstbasesrc.c:3072:gst_base_src_loop:<udpsrc0> error:
streaming stopped, reason not-negotiated (-4)0:00:04.060826233 65130
0x5571ecf301e0 INFO        GST_ERROR_SYSTEM
gstelement.c:2140:gst_element_message_full_with_details:<udpsrc0> posting
message: Internal data stream error.0:00:04.060920528 65130 0x5571ecf301e0
INFO        GST_ERROR_SYSTEM
gstelement.c:2167:gst_element_message_full_with_details:<udpsrc0> posted
error message: Internal data stream error.0:00:04.060970888 65130
0x5571ecf301e0 ERROR               aacparse
gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0> Need codec_data
for raw AAC0:00:04.061013514 65130 0x5571ecf301e0 ERROR
aacparse gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0> Need
codec_data for raw AAC0:00:04.061057431 65130 0x5571ecf301e0 ERROR
      aacparse gstaacparse.c:354:gst_aac_parse_sink_setcaps:<aacparse0>
Need codec_data for raw AACERROR: from element
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data stream
error.Additional debug info:gstbasesrc.c(3072): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:streaming stopped, reason
not-negotiated (-4)*

2. At client part, program will always be Segmentation fault after calling
stop feeding. How can I debug it?



*0:00:02.865150236  1601     0x1a229e00 INFO         appsrc-pipeline
ringbuf_appsrc_dummy_aac_rtp_udpsink.cpp:68:stop_feed: stop
feeding0:00:03.475274389  1601     0x1a229e00 INFO         appsrc-pipeline
ringbuf_appsrc_dummy_aac_rtp_udpsink.cpp:77:bus_message: got message
tag0:00:04.115481364  1601     0x1a229e00 INFO         appsrc-pipeline
ringbuf_appsrc_dummy_aac_rtp_udpsink.cpp:77:bus_message: got message
tagSegmentation fault*

Please help. If you want, I can upload my code. Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200805/bc971f36/attachment-0001.htm>


More information about the gstreamer-devel mailing list