GStreamer issues
https://gitlab.freedesktop.org/groups/gstreamer/-/issues
2023-10-13T15:22:43Z
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3042
splitmuxsink: not sure GAP events are handled correctly
2023-10-13T15:22:43Z
Bugzilla Migration User
splitmuxsink: not sure GAP events are handled correctly
## Submitted by Xavier Claessens `@xclaesse`
**[Link to original bug (#764648)](https://bugzilla.gnome.org/show_bug.cgi?id=764648)**
## Description
Reading that code, I find 2 things supsicious:
- GAP events are not catched in...
## Submitted by Xavier Claessens `@xclaesse`
**[Link to original bug (#764648)](https://bugzilla.gnome.org/show_bug.cgi?id=764648)**
## Description
Reading that code, I find 2 things supsicious:
- GAP events are not catched in handle_mq_input(), that means ctx->in_running_time won't be updated. In case of a long gap, that means it's going to queue other streams a lot because the stream with a gap won't be considered ready to let GOPs out. I think in_running_time should be set to gap's timestamp+duration, no?
- GAP's duration is not taken into account in handle_mq_output(). In the case of a long gap, that means out_running_time will stay in the past, and complete_or_wait_on_out() won't send EOS until we get the next buffer/gap on that stream which could freeze the pipeline for some time.
I'm not really sure how gap events works, so maybe I'm just wrong here.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3041
Screencast in GNOME - often results with artifacts
2023-10-12T21:21:23Z
darkblaze69
Screencast in GNOME - often results with artifacts
* Arch
* GNOME 45, Wayland session
* Intel Iris Xe iGPU
* gstreamer-vaapi 1.22.6-1
* gstreamer 1.22.6-1
Resulting video properties:
```
Writing application : GStreamer Matroska muxer
Writing library ...
* Arch
* GNOME 45, Wayland session
* Intel Iris Xe iGPU
* gstreamer-vaapi 1.22.6-1
* gstreamer 1.22.6-1
Resulting video properties:
```
Writing application : GStreamer Matroska muxer
Writing library : GStreamer matroskamux version 1.22.6
Format : VP8
```
Related issue in GNOME gitlab: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7039
![Screencast_from_2023-09-23_00-55-38](/uploads/b6858b2ed679ba8ac828baca21e68466/Screencast_from_2023-09-23_00-55-38.webm)
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3040
ximagesrc: Support changing resolution at runtime
2023-10-12T18:40:00Z
Bugzilla Migration User
ximagesrc: Support changing resolution at runtime
## Submitted by Snir Sheriber `@snir`
**[Link to original bug (#794761)](https://bugzilla.gnome.org/show_bug.cgi?id=794761)**
## Description
Changing resolution at runtime is not supported when using ximagesrc to create a screenshot...
## Submitted by Snir Sheriber `@snir`
**[Link to original bug (#794761)](https://bugzilla.gnome.org/show_bug.cgi?id=794761)**
## Description
Changing resolution at runtime is not supported when using ximagesrc to create a screenshot video stream.
Is it possible to workaround this issue by using additional\alternative plugin?
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3039
v4l2: Add mapping for big-endian RGB565 (BGR16 in gst)
2023-10-12T16:58:10Z
Nicolas Dufresne
v4l2: Add mapping for big-endian RGB565 (BGR16 in gst)
Mauro Carvalho Chehab (maintainer of linux-media) ask me why vim2m test driver wasn't detected by GStreamer. So I looked it up, and found a first issue, might only be the tip of the issue, but has to happen to get this test driver runnin...
Mauro Carvalho Chehab (maintainer of linux-media) ask me why vim2m test driver wasn't detected by GStreamer. So I looked it up, and found a first issue, might only be the tip of the issue, but has to happen to get this test driver running. This driver only support one capture format, BGR16, which isn't mapped in the v4l2 glue.
Nicolas Dufresne
Nicolas Dufresne
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3037
v4l2src: queries framerate interval based on max frame size instead of curren...
2023-10-12T16:15:47Z
Marianna Smidth Buschle
v4l2src: queries framerate interval based on max frame size instead of current frame size
Our camera has a different max framerate depending on the current frame size.
Specially when having a reduced height we can increase the frame rate by a lot (HW limitations of how many lines we can read out).
However when gstreamer nego...
Our camera has a different max framerate depending on the current frame size.
Specially when having a reduced height we can increase the frame rate by a lot (HW limitations of how many lines we can read out).
However when gstreamer negotiates the CAPS it seems to be using always the max frame size instead of the current one.
Which results in a max framerate much lower than what the driver actually supports.
Fx at 1024x1024 (max frame size) we can do 28.292 fps
```
root@qt5022:~# w=1024; h=1024; f=RGB3; v4l2-ctl -d /dev/qtec/video0 --list-framesizes ${f} --list-frameintervals width=${w},height=${h},pixelformat=${f}
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 4x4 - 1024x1024 with step 4/4
ioctl: VIDIOC_ENUM_FRAMEINTERVALS
Interval: Continuous 0.035s - 25.054s (0.040-28.292 fps)
```
And with 1024x100 we can do 280.867 fps
```
root@qt5022:~# w=1024; h=100; f=RGB3; v4l2-ctl -d /dev/qtec/video0 --list-framesizes ${f} --list-frameintervals width=${w},height=${h},pixelformat=${f}
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 4x4 - 1024x1024 with step 4/4
ioctl: VIDIOC_ENUM_FRAMEINTERVALS
Interval: Continuous 0.004s - 25.054s (0.040-280.867 fps)
```
However I get a non-negotiated error in gstreamer with fx 1024x100@100fps
```
gst-launch-1.0 v4l2src device=/dev/qtec/video0 ! video/x-raw, format=RGB, width=1024, height=100,framerate=100/1 ! fakesink --gst-debug=*:3
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.069: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:856): GStreamer-CRITICAL **: 08:25:35.070: gst_value_set_int_range_step: assertion 'end % step == 0' failed
0:00:00.106394533 856 0x562342804e80 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.106552830 856 0x562342804e80 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../gstreamer-1.18.2/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.005847859
Setting pipeline to NULL ...
Freeing pipeline ...
```
We can see in the driver that gstreamer is calling ENUM_FRAME_INTERVALS with the max frame width and height.
The problem seems to be in the `gst_pad_query_caps` which is using the max frame size instead of the required one: `video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ];`
```
0:00:00.110396542 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-bayer, format=(string)rggb, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)grbg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)gbrg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-bayer, format=(string)bggr, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate
```
Full log:
```
root@qt5022:~# gst-launch-1.0 v4l2src device=/dev/qtec/video0 ! video/x-raw, format=RGB, width=1024, height=100,framerate=100/1 ! fakesink --gst-debug=*:3,GST_CAPS:5
0:00:00.099739605 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<v4l2src0:src> get pad caps with filter (NULL)
0:00:00.100133227 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100191872 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:sink> get pad caps with filter (NULL)
0:00:00.100220618 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:src> get pad peer caps with filter (NULL)
0:00:00.100273223 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:sink> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100379971 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2277:gst_pad_link_check_compatible_unlocked:<v4l2src0:src> src caps image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100489294 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2279:gst_pad_link_check_compatible_unlocked:<capsfilter0:sink> sink caps video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100528731 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2297:gst_pad_link_check_compatible_unlocked: caps are compatible
0:00:00.100586896 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:src> get pad caps with filter (NULL)
0:00:00.100613496 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:sink> get pad peer caps with filter (NULL)
0:00:00.100724800 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:sink> peer query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.100800761 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:src> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.100825188 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.100853778 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.100889940 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<capsfilter0:src> get pad caps with filter (NULL)
0:00:00.100930137 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:sink> get pad peer caps with filter (NULL)
0:00:00.101042811 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:sink> peer query returned image/jpeg; video/mpeg, mpegversion=(int)4, systemstream=(boolean)false; video/mpeg, mpegversion=(int){ 1, 2 }; video/mpegts, systemstream=(boolean)true; video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb, bggr10p, gbrg10p, grbg10p, rggb10p }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, systemstream=(boolean)true; video/x-fwht; video/x-h263, variant=(string)itu; video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au; video/x-h265, stream-format=(string)byte-stream, alignment=(string)au; video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8; video/x-vp9; video/x-wmv, wmvversion=(int)3, format=(string)WVC1; video/x-raw(format:Interlaced), format=(string){ RGB16, BGR, ABGR, xBGR, RGBx, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, ARGB, xRGB, RGB, BGRA, BGRx, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)alternate
0:00:00.101109333 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<capsfilter0:src> query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.101132974 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<fakesink0:sink> get pad caps with filter (NULL)
0:00:00.101158685 837 0x5586d412ef20 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<fakesink0:sink> query returned ANY
0:00:00.101188597 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2277:gst_pad_link_check_compatible_unlocked:<capsfilter0:src> src caps video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.101209264 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2279:gst_pad_link_check_compatible_unlocked:<fakesink0:sink> sink caps ANY
0:00:00.101228279 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2297:gst_pad_link_check_compatible_unlocked: caps are compatible
Setting pipeline to PAUSED ...
0:00:00.103783701 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2732:gst_pad_get_current_caps:<capsfilter0:sink> get current pad caps (NULL)
0:00:00.103842409 837 0x5586d412ef20 DEBUG GST_CAPS gstpad.c:2732:gst_pad_get_current_caps:<capsfilter0:src> get current pad caps (NULL)
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.105903147 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3102:gst_pad_query_caps:<v4l2src0:src> get pad caps with filter (NULL)
(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.295: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.295: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.296: gst_value_set_int_range_step: assertion 'end % step == 0' failed
(gst-launch-1.0:837): GStreamer-CRITICAL **: 08:23:24.296: gst_value_set_int_range_step: assertion 'end % step == 0' failed
0:00:00.110396542 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3109:gst_pad_query_caps:<v4l2src0:src> query returned video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)YUY2, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)UYVY, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGRx, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)xRGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)BGR, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)RGB, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-bayer, format=(string)rggb, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)grbg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176257 ]; video/x-bayer, format=(string)gbrg, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-bayer, format=(string)bggr, width=(int)[ 20, 2040, 20 ], height=(int)[ 20, 2040, 20 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 2500000/176429 ]; video/x-raw, format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY8, IsQtecGreen=(boolean)true, width=(int)[ 4, 2048, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_BE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate; video/x-raw, format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ]; video/x-raw(format:Interlaced), format=(string)GRAY16_LE, width=(int)[ 4, 1024, 4 ], height=(int)[ 4, 1024, 4 ], pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)[ 85714285/2147483647, 500000/17673 ], interlace-mode=(string)alternate
0:00:00.110724900 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<v4l2src0:src> get pad peer caps with filter (NULL)
0:00:00.110819699 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3148:gst_pad_peer_query_caps:<capsfilter0:src> get pad peer caps with filter (NULL)
0:00:00.110988202 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<capsfilter0:src> peer query returned ANY
0:00:00.111132349 837 0x5586d40c3a80 DEBUG GST_CAPS gstutils.c:3155:gst_pad_peer_query_caps:<v4l2src0:src> peer query returned video/x-raw, format=(string)RGB, width=(int)1024, height=(int)100, framerate=(fraction)100/1
0:00:00.111327476 837 0x5586d40c3a80 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.111403836 837 0x5586d40c3a80 WARN basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../gstreamer-1.18.2/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.007282927
Setting pipeline to NULL ...
Freeing pipeline ...
```
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3034
x264enc: consider disabling 'aud' property by default
2023-10-16T07:44:20Z
Guillaume Desmottes
x264enc: consider disabling 'aud' property by default
See the `x264enc aud` property:
```
aud : Use AU (Access Unit) delimiter
flags: readable, writable
Boolean. Default: true
```
It's been enabled by default since the prop...
See the `x264enc aud` property:
```
aud : Use AU (Access Unit) delimiter
flags: readable, writable
Boolean. Default: true
```
It's been enabled by default since the property has been introduced (8a1414694db88c27edab17ea5a0f10e5d500d207) but it's actually [disabled by default in x264](https://code.videolan.org/videolan/x264/-/blob/master/common/base.c?ref_type=heads#L473) and `ffmpeg`.
We just found it that enabling this property cause issues when trying to play the video from a HLS stream on iPhone. Either it does not play or stutter a lot.
Would changing this be an option or should we tag this for a future breaking change?
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3031
v4l2videodec: AV unsync for streams with many frames that cannot be decoded
2023-10-16T07:15:56Z
Qi Hou
v4l2videodec: AV unsync for streams with many frames that cannot be decoded
### Describe your issue
AV unsync:
When playing streams with lots of frames decoded with V4L2_BUF_FLAG_ERROR, CAPTURE buffers' timestamps may be smaller than real pts. It seems like video play faster than audio.
Currently, v4l2videode...
### Describe your issue
AV unsync:
When playing streams with lots of frames decoded with V4L2_BUF_FLAG_ERROR, CAPTURE buffers' timestamps may be smaller than real pts. It seems like video play faster than audio.
Currently, v4l2videodec drops frames only when system_frame_number is too old (absdiff > 100). If some frames cannot be decoded and dequeued buffer has flag V4L2_BUF_FLAG_ERROR, these frames' timestamps still participate in sorting.
However in fact, these frames' timestamp should be dropped immediately and not involved in sorting.
#### Setup
- **Operating System:** Linux imx8mqevk
- **Device:** imx8mqevk
- **GStreamer Version:** 1.22.5
@nicolas, do you have any opinion on this ?
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3026
amc: no key frames with VP8 encoder
2023-10-10T11:34:09Z
Roman Shpuntov
amc: no key frames with VP8 encoder
I use gstreamer 1.22.6 on Android devices. I have the next pipeline:
```
appsrc -> rawvideoparse -> videoconvertscale -> amcvidenc-omxexynosvp8encoder -> appsink
```
VP8 does not produce key frames, only delta units `GST_BUFFER_FLAG_DEL...
I use gstreamer 1.22.6 on Android devices. I have the next pipeline:
```
appsrc -> rawvideoparse -> videoconvertscale -> amcvidenc-omxexynosvp8encoder -> appsink
```
VP8 does not produce key frames, only delta units `GST_BUFFER_FLAG_DELTA_UNIT`. I tried to use different encoders on Android 11/Android 13 devices with the same result: no key frames. I checked encoders:
```
amcvidenc-c2androidvp8encoder
amcvidenc-omxgooglevp8encoder
amcvidenc-omxexynosvp8encoder
```
I set `i-frame-interval` property to 1, `qos` to `false`, `bitrate` to `1760000`.
I have no problem with VP9/H.264/H.265 encoders with the same pipeline. I believe the issue will be reproducible with `videotestsrc`.
I do not know this is Android hardware issue or gstreamer.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1788
Audio artefacts with interaudiosrc/interaudiosink based pipelines
2023-10-09T13:51:33Z
Hugo Melder
Audio artefacts with interaudiosrc/interaudiosink based pipelines
This is an isolated example of a GStreamer audio issue that exists when using interaudio* elements for pipeline seperation.
* OS: NixOS 23.05.4076.8a4c17493e5c (Stoat) aarch64
* Kernel: 6.1.55
* CPU: Apple M1 Pro (Virt)
* Memory: 8.0Gi...
This is an isolated example of a GStreamer audio issue that exists when using interaudio* elements for pipeline seperation.
* OS: NixOS 23.05.4076.8a4c17493e5c (Stoat) aarch64
* Kernel: 6.1.55
* CPU: Apple M1 Pro (Virt)
* Memory: 8.0GiB
* gst-launch-1.0 version: 1.22.5
* GStreamer: 1.22.5
Everything works as normal when starting the first and second pipeline. When we start a new instance of the third pipeline (different port) skipping and audio artefacts start appearing on the first and second UDP stream.
- 1. `audiotestsrc is-live=1 ! capsfilter caps=audio/x-raw,format=S16LE,layout=interleaved,channels=2 ! queue ! interaudiosink channel=audio0`
- 2. `interaudiosrc channel=audio0 ! queue ! audioconvert ! audioresample ! opusenc ! rtpopuspay ! udpsink host=127.0.0.1 port=5000`
- 3. `interaudiosrc channel=audio0 ! queue ! audioconvert ! audioresample ! opusenc ! rtpopuspay ! udpsink host=127.0.0.1 port=5001`
Here is a small demonstration:
![20231007_GStreamer_Interaudio_Demo.mp4](/uploads/8fe06d0c8469ac54e302246c6d0a87e5/gstreamer-audio.mp4)
I experience the same issues on an Nvidia Jetson Nano Development Kit running GStreamer 1.14.x.
Is there something I missed in my pipeline configuration?
Here the isolated test code:
https://gist.github.com/hmelder/4a30bbee0748c48a2263d5233b2f3508
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3022
[regression][Windows] nvdecoder as default build option
2024-01-05T19:42:50Z
Bin-CI
[regression][Windows] nvdecoder as default build option
with https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409/ merged, catch the build error on the windows, because we don't configure this plugin, as the default option, it bread the build
Windows VS build error:
```
08...
with https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5409/ merged, catch the build error on the windows, because we don't configure this plugin, as the default option, it bread the build
Windows VS build error:
```
08:41:49,649 INFO - FAILED: subprojects/gst-plugins-bad/sys/nvcodec/gstnvcodec.dll.p/gstnvdecoder.cpp.obj
08:41:49,649 INFO - "cl" "-Isubprojects\gst-plugins-bad\sys\nvcodec\gstnvcodec.dll.p" "-Isubprojects\gst-plugins-bad\sys\nvcodec" "-I..\subprojects\gst-plugins-bad\sys\nvcodec" "-Isubprojects\gst-plugins-bad" "-I..\subprojects\gst-plugins-bad" "-I..\subprojects\gst-plugins-bad\gst-libs\gst\cuda\stub" "-Isubprojects\gstreamer\libs" "-I..\subprojects\gstreamer\libs" "-Isubprojects\gstreamer" "-I..\subprojects\gstreamer" "-Isubprojects\gst-plugins-base\gst-libs" "-I..\subprojects\gst-plugins-base\gst-libs" "-Isubprojects\orc" "-I..\subprojects\orc" "-Isubprojects\gst-plugins-bad\gst-libs" "-I..\subprojects\gst-plugins-bad\gst-libs" "-Isubprojects\gstreamer\gst" "-Isubprojects\gst-plugins-base\gst-libs\gst\video" "-Isubprojects\gst-plugins-base\gst-libs\gst\pbutils" "-Isubprojects\gst-plugins-base\gst-libs\gst\audio" "-Isubprojects\gst-plugins-base\gst-libs\gst\tag" "-IC:/workspace/install/include/glib-2.0" "-IC:/workspace/install/lib/glib-2.0/include" "-IC:/workspace/install/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/Zc...
08:41:49,649 INFO - ../subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp(1261): error C2065: 'GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY': undeclared identifier
08:41:49,649 INFO - ../subprojects/gst-plugins-bad/sys/nvcodec/gstnvdecoder.cpp(1259): error C2660: 'gst_caps_set_features_simple': function does not take 1 arguments
08:41:49,649 INFO - C:\workspace\qb-src\gstreamer\subprojects\gstreamer\gst/gstcaps.h(434): note: see declaration of 'gst_caps_set_features_simple'
```
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3018
WebRTC bus error on closure by remote peer
2023-10-06T14:56:42Z
Rob Agar
WebRTC bus error on closure by remote peer
Closing a data channel-only connection remotely results only in a bus error, with no connection state change notification.
Here is the normal output from [minimal-gstreamer-webrtc](https://github.com/engineeredarts/minimal-gstreamer-web...
Closing a data channel-only connection remotely results only in a bus error, with no connection state change notification.
Here is the normal output from [minimal-gstreamer-webrtc](https://github.com/engineeredarts/minimal-gstreamer-webrtc) which reproduces the issue:
```
Minimal GStreamer WebRTC - Backend
[Signals] connecting to signal server ws://127.0.0.1:10001
[Signals] CONNECTED
[WebRTC Session 0] START
[Signals] RECEIVE {"type":"webrtc_offer","data":{"session_id":0,"webrtc_data":{"type":"offer","sdp":"v=0\r\no=- 3561884195720608271 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\n"}}}
SIGNAL WebRtcOffer { data: WebRtcOfferData { session_id: 0, webrtc_data: WebRtcData { data_type: Some("offer"), sdp: "v=0\r\no=- 3561884195720608271 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\n" } } }
[WebRtc] INCOMING SIGNAL WebRtcOffer { data: WebRtcOfferData { session_id: 0, webrtc_data: WebRtcData { data_type: Some("offer"), sdp: "v=0\r\no=- 3561884195720608271 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\n" } } }
[WebRTC Session 0] SIGNALING STATE → HaveRemoteOffer
[WebRTC Session 0] SIGNALING STATE → Stable
[Signals] SEND {"type":"webrtc_answer","data":{"session_id":0,"webrtc_data":{"type":"answer","sdp":"v=0\r\no=- 3561884195720608271 2 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\n"}}}
[Signals] RECEIVE {"type":"webrtc_offer","data":{"session_id":0,"webrtc_data":{"type":"offer","sdp":"v=0\r\no=- 3561884195720608271 3 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:wkfJ\r\na=ice-pwd:UB4IcIOxpE1oPe3BAQUTC82S\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B8:CD:8B:FF:A5:F5:D4:EC:E0:9F:2E:80:77:0A:45:F4:CE:B2:9F:D7:88:0F:43:E4:A0:20:7A:43:DB:A4:87:76\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n"}}}
SIGNAL WebRtcOffer { data: WebRtcOfferData { session_id: 0, webrtc_data: WebRtcData { data_type: Some("offer"), sdp: "v=0\r\no=- 3561884195720608271 3 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:wkfJ\r\na=ice-pwd:UB4IcIOxpE1oPe3BAQUTC82S\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B8:CD:8B:FF:A5:F5:D4:EC:E0:9F:2E:80:77:0A:45:F4:CE:B2:9F:D7:88:0F:43:E4:A0:20:7A:43:DB:A4:87:76\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n" } } }
[WebRtc] INCOMING SIGNAL WebRtcOffer { data: WebRtcOfferData { session_id: 0, webrtc_data: WebRtcData { data_type: Some("offer"), sdp: "v=0\r\no=- 3561884195720608271 3 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:wkfJ\r\na=ice-pwd:UB4IcIOxpE1oPe3BAQUTC82S\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B8:CD:8B:FF:A5:F5:D4:EC:E0:9F:2E:80:77:0A:45:F4:CE:B2:9F:D7:88:0F:43:E4:A0:20:7A:43:DB:A4:87:76\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n" } } }
[Signals] RECEIVE {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:4100071958 1 udp 2113937151 2084d8ba-48e3-45a2-8ead-97fc8cd325b1.local 43006 typ host generation 0 ufrag wkfJ network-cost 999","sdpMLineIndex":0}}}
SIGNAL IceCandidate { data: IceCandidateData { session_id: 0, webrtc_data: IceCandidateWebRtcData { candidate: "candidate:4100071958 1 udp 2113937151 2084d8ba-48e3-45a2-8ead-97fc8cd325b1.local 43006 typ host generation 0 ufrag wkfJ network-cost 999", media_id: None, line_index: Some(0), username_fragment: None } } }
[WebRtc] INCOMING SIGNAL IceCandidate { data: IceCandidateData { session_id: 0, webrtc_data: IceCandidateWebRtcData { candidate: "candidate:4100071958 1 udp 2113937151 2084d8ba-48e3-45a2-8ead-97fc8cd325b1.local 43006 typ host generation 0 ufrag wkfJ network-cost 999", media_id: None, line_index: Some(0), username_fragment: None } } }
[WebRTC Session 0] SIGNALING STATE → HaveRemoteOffer
[Signals] SEND {"type":"webrtc_answer","data":{"session_id":0,"webrtc_data":{"type":"answer","sdp":"v=0\r\no=- 3561884195720608271 3 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:e3MBESjP5Fm9DfEmMLnA415iHkTLElyx\r\na=ice-pwd:denmOyI/Xr2/X2dHkv6I5yZTfBRPsmnk\r\na=mid:0\r\na=setup:active\r\na=sctp-port:5000\r\na=fingerprint:sha-256 7F:C5:93:40:0E:3D:E3:CE:3F:3F:18:28:55:1B:80:A9:3F:56:AD:62:E7:1C:75:18:78:34:65:EC:3A:BA:9A:1A\r\n"}}}
[WebRTC Session 0] SIGNALING STATE → Stable
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:1 1 UDP 2015363327 10.9.8.7 35838 typ host","sdpMLineIndex":0}}}
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:2 1 TCP 1015021823 10.9.8.7 9 typ host tcptype active","sdpMLineIndex":0}}}
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:3 1 TCP 1010827519 10.9.8.7 43031 typ host tcptype passive","sdpMLineIndex":0}}}
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:4 1 UDP 2015363583 fe80::e04d:aa15:190a:e87 58702 typ host","sdpMLineIndex":0}}}
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:5 1 TCP 1015022079 fe80::e04d:aa15:190a:e87 9 typ host tcptype active","sdpMLineIndex":0}}}
[Signals] SEND {"type":"ice_candidate","data":{"session_id":0,"webrtc_data":{"candidate":"candidate:6 1 TCP 1010827775 fe80::e04d:aa15:190a:e87 55495 typ host tcptype passive","sdpMLineIndex":0}}}
[WebRTC Session 0] CONNECTION STATE → Connecting
[WebRTC Session 0] CONNECTION STATE → Connected
[WebRTC Session] DATA CHANNEL test data channel
```
Then when the remote peer closes the connection, the only output is
```
[WebRTC Session 0] BUS ERROR from /GstPipeline:pipeline-0/GstWebRTCBin:webrtcbin0/GstSctpEnc:sctpenc0 - Could not write to resource.
../subprojects/gst-plugins-bad/ext/sctp/gstsctpenc.c(897): on_sctp_association_state_changed (): /GstPipeline:pipeline-0/GstWebRTCBin:webrtcbin0/GstSctpEnc:sctpenc0:
SCTP association went into error state
```
With no connection state change notification at all.
GStreamer 1.22.6 on Ubuntu 22.04
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3017
webrtc: handle BUNDLED mlines with different ice credentials
2023-10-06T05:11:53Z
Fabien Danieau
webrtc: handle BUNDLED mlines with different ice credentials
### Describe your issue
follow up of [this discussion](https://discourse.gstreamer.org/t/webrtcsrc-create-answer-promise-returned-with-no-reply/192/5)
I've this error
```
$ gst-launch-1.0 playbin uri=gstwebrtc://127.0.0.1:8443?peer-id...
### Describe your issue
follow up of [this discussion](https://discourse.gstreamer.org/t/webrtcsrc-create-answer-promise-returned-with-no-reply/192/5)
I've this error
```
$ gst-launch-1.0 playbin uri=gstwebrtc://127.0.0.1:8443?peer-id=1e548974-6f18-4048-9512-c06fc9bc181b
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.328539923 58928 0x56249944f000 WARN webrtcbin gstwebrtcbin.c:6671:_set_description_task:<webrtcbin0> returning error: media 1 has different ice-ufrag values in bundle. CQci != qvCg**
0:00:00.328561666 58928 0x56249944f000 WARN webrtcbin gstwebrtcbin.c:4794:_create_sdp_task:<webrtcbin0> returning error: Asked to create an answer without a remote description
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstWebRTCSrc:source: GStreamer encountered a general stream error.
Additional debug info:
net/webrtc/src/webrtcsrc/imp.rs(812): gstrswebrtc::webrtcsrc::imp::WebRTCSrc::on_answer_created (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstWebRTCSrc:source:
create-answer::Promise returned with no reply
Execution ended after 0:00:00.234683472
Setting pipeline to NULL ...
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstWebRTCSrc:source: GStreamer encountered a general stream error.
Additional debug info:
net/webrtc/src/webrtcsrc/imp.rs(569): gstrswebrtc::webrtcsrc::imp::WebRTCSrc::connect_signaller::{{closure}}::{{closure}} (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstWebRTCSrc:source:
Signalling error: Error receiving: WebSocket protocol error: Connection reset without closing handshake
Freeing pipeline ...
```
When using this client `gst-launch-1.0 playbin uri=gstwebrtc://127.0.0.1:8443?peer-id=[Client ID]` with a custom producer (aiortc) that sends 2 tracks (2 videos, or 1 video and 1 audio)
<!-- a clear and concise summary of the bug. -->
<!-- For any GStreamer usage question, please contact the community using the #gstreamer channel on IRC https://www.oftc.net/ or the mailing list on https://gstreamer.freedesktop.org/lists/ -->
#### Setup
- **Operating System:** Linux Debian 12
- **Device:** Computer
- **GStreamer Version:** debian package version 1.22. Rust plugin 0.11.0
- **Command line:** gst-launch-1.0 playbin uri=gstwebrtc://127.0.0.1:8443?peer-id=[Client ID]
### How reproducible is the bug?
Systematic
### Solutions you have tried
No issue with the web browser client (provided in the rust plugins repo), or a custom Unity webrtc client.
### Additional Information
Here's the webrtc log
````
Setting pipeline to PAUSED ...
0:00:00.106452641 e[35m98650e[00m 0x565166b01b60 e[37mDEBUG e[00m e[00m webrtcnice nice.c:1404:gst_webrtc_nice_set_stun_server:<webrtcbin0:ice>e[00m setting stun server, stun://stun.l.google.com:19302
0:00:00.106509063 e[35m98650e[00m 0x565166b01b60 e[37mDEBUG e[00m e[00m webrtcbin gstwebrtcbin.c:7848:gst_webrtc_bin_change_state:e[00m changing state: NULL => READY
0:00:00.106606378 e[35m98650e[00m 0x565166b01b60 e[33;01mLOG e[00m e[00m webrtcbin gstwebrtcbin.c:1725:_check_if_negotiation_is_needed:<webrtcbin0>e[00m checking if negotiation is needed
0:00:00.106609465 e[35m98650e[00m 0x565166b01b60 e[33;01mLOG e[00m e[00m webrtcbin gstwebrtcbin.c:1741:_check_if_negotiation_is_needed:<webrtcbin0>e[00m no local description set
0:00:00.106619252 e[35m98650e[00m 0x565166d46800 e[37mTRACE e[00m e[00m webrtcbin gstwebrtcbin.c:1850:_check_need_negotiation_task:<webrtcbin0>e[00m emitting on-negotiation-needed
0:00:00.106632393 e[35m98650e[00m 0x565166b01b60 e[37mDEBUG e[00m e[00m webrtcbin gstwebrtcbin.c:7848:gst_webrtc_bin_change_state:e[00m changing state: READY => PAUSED
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
0:00:00.106749803 e[35m98650e[00m 0x565166b01b60 e[37mDEBUG e[00m e[00m webrtcbin gstwebrtcbin.c:7848:gst_webrtc_bin_change_state:e[00m changing state: PAUSED => PLAYING
0:00:00.106773020 e[35m98650e[00m 0x565166b01b60 e[36mINFO e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:525:<gstrswebrtc::signaller::imp::Signaller as gstrswebrtc::signaller::iface::SignallableImpl>::start:<GstWebRTCSignaller@0x565166db3130>e[00m Starting
0:00:00.107145221 e[35m98650e[00m 0x565166b01b60 e[36mINFO e[00m e[00m webrtcsrc net/webrtc/src/webrtcsrc/imp.rs:931:gstrswebrtc::webrtcsrc::imp::WebRTCSrc::maybe_start_signaller:<source>e[00m Started signaller
New clock: GstSystemClock
0:00:00.107628940 e[35m98650e[00m 0x7fdbfc003430 e[36mINFO e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:133:gstrswebrtc::signaller::imp::Signaller::connect::{{closure}}:<GstWebRTCSignaller@0x565166db3130>e[00m connected
0:00:00.107685807 e[35m98650e[00m 0x7fdbfc003430 e[37mTRACE e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:263:gstrswebrtc::signaller::imp::Signaller::handle_message:<GstWebRTCSignaller@0x565166db3130>e[00m Received message {"type":"welcome","peerId":"2e761115-4218-46db-bce1-bc75d74c3040"}
0:00:00.107702662 e[35m98650e[00m 0x7fdbfc003430 e[36mINFO e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:248:gstrswebrtc::signaller::imp::Signaller::start_session:<GstWebRTCSignaller@0x565166db3130>e[00m Started session with producer peer id 9669718e-9c73-4352-a9f2-a23dbed9bf34
0:00:00.107714266 e[35m98650e[00m 0x7fdbfc003430 e[33;01mLOG e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:144:gstrswebrtc::signaller::imp::Signaller::connect::{{closure}}::{{closure}}:e[00m Sending websocket message StartSession(StartSessionMessage { peer_id: "9669718e-9c73-4352-a9f2-a23dbed9bf34" })
0:00:00.107734374 e[35m98650e[00m 0x7fdbfc003430 e[33;01mLOG e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:144:gstrswebrtc::signaller::imp::Signaller::connect::{{closure}}::{{closure}}:e[00m Sending websocket message SetPeerStatus(PeerStatus { roles: [], meta: None, peer_id: Some("2e761115-4218-46db-bce1-bc75d74c3040") })
0:00:00.107885066 e[35m98650e[00m 0x7fdbfc003430 e[37mTRACE e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:263:gstrswebrtc::signaller::imp::Signaller::handle_message:<GstWebRTCSignaller@0x565166db3130>e[00m Received message {"type":"sessionStarted","peerId":"9669718e-9c73-4352-a9f2-a23dbed9bf34","sessionId":"14288230-5822-4412-9a70-8b0b28a72a06"}
0:00:00.107894481 e[35m98650e[00m 0x7fdbfc003430 e[36mINFO e[00m e[00m webrtcsrc net/webrtc/src/webrtcsrc/imp.rs:584:gstrswebrtc::webrtcsrc::imp::WebRTCSrc::connect_signaller::{{closure}}::{{closure}}:<source>e[00m Session started: 14288230-5822-4412-9a70-8b0b28a72a06
0:00:00.147820771 e[35m98650e[00m 0x7fdbfc003430 e[37mTRACE e[00m e[00m webrtcsrc-signaller net/webrtc/src/signaller/imp.rs:263:gstrswebrtc::signaller::imp::Signaller::handle_message:<GstWebRTCSignaller@0x565166db3130>e[00m Received message {"type":"peer","sessionId":"14288230-5822-4412-9a70-8b0b28a72a06","sdp":{"type":"offer","sdp":"v=0\r\no=- 3905310572 3905310572 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic:WMS *\r\nm=video 47391 UDP/TLS/RTP/SAVPF 97 98 99 100\r\nc=IN IP4 10.0.1.32\r\na=sendrecv\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=mid:0\r\na=msid:10a2212a-5af8-43af-9e76-ca612824d182 left\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=ssrc-group:FID 279497956 2890277861\r\na=ssrc:279497956 cname:8fe1ac19-0a68-426a-831f-a501f513b4ad\r\na=ssrc:2890277861 cname:8fe1ac19-0a68-426a-831f-a501f513b4ad\r\na=rtpmap:97 H264/90000\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 goog-remb\r\na=fmtp:97 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:98 rtx/90000\r\na=fmtp:98 apt=97\r\na=rtpmap:99 H264/90000\r\na=rtcp-fb:99 nack\r\na=rtcp-fb:99 nack pli\r\na=rtcp-fb:99 goog-remb\r\na=fmtp:99 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=99\r\na=candidate:5893c2de5def470b59e2c42c650ee78a 1 udp 2130706431 10.0.1.32 47391 typ host\r\na=candidate:073d76714234a72b1ea24a739a601abe 1 udp 2130706431 2a00:1028:8388:1986:ec33:a025:499:598e 41823 typ host\r\na=candidate:580b5f32035da7f14a30ea7a8d826c67 1 udp 2130706431 172.17.0.1 34199 typ host\r\na=candidate:0ad8db753210ce9554cf251a9e51e792 1 udp 1694498815 109.81.170.201 9556 typ srflx raddr 172.17.0.1 rport 34199\r\na=candidate:f0f7f4c0f6408ce370b03219e415cb8c 1 udp 1694498815 109.81.170.201 9583 typ srflx raddr 10.0.1.32 rport 47391\r\na=end-of-candidates\r\na=ice-ufrag:DGHn\r\na=ice-pwd:pS8HEZarePq3I7jQFM4iFu\r\na=fingerprint:sha-256 7D:AA:46:85:77:B4:83:38:87:09:78:1A:55:82:DF:F0:93:31:BE:7E:1A:FC:6A:52:BD:59:8E:9C:33:85:CB:65\r\na=setup:actpass\r\nm=video 36419 UDP/TLS/RTP/SAVPF 97 98 99 100\r\nc=IN IP4 10.0.1.32\r\na=sendrecv\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=mid:1\r\na=msid:10a2212a-5af8-43af-9e76-ca612824d182 right\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=ssrc-group:FID 807064486 2160864189\r\na=ssrc:807064486 cname:8fe1ac19-0a68-426a-831f-a501f513b4ad\r\na=ssrc:2160864189 cname:8fe1ac19-0a68-426a-831f-a501f513b4ad\r\na=rtpmap:97 H264/90000\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 goog-remb\r\na=fmtp:97 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:98 rtx/90000\r\na=fmtp:98 apt=97\r\na=rtpmap:99 H264/90000\r\na=rtcp-fb:99 nack\r\na=rtcp-fb:99 nack pli\r\na=rtcp-fb:99 goog-remb\r\na=fmtp:99 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=99\r\na=candidate:5893c2de5def470b59e2c42c650ee78a 1 udp 2130706431 10.0.1.32 36419 typ host\r\na=candidate:073d76714234a72b1ea24a739a601abe 1 udp 2130706431 2a00:1028:8388:1986:ec33:a025:499:598e 53810 typ host\r\na=candidate:580b5f32035da7f14a30ea7a8d826c67 1 udp 2130706431 172.17.0.1 34433 typ host\r\na=candidate:0ad8db753210ce9554cf251a9e51e792 1 udp 1694498815 109.81.170.201 9667 typ srflx raddr 172.17.0.1 rport 34433\r\na=candidate:f0f7f4c0f6408ce370b03219e415cb8c 1 udp 1694498815 109.81.170.201 9706 typ srflx raddr 10.0.1.32 rport 36419\r\na=end-of-candidates\r\na=ice-ufrag:8uRQ\r\na=ice-pwd:GY9ttEEUxMTZFybPRCDAAx\r\na=fingerprint:sha-256 7D:AA:46:85:77:B4:83:38:87:09:78:1A:55:82:DF:F0:93:31:BE:7E:1A:FC:6A:52:BD:59:8E:9C:33:85:CB:65\r\na=setup:actpass\r\n"}}
0:00:00.148243804 e[35m98650e[00m 0x7fdbfc003430 e[33;01mLOG e[00m e[00m webrtcsrc net/webrtc/src/webrtcsrc/imp.rs:702:gstrswebrtc::webrtcsrc::imp::WebRTCSrc::handle_offer:<source>e[00m Got offer v=0
o=- 3905310572 3905310572 IN IP4 0.0.0.0
```
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3013
video-format: GST_VIDEO_FORMATS_ALL_STR big-endian version ends up in the .gi...
2023-10-03T19:56:14Z
Sebastian Dröge
video-format: GST_VIDEO_FORMATS_ALL_STR big-endian version ends up in the .gir file
The following discussion from !5412 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412#note_2108207): (+2 comments)
> Aren't we are picking the BE ...
The following discussion from !5412 should be addressed:
- [ ] @ndufresne started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412#note_2108207): (+2 comments)
> Aren't we are picking the BE version for GIR here ? (your aren't introduce that bug, its just the first time I notice).
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3012
webrtcbin DTLS handshake fails with SDP offer from browser
2023-09-29T18:24:30Z
Patrick Gansterer
webrtcbin DTLS handshake fails with SDP offer from browser
`webrtcbin` is not able to do a DTLS handshake, when the SDP offer comes from a browser.
#### Setup
- **Operating System:** Linux
- **Device:** Computer
- **GStremer Version:** 1.20.3 and 1.22.5
### Steps to reproduce the bug
1. Open t...
`webrtcbin` is not able to do a DTLS handshake, when the SDP offer comes from a browser.
#### Setup
- **Operating System:** Linux
- **Device:** Computer
- **GStremer Version:** 1.20.3 and 1.22.5
### Steps to reproduce the bug
1. Open the attached [`webrtc.html`](/uploads/210c902fc19d2375e363681140f65d26/webrtc.html) in a browser with WebRTC support (e.g., current Chromium)
2. Click on the button **Create Offer** to create a SDP offer
3. The SDP offer will be shown in the textara
4. Copy the SDP offer and save it as `offer.sdp`
5. Run the attached [`webrtc.py`](/uploads/67da5c9590f7d1a41c552cd241013c4e/webrtc.py) with `python3 webrtc.py create-answer < offer.sdp > answer.sdp` and wait until `answer.sdp` contains the SDP answer
6. Replace the content of the textare in the browser with the SDP answer from `answer.sdp`
7. Click on the button **Set Remote** to start the handshake
8. Browser and GStreamer will start and finish the ICE handshake
9. GStreamer sends a DTLS `Client Hello`
10. Browser sends a DTLS `Server Hello`
11. Timeout because DTLS handshake does not work
#### GST_DEBUG Log Output
Running `GST_DEBUG="dtls*:9" python3 webrtc.py create-answer < offer.sdp > answer.sdp` gives the following log output:
<details>
```
0:00:00.392572775 3195726 0x7f7e240028c0 DEBUG dtlsdec gstdtlsdec.c:676:get_agent_by_pem: no agent with generated cert found, creating new
0:00:00.392733128 3195726 0x7f7e240028c0 LOG dtlsconnection gstdtlsconnection.c:1302:bio_method_new: BIO: new
0:00:00.392755039 3195726 0x7f7e240028c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> connection created: role=server buf=((nil):0/0) 10110|0 before SSL initialization
0:00:00.393390826 3195726 0x7f7e240028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.393520909 3195726 0x7f7e240028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:430:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added rtp sink pad
0:00:00.393534309 3195726 0x7f7e240028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.393538700 3195726 0x7f7e240028c0 DEBUG dtlsenc gstdtlsenc.c:384:gst_dtls_enc_request_new_pad:<dtlsenc0> sink pad requested
0:00:00.393553227 3195726 0x7f7e240028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:453:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added data sink pad
0:00:00.393562925 3195726 0x7f7e240028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.393620793 3195726 0x7f7e240028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:445:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added rtcp sink pad
0:00:00.393748257 3195726 0x7f7e240028c0 DEBUG dtlssrtpdec gstdtlssrtpdec.c:316:gst_dtls_srtp_dec_request_new_pad:<dtlssrtpdec0> pad requested
0:00:00.393759358 3195726 0x7f7e240028c0 DEBUG dtlsdec gstdtlsdec.c:377:gst_dtls_dec_request_new_pad:<dtlsdec0> requesting pad
0:00:00.393785991 3195726 0x7f7e240028c0 LOG dtlssrtpdec gstdtlssrtpdec.c:335:gst_dtls_srtp_dec_request_new_pad:<dtlssrtpdec0> added data src pad
0:00:15.016135795 3195726 0x7f7e1c001b00 DEBUG dtlsdec gstdtlsdec.c:742:gst_dtls_dec_fetch_connection: fetching 'rtp_0_1765886773' from connection table, size is 1
0:00:15.016176133 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:590:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7f7e1c010320> locking @ set_send_callback
0:00:15.016185071 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:592:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7f7e1c010320> locked @ set_send_callback
0:00:15.016190339 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:600:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7f7e1c010320> unlocking @ set_send_callback
0:00:15.016224586 3195726 0x7f7e1c001b00 DEBUG dtlsenc gstdtlsenc.c:415:src_activate_mode:<dtlsenc0> src pad activating in push mode
0:00:15.016252452 3195726 0x7f7e1c001b00 DEBUG dtlsenc gstdtlsenc.c:362:gst_dtls_enc_change_state:<dtlsenc0> starting connection rtp_0_1765886773
0:00:15.016260118 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:338:gst_dtls_connection_start:<GstDtlsConnection@0x7f7e1c010320> locking @ start
0:00:15.016265221 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:340:gst_dtls_connection_start:<GstDtlsConnection@0x7f7e1c010320> locked @ start
0:00:15.016271727 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:15.016282063 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> initial state set: role=client buf=((nil):0/0) 1110|0 before SSL initialization
0:00:15.016285687 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:15.016291138 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:15.016296409 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1110|0 before SSL initialization
0:00:15.016327949 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:15.016341771 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 6
0:00:15.016420014 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:15.016429935 3195726 0x7f7e1c001b00 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 999988 usec
0:00:15.016504281 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:15.016523399 3195726 0x7f7e1c001b00 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: MTU query, returning 0...
0:00:15.016531821 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:15.016538609 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:15.016544660 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 42
0:00:15.016550688 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:15.016556730 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:15.016564299 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:15.016572653 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:15.016580456 3195726 0x7f7e1c001b00 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:15.016593638 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:15.016599563 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:15.016604863 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:15.016611375 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:15.016618626 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:15.016622737 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:15.016635715 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:15.016641503 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:15.016649545 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:15.016656783 3195726 0x7f7e1c001b00 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:15.016668475 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:15.016674096 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:15.016678918 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:15.016684247 3195726 0x7f7e1c001b00 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:15.016697360 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:15.016704724 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:15.016706211 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:15.016720017 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:15.016725635 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:15.016735041 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:15.016740234 3195726 0x7f7e1c001b00 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:15.016747275 3195726 0x7f7e1c001b00 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:15.016756409 3195726 0x7f7e1c001b00 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> first poll done: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:15.016762357 3195726 0x7f7e1c001b00 TRACE dtlsconnection gstdtlsconnection.c:376:gst_dtls_connection_start:<GstDtlsConnection@0x7f7e1c010320> unlocking @ start
0:00:15.016799351 3195726 0x7f7df801aa40 TRACE dtlsconnection gstdtlsconnection.c:498:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7f7e1c010320> locking @ start_timeout
0:00:15.016806526 3195726 0x7f7df801aa40 TRACE dtlsconnection gstdtlsconnection.c:500:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7f7e1c010320> locked @ start_timeout
0:00:15.016813120 3195726 0x7f7df801aa40 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 999605 usec
0:00:15.016828583 3195726 0x7f7df801aa40 TRACE dtlsconnection gstdtlsconnection.c:503:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7f7e1c010320> unlocking @ start_timeout
0:00:15.016836892 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:15.016842072 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:15.016845659 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:15.016848565 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:15.016880110 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:15.016887043 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:15.016892490 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:16.016586310 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:00:16.016888951 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:16.016984168 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 1999883 usec
0:00:16.017071361 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:16.017117053 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:16.017138262 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:16.017159733 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:16.017180333 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:16.017209528 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:16.017275883 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:16.017296837 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:16.017319378 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:16.017351020 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:16.017375991 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:16.017390373 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:16.017449200 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:16.017480640 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:16.017406763 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:16.017616302 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:16.017689671 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:16.017788343 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:16.017849778 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:16.017905960 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:16.017960795 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:16.018019042 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:16.018083553 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:00:16.018165978 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:16.018256899 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:16.017689849 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:16.018340222 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:16.018404443 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:16.018453936 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:16.018547225 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:16.018504872 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:16.018605354 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:16.018618610 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:16.018638837 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:16.018667860 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:16.018716499 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:16.018778854 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:16.018814094 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:16.018998137 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:18.017013354 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:00:18.017101456 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:18.017130813 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 3999966 usec
0:00:18.017154630 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:18.017163991 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:18.017173186 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:18.017183689 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:18.017193974 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:18.017205111 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:18.017215792 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:18.017223217 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:18.017230295 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:18.017239922 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:18.017247863 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:18.017257220 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:18.017256982 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:18.017280975 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:18.017266214 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:18.017290546 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:18.017302375 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:18.017319704 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:18.017327273 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:18.017334201 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:18.017344873 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:18.017357318 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:18.017372176 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:00:18.017388213 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:18.017388543 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:18.017416480 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:18.017421178 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:18.017433367 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:18.017458603 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:18.017470952 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:18.017479382 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:18.017487615 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:18.017494588 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:18.017512616 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:18.017523046 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:18.017541364 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:18.017550114 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:18.017564331 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:18.017575308 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:22.017276206 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:00:22.017348047 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 47
0:00:22.017364683 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:22.017371549 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 7999994 usec
0:00:22.017384067 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:22.017389093 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: MTU query, returning 0...
0:00:22.017393717 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:22.017400337 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:22.017409960 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 42
0:00:22.017418688 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:22.017427893 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:22.017437836 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:22.017447326 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:22.017458691 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:22.017467667 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:22.017474172 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:22.017481693 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:22.017491187 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:22.017497547 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:22.017506929 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:22.017515068 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:22.017523666 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:22.017532266 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:22.017531184 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:22.017556077 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:22.017564087 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:22.017571196 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:22.017579287 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:22.017586783 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:22.017596771 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:22.017603502 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:00:22.017613913 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:22.017622637 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:22.017626401 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:22.017632247 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:22.017633661 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:22.017636412 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:22.017649201 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:22.017643340 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:22.017670557 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:22.017681844 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:22.017690444 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:22.017682958 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:22.017698402 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:22.017707561 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:22.017723206 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:22.017728941 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:30.017628797 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:00:30.017686354 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 47
0:00:30.017695664 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:30.017702066 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 15999994 usec
0:00:30.017713336 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:30.017717650 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: MTU query, returning 0...
0:00:30.017722899 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:30.017729071 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:30.017733878 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 42
0:00:30.017738698 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:30.017743603 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:30.017750205 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:30.017756355 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:30.017762703 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:30.017768992 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:30.017773174 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:30.017777831 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:30.017783506 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:30.017787765 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:30.017793540 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:30.017798239 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:30.017803978 3195726 0x7f7e200056a0 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:30.017808382 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:30.017812316 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:30.017816858 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:30.017821012 3195726 0x7f7e200056a0 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:30.017826761 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:30.017832850 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:00:30.017835670 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:30.017845775 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:30.017848228 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:30.017850523 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:30.017858311 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:30.017868440 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:30.017874328 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:30.017880184 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:30.017889878 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:30.017895834 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:30.017902509 3195726 0x7f7e200056a0 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:30.017910616 3195726 0x7f7e200056a0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:30.017912901 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:30.017918228 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:30.017921850 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:30.017926252 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:30.017950219 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:30.017957288 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:30.017962948 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:46.017861826 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:00:46.018031701 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 47
0:00:46.018055364 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:00:46.018070620 3195726 0x7f7e20005700 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 31999986 usec
0:00:46.018100654 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:46.018112345 3195726 0x7f7e20005700 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: MTU query, returning 0...
0:00:46.018123763 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:46.018133228 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:46.018143053 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 42
0:00:46.018151420 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:00:46.018160570 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:00:46.018175836 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:46.018192287 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:00:46.018211337 3195726 0x7f7e20005700 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:00:46.018248406 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:46.018260019 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:46.018272102 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:46.018289593 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:46.018302570 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:46.018318953 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:00:46.018312762 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:46.018336548 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:00:46.018358807 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:46.018384082 3195726 0x7f7e20005700 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:00:46.018401245 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:46.018417169 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:46.018450796 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:46.018462703 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:46.018475825 3195726 0x7f7e20005700 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:46.018490150 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:00:46.018507116 3195726 0x7f7e20005700 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:00:46.018529923 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:46.018551603 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:00:46.018566628 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:46.018609694 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:46.018586864 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:00:46.018629079 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:46.018646341 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:00:46.018661926 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:46.018676554 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:00:46.018714906 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:00:46.018734182 3195726 0x7f7e20005700 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:00:46.018745674 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:46.018770362 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:46.018785838 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:46.018753095 3195726 0x7f7e20005700 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:00:46.018867383 3195726 0x7f7e20005700 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:01:18.018223596 3195726 0x7f7df83685e0 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7f7e1c010320> Schedule timeout now
0:01:18.018565817 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 47
0:01:18.018642717 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: Timeout set
0:01:18.018691358 3195726 0x7f7e20005760 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7f7e1c010320> waiting for 59999955 usec
0:01:18.018771167 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:01:18.018814239 3195726 0x7f7e20005760 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: MTU query, returning 0...
0:01:18.018853131 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:01:18.018883437 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:01:18.018912924 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 42
0:01:18.018957681 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 49
0:01:18.018992048 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: pending write
0:01:18.019032414 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:01:18.019070598 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 255
0:01:18.019111188 3195726 0x7f7e20005760 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 255
0:01:18.019150178 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:01:18.019188837 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:01:18.019222086 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:01:18.019263647 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:01:18.019291974 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:01:18.019331317 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 73
0:01:18.019365279 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7f7e1c010320> BIO: writing 72
0:01:18.019395998 3195726 0x7f7e20005760 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_1765886773 with length 72
0:01:18.019438071 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:01:18.019400279 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:01:18.019538892 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:01:18.019591255 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:01:18.019656313 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:01:18.019747781 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:01:18.019807708 3195726 0x7f7e20005760 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:01:18.019883312 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: flushing
0:01:18.019953073 3195726 0x7f7e20005760 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7f7e1c010320> handle timeout returned 1, is_alive: 1
0:01:18.020039119 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout before poll: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:01:18.020117531 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: before handshake: role=client buf=((nil):0/0) 1010|c SSLv3/TLS write client hello
0:01:18.020119334 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:01:18.020221587 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: unhandled ctrl, 76
0:01:18.020292045 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:01:18.020344085 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF
0:01:18.020395742 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:01:18.020446646 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7f7e1c010320> BIO: EOF query returned 0
0:01:18.020490742 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:01:18.020584730 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> poll: after handshake: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:01:18.020620230 3195726 0x7f7e20005760 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7f7e1c010320> do_handshake encountered potential BIO error
0:01:18.020659968 3195726 0x7f7e20005760 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7f7e1c010320> OpenSSL reported a syscall error. flow_return=0
0:01:18.020708578 3195726 0x7f7e20005760 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7f7e1c010320> handling timeout after poll: role=client buf=((nil):0/0) 1001010|c SSLv3/TLS write client hello
0:01:18.020753185 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:01:18.020797386 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:01:18.020824943 3195726 0x7f7df801aa40 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
```
</details>
#### Wireshark DTLS Packages
The transferred DTLS packages between Browser (B) and GStreamer (G) have been captured with Wireshark:
<details>
<summary>G->B: Client Hello (Fragment)</summary>
```
User Datagram Protocol, Src Port: 49583, Dst Port: 44073
Source Port: 49583
Destination Port: 44073
Length: 263
Checksum: 0x82c5 [unverified]
[Checksum Status: Unverified]
[Stream index: 360]
[Timestamps]
[Time since first frame: 15.660122382 seconds]
[Time since previous frame: 0.000955021 seconds]
UDP payload (255 bytes)
```
</details>
<details>
<summary>G->B: Client Hello (Reassembled)</summary>
```
User Datagram Protocol, Src Port: 49583, Dst Port: 44073
Source Port: 49583
Destination Port: 44073
Length: 80
Checksum: 0x820e [unverified]
[Checksum Status: Unverified]
[Stream index: 360]
[Timestamps]
[Time since first frame: 15.660152132 seconds]
[Time since previous frame: 0.000029750 seconds]
UDP payload (72 bytes)
Datagram Transport Layer Security
DTLSv1.2 Record Layer: Handshake Protocol: Client Hello (Reassembled)
Content Type: Handshake (22)
Version: DTLS 1.0 (0xfeff)
Epoch: 0
Sequence Number: 1
Length: 59
Handshake Protocol: Client Hello (Reassembled)
Handshake Type: Client Hello (1)
Length: 277
Message Sequence: 0
Fragment Offset: 230
Fragment Length: 47
Version: DTLS 1.2 (0xfefd)
Random: 087a8b834f0eca3830695f6f8a09577af6d39355c76f149c93ee92c616fbf285
GMT Unix Time: Jul 5, 1974 10:33:55.000000000 CET
Random Bytes: 4f0eca3830695f6f8a09577af6d39355c76f149c93ee92c616fbf285
Session ID Length: 0
Cookie Length: 0
Cipher Suites Length: 144
Cipher Suites (72 suites)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
Cipher Suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
Cipher Suite: TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xccaa)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CCM_8 (0xc0a3)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CCM (0xc09f)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 (0xc05d)
Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061)
Cipher Suite: TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 (0xc057)
Cipher Suite: TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc053)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)
Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc073)
Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc077)
Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c4)
Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 (0x00c3)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088)
Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0087)
Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
Cipher Suite: TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1)
Cipher Suite: TLS_RSA_WITH_AES_256_CCM (0xc09d)
Cipher Suite: TLS_RSA_WITH_ARIA_256_GCM_SHA384 (0xc051)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c0)
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CCM_8 (0xc0a2)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CCM (0xc09e)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 (0xc05c)
Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060)
Cipher Suite: TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 (0xc056)
Cipher Suite: TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc052)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc072)
Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc076)
Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00be)
Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 (0x00bd)
Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045)
Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044)
Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
Cipher Suite: TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0)
Cipher Suite: TLS_RSA_WITH_AES_128_CCM (0xc09c)
Cipher Suite: TLS_RSA_WITH_ARIA_128_GCM_SHA256 (0xc050)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00ba)
Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)
Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
Compression Methods Length: 1
Compression Methods (1 method)
Compression Method: null (0)
Extensions Length: 91
Extension: ec_point_formats (len=4)
Type: ec_point_formats (11)
Length: 4
EC point formats Length: 3
Elliptic curves point formats (3)
EC point format: uncompressed (0)
EC point format: ansiX962_compressed_prime (1)
EC point format: ansiX962_compressed_char2 (2)
Extension: supported_groups (len=12)
Type: supported_groups (10)
Length: 12
Supported Groups List Length: 10
Supported Groups (5 groups)
Supported Group: x25519 (0x001d)
Supported Group: secp256r1 (0x0017)
Supported Group: x448 (0x001e)
Supported Group: secp521r1 (0x0019)
Supported Group: secp384r1 (0x0018)
Extension: session_ticket (len=0)
Type: session_ticket (35)
Length: 0
Data (0 bytes)
Extension: use_srtp (len=5)
Type: use_srtp (14)
Length: 5
SRTP Protection Profiles Length: 2
SRTP Protection Profile: SRTP_AES128_CM_HMAC_SHA1_80 (0x0001)
MKI Length: 0
Extension: encrypt_then_mac (len=0)
Type: encrypt_then_mac (22)
Length: 0
Extension: extended_master_secret (len=0)
Type: extended_master_secret (23)
Length: 0
Extension: signature_algorithms (len=42)
Type: signature_algorithms (13)
Length: 42
Signature Hash Algorithms Length: 40
Signature Hash Algorithms (20 algorithms)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: ed25519 (0x0807)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (7)
Signature Algorithm: ed448 (0x0808)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (8)
Signature Algorithm: rsa_pss_pss_sha256 (0x0809)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (9)
Signature Algorithm: rsa_pss_pss_sha384 (0x080a)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (10)
Signature Algorithm: rsa_pss_pss_sha512 (0x080b)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (11)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: SM2 (4)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (5)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (6)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: SHA224 ECDSA (0x0303)
Signature Hash Algorithm Hash: SHA224 (3)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: SHA224 RSA (0x0301)
Signature Hash Algorithm Hash: SHA224 (3)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: SHA224 DSA (0x0302)
Signature Hash Algorithm Hash: SHA224 (3)
Signature Hash Algorithm Signature: DSA (2)
Signature Algorithm: SHA256 DSA (0x0402)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: DSA (2)
Signature Algorithm: SHA384 DSA (0x0502)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: DSA (2)
Signature Algorithm: SHA512 DSA (0x0602)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: DSA (2)
[JA3 Fullstring [truncated]: 65277,49196-49200-163-159-52393-52392-52394-49327-49325-49315-49311-49245-49249-49239-49235-49188-49192-107-106-49267-49271-196-195-49162-49172-57-56-136-135-157-49313-49309-49233-61-192-53-132-49195-49199-162-]
[JA3: 5999204a4f107ad5a688fab476abe63b]
[2 Message fragments (277 bytes): #3444(230), #3445(47)]
[Frame: 3444, payload: 0-229 (230 bytes)]
[Frame: 3445, payload: 230-276 (47 bytes)]
[Message fragment count: 2]
[Reassembled DTLS length: 277]
```
</details>
<details>
<summary>B->G: Server Hello, Certificate, Server Key Exchange, Certificate Request, Server Hello Done</summary>
```
User Datagram Protocol, Src Port: 44073, Dst Port: 49583
Source Port: 44073
Destination Port: 49583
Length: 623
Checksum: 0x842d [unverified]
[Checksum Status: Unverified]
[Stream index: 360]
[Timestamps]
[Time since first frame: 15.660469801 seconds]
[Time since previous frame: 0.000317669 seconds]
UDP payload (615 bytes)
Datagram Transport Layer Security
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 0
Length: 80
Handshake Protocol: Server Hello
Handshake Type: Server Hello (2)
Length: 68
Message Sequence: 0
Fragment Offset: 0
Fragment Length: 68
Version: DTLS 1.2 (0xfefd)
Random: 6516cbc5650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
GMT Unix Time: Sep 29, 2023 15:06:13.000000000 CEST
Random Bytes: 650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
Session ID Length: 0
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
Compression Method: null (0)
Extensions Length: 28
Extension: extended_master_secret (len=0)
Type: extended_master_secret (23)
Length: 0
Extension: renegotiation_info (len=1)
Type: renegotiation_info (65281)
Length: 1
Renegotiation Info extension
Renegotiation info extension length: 0
Extension: ec_point_formats (len=2)
Type: ec_point_formats (11)
Length: 2
EC point formats Length: 1
Elliptic curves point formats (1)
EC point format: uncompressed (0)
Extension: session_ticket (len=0)
Type: session_ticket (35)
Length: 0
Data (0 bytes)
Extension: use_srtp (len=5)
Type: use_srtp (14)
Length: 5
SRTP Protection Profiles Length: 2
SRTP Protection Profile: SRTP_AES128_CM_HMAC_SHA1_80 (0x0001)
MKI Length: 0
[JA3S Fullstring: 65277,52393,23-65281-11-35-14]
[JA3S: ae300052ea0e02e725cf70cef3b6677c]
DTLSv1.2 Record Layer: Handshake Protocol: Certificate
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 1
Length: 299
Handshake Protocol: Certificate
Handshake Type: Certificate (11)
Length: 287
Message Sequence: 1
Fragment Offset: 0
Fragment Length: 287
Certificates Length: 284
Certificates (284 bytes)
Certificate Length: 281
Certificate: 308201153081bca003020102020820eb3430fdee7e7d300a06082a8648ce3d0403023011… (id-at-commonName=WebRTC)
signedCertificate
version: v3 (2)
serialNumber: 0x20eb3430fdee7e7d
signature (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
issuer: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
validity
notBefore: utcTime (0)
utcTime: 2023-09-28 13:05:48 (UTC)
notAfter: utcTime (0)
utcTime: 2023-10-29 13:05:48 (UTC)
subject: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
subjectPublicKeyInfo
algorithm (id-ecPublicKey)
Algorithm Id: 1.2.840.10045.2.1 (id-ecPublicKey)
ECParameters: namedCurve (1)
namedCurve: 1.2.840.10045.3.1.7 (secp256r1)
Padding: 0
subjectPublicKey: 048db7662951ec817f02e94e2bb3aae621434c772f4ce035f5a97e7be41451cbb1691ae6…
algorithmIdentifier (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
Padding: 0
encrypted: 3045022100c9f48f113a766dc87599e86852e1703e092333d1db0ba6987ac009aa20612e…
DTLSv1.2 Record Layer: Handshake Protocol: Server Key Exchange
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 2
Length: 122
Handshake Protocol: Server Key Exchange
Handshake Type: Server Key Exchange (12)
Length: 110
Message Sequence: 2
Fragment Offset: 0
Fragment Length: 110
EC Diffie-Hellman Server Params
Curve Type: named_curve (0x03)
Named Curve: x25519 (0x001d)
Pubkey Length: 32
Pubkey: 3c0f878140e9b09088cfa56fcc6564814260325e547deedd3768559696221f4b
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Length: 70
Signature: 30440220063b4386a5447f1cc898298b09996bf14e2ac6b42516a2bf9e9319e16e214015…
DTLSv1.2 Record Layer: Handshake Protocol: Certificate Request
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 3
Length: 37
Handshake Protocol: Certificate Request
Handshake Type: Certificate Request (13)
Length: 25
Message Sequence: 3
Fragment Offset: 0
Fragment Length: 25
Certificate types count: 2
Certificate types (2 types)
Certificate type: RSA Sign (1)
Certificate type: ECDSA Sign (64)
Signature Hash Algorithms Length: 18
Signature Hash Algorithms (9 algorithms)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: SM2 (4)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (5)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (6)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: RSA (1)
Distinguished Names Length: 0
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello Done
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 4
Length: 12
Handshake Protocol: Server Hello Done
Handshake Type: Server Hello Done (14)
Length: 0
Message Sequence: 4
Fragment Offset: 0
Fragment Length: 0
```
</details>
<details>
<summary>B->G: Server Hello, Certificate, Server Key Exchange, Certificate Request, Server Hello Done</summary>
```
User Datagram Protocol, Src Port: 44073, Dst Port: 49583
Source Port: 44073
Destination Port: 49583
Length: 623
Checksum: 0x842d [unverified]
[Checksum Status: Unverified]
[Stream index: 360]
[Timestamps]
[Time since first frame: 15.714635396 seconds]
[Time since previous frame: 0.000037735 seconds]
UDP payload (615 bytes)
Datagram Transport Layer Security
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 5
Length: 80
Handshake Protocol: Server Hello
Handshake Type: Server Hello (2)
Length: 68
Message Sequence: 0
Fragment Offset: 0
Fragment Length: 68
Version: DTLS 1.2 (0xfefd)
Random: 6516cbc5650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
GMT Unix Time: Sep 29, 2023 15:06:13.000000000 CEST
Random Bytes: 650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
Session ID Length: 0
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
Compression Method: null (0)
Extensions Length: 28
Extension: extended_master_secret (len=0)
Type: extended_master_secret (23)
Length: 0
Extension: renegotiation_info (len=1)
Type: renegotiation_info (65281)
Length: 1
Renegotiation Info extension
Renegotiation info extension length: 0
Extension: ec_point_formats (len=2)
Type: ec_point_formats (11)
Length: 2
EC point formats Length: 1
Elliptic curves point formats (1)
EC point format: uncompressed (0)
Extension: session_ticket (len=0)
Type: session_ticket (35)
Length: 0
Data (0 bytes)
Extension: use_srtp (len=5)
Type: use_srtp (14)
Length: 5
SRTP Protection Profiles Length: 2
SRTP Protection Profile: SRTP_AES128_CM_HMAC_SHA1_80 (0x0001)
MKI Length: 0
[JA3S Fullstring: 65277,52393,23-65281-11-35-14]
[JA3S: ae300052ea0e02e725cf70cef3b6677c]
DTLSv1.2 Record Layer: Handshake Protocol: Certificate
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 6
Length: 299
Handshake Protocol: Certificate
Handshake Type: Certificate (11)
Length: 287
Message Sequence: 1
Fragment Offset: 0
Fragment Length: 287
Certificates Length: 284
Certificates (284 bytes)
Certificate Length: 281
Certificate: 308201153081bca003020102020820eb3430fdee7e7d300a06082a8648ce3d0403023011… (id-at-commonName=WebRTC)
signedCertificate
version: v3 (2)
serialNumber: 0x20eb3430fdee7e7d
signature (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
issuer: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
validity
notBefore: utcTime (0)
utcTime: 2023-09-28 13:05:48 (UTC)
notAfter: utcTime (0)
utcTime: 2023-10-29 13:05:48 (UTC)
subject: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
subjectPublicKeyInfo
algorithm (id-ecPublicKey)
Algorithm Id: 1.2.840.10045.2.1 (id-ecPublicKey)
ECParameters: namedCurve (1)
namedCurve: 1.2.840.10045.3.1.7 (secp256r1)
Padding: 0
subjectPublicKey: 048db7662951ec817f02e94e2bb3aae621434c772f4ce035f5a97e7be41451cbb1691ae6…
algorithmIdentifier (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
Padding: 0
encrypted: 3045022100c9f48f113a766dc87599e86852e1703e092333d1db0ba6987ac009aa20612e…
DTLSv1.2 Record Layer: Handshake Protocol: Server Key Exchange
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 7
Length: 122
Handshake Protocol: Server Key Exchange
Handshake Type: Server Key Exchange (12)
Length: 110
Message Sequence: 2
Fragment Offset: 0
Fragment Length: 110
EC Diffie-Hellman Server Params
Curve Type: named_curve (0x03)
Named Curve: x25519 (0x001d)
Pubkey Length: 32
Pubkey: 3c0f878140e9b09088cfa56fcc6564814260325e547deedd3768559696221f4b
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Length: 70
Signature: 30440220063b4386a5447f1cc898298b09996bf14e2ac6b42516a2bf9e9319e16e214015…
DTLSv1.2 Record Layer: Handshake Protocol: Certificate Request
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 8
Length: 37
Handshake Protocol: Certificate Request
Handshake Type: Certificate Request (13)
Length: 25
Message Sequence: 3
Fragment Offset: 0
Fragment Length: 25
Certificate types count: 2
Certificate types (2 types)
Certificate type: RSA Sign (1)
Certificate type: ECDSA Sign (64)
Signature Hash Algorithms Length: 18
Signature Hash Algorithms (9 algorithms)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: SM2 (4)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (5)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (6)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: RSA (1)
Distinguished Names Length: 0
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello Done
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 9
Length: 12
Handshake Protocol: Server Hello Done
Handshake Type: Server Hello Done (14)
Length: 0
Message Sequence: 4
Fragment Offset: 0
Fragment Length: 0
```
</details>
<details>
<summary>B->G: Server Hello, Certificate, Server Key Exchange, Certificate Request, Server Hello Done</summary>
```
User Datagram Protocol, Src Port: 44073, Dst Port: 49583
Source Port: 44073
Destination Port: 49583
Length: 623
Checksum: 0x842d [unverified]
[Checksum Status: Unverified]
[Stream index: 360]
[Timestamps]
[Time since first frame: 15.824165380 seconds]
[Time since previous frame: 0.046427016 seconds]
UDP payload (615 bytes)
Datagram Transport Layer Security
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 10
Length: 80
Handshake Protocol: Server Hello
Handshake Type: Server Hello (2)
Length: 68
Message Sequence: 0
Fragment Offset: 0
Fragment Length: 68
Version: DTLS 1.2 (0xfefd)
Random: 6516cbc5650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
GMT Unix Time: Sep 29, 2023 15:06:13.000000000 CEST
Random Bytes: 650cf3f9b4a709c6fc00844a4a1408793ef9df0c6d44a91f4f09be62
Session ID Length: 0
Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
Compression Method: null (0)
Extensions Length: 28
Extension: extended_master_secret (len=0)
Type: extended_master_secret (23)
Length: 0
Extension: renegotiation_info (len=1)
Type: renegotiation_info (65281)
Length: 1
Renegotiation Info extension
Renegotiation info extension length: 0
Extension: ec_point_formats (len=2)
Type: ec_point_formats (11)
Length: 2
EC point formats Length: 1
Elliptic curves point formats (1)
EC point format: uncompressed (0)
Extension: session_ticket (len=0)
Type: session_ticket (35)
Length: 0
Data (0 bytes)
Extension: use_srtp (len=5)
Type: use_srtp (14)
Length: 5
SRTP Protection Profiles Length: 2
SRTP Protection Profile: SRTP_AES128_CM_HMAC_SHA1_80 (0x0001)
MKI Length: 0
[JA3S Fullstring: 65277,52393,23-65281-11-35-14]
[JA3S: ae300052ea0e02e725cf70cef3b6677c]
DTLSv1.2 Record Layer: Handshake Protocol: Certificate
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 11
Length: 299
Handshake Protocol: Certificate
Handshake Type: Certificate (11)
Length: 287
Message Sequence: 1
Fragment Offset: 0
Fragment Length: 287
Certificates Length: 284
Certificates (284 bytes)
Certificate Length: 281
Certificate: 308201153081bca003020102020820eb3430fdee7e7d300a06082a8648ce3d0403023011… (id-at-commonName=WebRTC)
signedCertificate
version: v3 (2)
serialNumber: 0x20eb3430fdee7e7d
signature (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
issuer: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
validity
notBefore: utcTime (0)
utcTime: 2023-09-28 13:05:48 (UTC)
notAfter: utcTime (0)
utcTime: 2023-10-29 13:05:48 (UTC)
subject: rdnSequence (0)
rdnSequence: 1 item (id-at-commonName=WebRTC)
RDNSequence item: 1 item (id-at-commonName=WebRTC)
RelativeDistinguishedName item (id-at-commonName=WebRTC)
Id: 2.5.4.3 (id-at-commonName)
DirectoryString: uTF8String (4)
uTF8String: WebRTC
subjectPublicKeyInfo
algorithm (id-ecPublicKey)
Algorithm Id: 1.2.840.10045.2.1 (id-ecPublicKey)
ECParameters: namedCurve (1)
namedCurve: 1.2.840.10045.3.1.7 (secp256r1)
Padding: 0
subjectPublicKey: 048db7662951ec817f02e94e2bb3aae621434c772f4ce035f5a97e7be41451cbb1691ae6…
algorithmIdentifier (ecdsa-with-SHA256)
Algorithm Id: 1.2.840.10045.4.3.2 (ecdsa-with-SHA256)
Padding: 0
encrypted: 3045022100c9f48f113a766dc87599e86852e1703e092333d1db0ba6987ac009aa20612e…
DTLSv1.2 Record Layer: Handshake Protocol: Server Key Exchange
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 12
Length: 122
Handshake Protocol: Server Key Exchange
Handshake Type: Server Key Exchange (12)
Length: 110
Message Sequence: 2
Fragment Offset: 0
Fragment Length: 110
EC Diffie-Hellman Server Params
Curve Type: named_curve (0x03)
Named Curve: x25519 (0x001d)
Pubkey Length: 32
Pubkey: 3c0f878140e9b09088cfa56fcc6564814260325e547deedd3768559696221f4b
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Length: 70
Signature: 30440220063b4386a5447f1cc898298b09996bf14e2ac6b42516a2bf9e9319e16e214015…
DTLSv1.2 Record Layer: Handshake Protocol: Certificate Request
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 13
Length: 37
Handshake Protocol: Certificate Request
Handshake Type: Certificate Request (13)
Length: 25
Message Sequence: 3
Fragment Offset: 0
Fragment Length: 25
Certificate types count: 2
Certificate types (2 types)
Certificate type: RSA Sign (1)
Certificate type: ECDSA Sign (64)
Signature Hash Algorithms Length: 18
Signature Hash Algorithms (9 algorithms)
Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: SM2 (4)
Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
Signature Hash Algorithm Hash: SHA256 (4)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: ECDSA (3)
Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (5)
Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
Signature Hash Algorithm Hash: SHA384 (5)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
Signature Hash Algorithm Hash: Unknown (8)
Signature Hash Algorithm Signature: Unknown (6)
Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
Signature Hash Algorithm Hash: SHA512 (6)
Signature Hash Algorithm Signature: RSA (1)
Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
Signature Hash Algorithm Hash: SHA1 (2)
Signature Hash Algorithm Signature: RSA (1)
Distinguished Names Length: 0
DTLSv1.2 Record Layer: Handshake Protocol: Server Hello Done
Content Type: Handshake (22)
Version: DTLS 1.2 (0xfefd)
Epoch: 0
Sequence Number: 14
Length: 12
Handshake Protocol: Server Hello Done
Handshake Type: Server Hello Done (14)
Length: 0
Message Sequence: 4
Fragment Offset: 0
Fragment Length: 0
```
</details>
### SDP offer from GStreamer
When the SDP offer gets created with GStreamer, the setup works:
1. Run the attached [`webrtc.py`](/uploads/67da5c9590f7d1a41c552cd241013c4e/webrtc.py) with `python3 webrtc.py create-offer > offer.sdp` and wait until `offer.sdp` contains the SDP offer
2. Open the attached [`webrtc.html`](/uploads/210c902fc19d2375e363681140f65d26/webrtc.html) in a browser with WebRTC support (e.g., current Chromium)
3. Copy the SDP offer from `offer.sdp` into the textarea
4. Click on the button **Create Answer** to create a SDP answer
5. Wait until the content of the textarea changes and shows the SDP answer
6. Copy the SDP answer from the textbox and paste it to the `stdin` of running `webrtc.py` from the first step.
7. Send a `EOL` e.g. by pressing `Ctrl-D` to the `webrtc.py`.
8. ICE and DTLS handshake work
9. `videotestsrc` will be shown in Browser
#### GST_DEBUG Log Output
Runnig `GST_DEBUG="dtls*:9" python3 webrtc.py create-offer > offer.sdp`:
<details>
```
0:00:00.341974112 3234903 0x7ff9000028c0 DEBUG dtlsdec gstdtlsdec.c:676:get_agent_by_pem: no agent with generated cert found, creating new
0:00:00.342141806 3234903 0x7ff9000028c0 LOG dtlsconnection gstdtlsconnection.c:1302:bio_method_new: BIO: new
0:00:00.342164191 3234903 0x7ff9000028c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> connection created: role=server buf=((nil):0/0) 10110|0 before SSL initialization
0:00:00.342742190 3234903 0x7ff9000028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.342880902 3234903 0x7ff9000028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:430:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added rtp sink pad
0:00:00.342893674 3234903 0x7ff9000028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.342897478 3234903 0x7ff9000028c0 DEBUG dtlsenc gstdtlsenc.c:384:gst_dtls_enc_request_new_pad:<dtlsenc0> sink pad requested
0:00:00.342922461 3234903 0x7ff9000028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:453:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added data sink pad
0:00:00.342930751 3234903 0x7ff9000028c0 DEBUG dtlssrtpenc gstdtlssrtpenc.c:393:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> pad requested
0:00:00.343000871 3234903 0x7ff9000028c0 LOG dtlssrtpenc gstdtlssrtpenc.c:445:gst_dtls_srtp_enc_request_new_pad:<dtlssrtpenc0> added rtcp sink pad
0:00:00.343141256 3234903 0x7ff9000028c0 DEBUG dtlssrtpdec gstdtlssrtpdec.c:316:gst_dtls_srtp_dec_request_new_pad:<dtlssrtpdec0> pad requested
0:00:00.343147085 3234903 0x7ff9000028c0 DEBUG dtlsdec gstdtlsdec.c:377:gst_dtls_dec_request_new_pad:<dtlsdec0> requesting pad
0:00:00.343174659 3234903 0x7ff9000028c0 LOG dtlssrtpdec gstdtlssrtpdec.c:335:gst_dtls_srtp_dec_request_new_pad:<dtlssrtpdec0> added data src pad
0:00:17.230219515 3234903 0x7ff8f80020c0 DEBUG dtlsdec gstdtlsdec.c:742:gst_dtls_dec_fetch_connection: fetching 'rtp_0_416878479' from connection table, size is 1
0:00:17.230255484 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:590:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7ff8f80062a0> locking @ set_send_callback
0:00:17.230261978 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:592:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7ff8f80062a0> locked @ set_send_callback
0:00:17.230264715 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:600:gst_dtls_connection_set_send_callback:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ set_send_callback
0:00:17.230295384 3234903 0x7ff8f80020c0 DEBUG dtlsenc gstdtlsenc.c:415:src_activate_mode:<dtlsenc0> src pad activating in push mode
0:00:17.230353157 3234903 0x7ff8f80020c0 DEBUG dtlsenc gstdtlsenc.c:362:gst_dtls_enc_change_state:<dtlsenc0> starting connection rtp_0_416878479
0:00:17.230360726 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:338:gst_dtls_connection_start:<GstDtlsConnection@0x7ff8f80062a0> locking @ start
0:00:17.230364770 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:340:gst_dtls_connection_start:<GstDtlsConnection@0x7ff8f80062a0> locked @ start
0:00:17.230374373 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> initial state set: role=server buf=((nil):0/0) 10110|0 before SSL initialization
0:00:17.230379865 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):0/0) 10110|0 before SSL initialization
0:00:17.230415536 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.230426331 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 6
0:00:17.230433000 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.230429283 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.230443146 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.230437379 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.230447549 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:17.230454646 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.230460500 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):0/0) 1010010|0 before SSL initialization
0:00:17.230463982 3234903 0x7ff8f80020c0 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.230468008 3234903 0x7ff8f80020c0 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.230478832 3234903 0x7ff8f80020c0 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> first poll done: role=server buf=((nil):0/0) 1010010|0 before SSL initialization
0:00:17.230484101 3234903 0x7ff8f80020c0 TRACE dtlsconnection gstdtlsconnection.c:376:gst_dtls_connection_start:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ start
0:00:17.230617389 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.230629893 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.230634944 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.230639843 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.230647718 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106780:0/157) 1010010|0 before SSL initialization
0:00:17.230656908 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.230668218 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.230745423 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.230750999 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:485:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> no timeout set
0:00:17.230758835 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.230764111 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999996 usec
0:00:17.230841293 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230846097 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1288:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: MTU query, returning 0...
0:00:17.230849401 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230854095 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230858677 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 42
0:00:17.230863577 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230868264 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: pending write
0:00:17.230874263 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.230903640 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.230910970 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999992 usec
0:00:17.230918944 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230924594 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.230930580 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.230937126 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.230943211 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.230953576 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.230958907 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.230963569 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.230969502 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.230975380 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.230979299 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:17.230986062 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.230981379 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.230997330 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.231003883 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.231009473 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.231013988 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.231018252 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.231020642 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.231022686 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.231032422 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.231038186 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.231047773 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.231054178 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.231059178 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.231063553 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.231068223 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.231072725 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.231077520 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.231083479 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.231085696 3234903 0x7ff8e00061e0 TRACE dtlsconnection gstdtlsconnection.c:498:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7ff8f80062a0> locking @ start_timeout
0:00:17.232049933 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.232057059 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999992 usec
0:00:17.232063285 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232066685 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232072222 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.232078016 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.232084820 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.232090437 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.232095009 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.232099733 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.232104802 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.232109860 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.232116041 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.232128111 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.232134342 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999994 usec
0:00:17.232141677 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232147266 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232153620 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.232159615 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.232165874 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.232171535 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.232176293 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.232181105 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.232185999 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.232191127 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.232197060 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.232203210 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.232208668 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999995 usec
0:00:17.232215406 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232220933 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.232226510 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.232232526 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 73
0:00:17.232239071 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 73
0:00:17.232250384 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.232255812 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.232260297 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.232264599 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.232269471 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.232275959 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232281083 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232286844 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232292955 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.232299153 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232308667 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232317627 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232324832 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232329438 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232334720 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232343079 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232348321 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.232354224 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232365997 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232372192 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.232383880 3234903 0x7ff8e00061e0 TRACE dtlsconnection gstdtlsconnection.c:500:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7ff8f80062a0> locked @ start_timeout
0:00:17.232391437 3234903 0x7ff8e00061e0 DEBUG dtlsconnection gstdtlsconnection.c:454:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> waiting for 999812 usec
0:00:17.232401541 3234903 0x7ff8e00061e0 TRACE dtlsconnection gstdtlsconnection.c:503:gst_dtls_connection_check_timeout:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ start_timeout
0:00:17.232405339 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232408184 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232410977 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.232413643 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.232419169 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.232433937 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.232436615 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232443210 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232448884 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.232448924 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.232454151 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.232462918 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.232477720 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.232488160 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f81068c0:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232493086 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232496521 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232498425 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232505572 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.232513588 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232516720 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.232522895 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.232518531 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232530883 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232537188 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.232540714 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232542999 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232544519 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232551424 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.232552542 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232554344 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.232562020 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232570216 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232575291 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232580841 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232585988 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232590061 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232592489 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232595823 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.232598240 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.232604905 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.232608742 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232621089 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232622325 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.232627858 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.232634260 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.232642086 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.232650352 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:17.232664570 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.232671320 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.232675970 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.232680552 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.232689917 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106a00:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232695686 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232701664 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.232706584 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232710865 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232715867 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232720655 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.232725505 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232732441 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232738972 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232744731 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232748667 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232753906 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232760949 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232764892 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.232770161 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232776585 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232780595 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.232786045 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.232794299 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.232800892 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.232805370 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.232809678 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.232816772 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106b40:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232822249 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232828460 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.232833197 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232837431 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232842017 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232846646 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.232851300 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232860746 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232867703 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232873319 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232877058 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232882219 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232889162 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232892884 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.232898106 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232904561 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232908365 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.232913696 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.232920665 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.232926208 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.232930404 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.232934821 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.232944211 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106c80:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232950296 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232957090 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.232961907 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.232966049 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.232970959 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.232975557 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.232980141 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.232986900 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232993168 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.232998520 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233002284 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.233006888 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.233013143 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233017397 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.233022455 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.233029057 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233032883 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.233038934 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.233045725 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.233051561 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.233055542 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.233060050 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.233066214 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106dc0:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233071987 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233078016 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.233082654 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233086673 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.233091250 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.233096066 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.233100521 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.233106686 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233113387 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233118826 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233122583 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.233127728 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.233134675 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233138545 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.233143634 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.233150256 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233154453 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.233160116 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.233166832 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.233172495 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 157
0:00:17.233176622 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.233181102 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.233188181 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f8106f00:0/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233193309 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233199359 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 157/157 bytes 157 at offset 0, output buff size is 16717
0:00:17.233204665 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233208343 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.233212880 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.233217541 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: -1
0:00:17.233222154 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.233228607 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233235197 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233240179 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233244403 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.233248815 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.233255217 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233259431 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1078:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> do_handshake encountered potential BIO error
0:00:17.233264438 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.233270864 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):157/157) 1010010|1a SSLv3/TLS write server done
0:00:17.233274958 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.233280200 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 157 B to 0
0:00:17.233287015 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:127:sink_chain:<dtlssrtpdemux0> pushing dtls packet
0:00:17.233292379 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:611:sink_chain:<dtlsdec0> received buffer from rtp_0_416878479 with length 543
0:00:17.233296514 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:627:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locking @ process
0:00:17.233301143 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:629:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> locked @ process
0:00:17.233308048 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process start: role=server buf=(0x7ff8f80ff7b0:0/543) 1010010|1a SSLv3/TLS write server done
0:00:17.233313212 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.233319039 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1238:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> reading 543/543 bytes 543 at offset 0, output buff size is 16717
0:00:17.233772745 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1126:openssl_verify_callback:<GstDtlsConnection@0x7ff8f80062a0> Peer certificate received:
commonName = WebRTC
0:00:17.233787799 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:457:on_peer_certificate_received:<dtlsdec0> Received peer certificate PEM:
-----BEGIN CERTIFICATE-----
MIIBFDCBvKADAgECAgg6RIZ9ezk+ezAKBggqhkjOPQQDAjARMQ8wDQYDVQQDDAZX
ZWJSVEMwHhcNMjMwOTI4MTM1NTAzWhcNMjMxMDI5MTM1NTAzWjARMQ8wDQYDVQQD
DAZXZWJSVEMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR2TvDWsk+z5gaGvTOo
sdvtCtOmyhd46zr1UW1tZjYK8B+I0yHyH/nHc4omF99EarIf4HJOELOUW8ed1au9
cxkfMAoGCCqGSM49BAMCA0cAMEQCIGX6XmZNQYb3Z1h1qgsjbE3cc9i0BnibkKiu
+xBDR1U8AiAar0ZrS0uAT9mWuNlcEuIvk5mdJCnyQ8RajpVOKl384w==
-----END CERTIFICATE-----
0:00:17.233824704 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1126:openssl_verify_callback:<GstDtlsConnection@0x7ff8f80062a0> Peer certificate received:
commonName = WebRTC
0:00:17.233831592 3234903 0x7ff8f8002000 DEBUG dtlsdec gstdtlsdec.c:457:on_peer_certificate_received:<dtlsdec0> Received peer certificate PEM:
-----BEGIN CERTIFICATE-----
MIIBFDCBvKADAgECAgg6RIZ9ezk+ezAKBggqhkjOPQQDAjARMQ8wDQYDVQQDDAZX
ZWJSVEMwHhcNMjMwOTI4MTM1NTAzWhcNMjMxMDI5MTM1NTAzWjARMQ8wDQYDVQQD
DAZXZWJSVEMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR2TvDWsk+z5gaGvTOo
sdvtCtOmyhd46zr1UW1tZjYK8B+I0yHyH/nHc4omF99EarIf4HJOELOUW8ed1au9
cxkfMAoGCCqGSM49BAMCA0cAMEQCIGX6XmZNQYb3Z1h1qgsjbE3cc9i0BnibkKiu
+xBDR1U8AiAar0ZrS0uAT9mWuNlcEuIvk5mdJCnyQ8RajpVOKl384w==
-----END CERTIFICATE-----
0:00:17.234097094 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1262:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: Timeout set
0:00:17.234103622 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:485:gst_dtls_connection_check_timeout_locked:<GstDtlsConnection@0x7ff8f80062a0> no timeout set
0:00:17.234513958 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234521382 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234526895 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1277:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: pending write
0:00:17.234532280 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.234538946 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 255
0:00:17.234544653 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 255
0:00:17.234550232 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.234554520 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.234558980 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.234564536 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.234570223 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.234574061 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:17.234576168 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.234581745 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.234590322 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 256
0:00:17.234597302 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.234600533 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 256
0:00:17.234610787 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.234615216 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.234619328 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.234623552 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.234628701 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.234631690 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.234634387 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.234639125 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.234649075 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234659604 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234654662 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.234665967 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.234671023 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.234696807 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234699179 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.234720204 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.234711308 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 49
0:00:17.234728667 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:17.234738408 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 73
0:00:17.234744487 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1199:bio_method_write:<GstDtlsConnection@0x7ff8f80062a0> BIO: writing 109
0:00:17.234749440 3234903 0x7ff8f8002000 DEBUG dtlsenc gstdtlsenc.c:666:on_send_data:<dtlsenc0> sending data from rtp_0_416878479 with length 109
0:00:17.234755125 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:671:on_send_data:<dtlsenc0> send data: acquiring lock
0:00:17.234758817 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:673:on_send_data:<dtlsenc0> send data: acquired lock
0:00:17.234763298 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:677:on_send_data:<dtlsenc0> send data: signaling add
0:00:17.234768063 3234903 0x7ff8f8002000 TRACE dtlsenc gstdtlsenc.c:680:on_send_data:<dtlsenc0> send data: releasing lock
0:00:17.234772885 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1285:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: flushing
0:00:17.234775155 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:467:src_task_loop:<dtlsenc0> src loop: add signaled
0:00:17.234778078 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 7
0:00:17.234779740 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:476:src_task_loop:<dtlsenc0> src loop: queue has element
0:00:17.234786007 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1294:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: unhandled ctrl, 76
0:00:17.234787481 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:498:src_task_loop:<dtlsenc0> src loop: releasing lock
0:00:17.234791596 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1220:bio_method_read:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF
0:00:17.234801303 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:1273:bio_method_ctrl:<GstDtlsConnection@0x7ff8f80062a0> BIO: EOF query returned 0
0:00:17.234806116 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:676:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> read result: 0
0:00:17.234811244 3234903 0x7ff8f8002000 DEBUG dtlsconnection gstdtlsconnection.c:1023:handle_error:<GstDtlsConnection@0x7ff8f80062a0> OpenSSL reported a syscall error. flow_return=0
0:00:17.234815884 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:453:src_task_loop:<dtlsenc0> src loop: acquiring lock
0:00:17.234819248 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after read: role=server buf=((nil):543/543) 1000001|1 SSL negotiation finished successfully
0:00:17.234821481 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:455:src_task_loop:<dtlsenc0> src loop: acquired lock
0:00:17.234829318 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: before handshake: role=server buf=((nil):543/543) 1000001|1 SSL negotiation finished successfully
0:00:17.234832060 3234903 0x7ff8e00061e0 TRACE dtlsenc gstdtlsenc.c:465:src_task_loop:<dtlsenc0> src loop: queue empty, waiting for add
0:00:17.234837642 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> poll: after handshake: role=server buf=((nil):543/543) 1000001|1 SSL negotiation finished successfully
0:00:17.234842722 3234903 0x7ff8f8002000 INFO dtlsconnection gstdtlsconnection.c:1057:openssl_poll:<GstDtlsConnection@0x7ff8f80062a0> handshake just completed successfully, exporting keys
0:00:17.234861565 3234903 0x7ff8f8002000 INFO dtlsconnection gstdtlsconnection.c:922:export_srtp_keys:<GstDtlsConnection@0x7ff8f80062a0> keys received, profile is SRTP_AES128_CM_SHA1_80
0:00:17.234871182 3234903 0x7ff8f8002000 INFO dtlsenc gstdtlsenc.c:653:on_key_received:<dtlsenc0> received key: 7U7xhpd2P/89MQFY8fkF470Q4+dnJJF9s4HdE4hl
0:00:17.234908829 3234903 0x7ff8f8002000 INFO dtlsdec gstdtlsdec.c:445:on_key_received:<dtlsdec0> received key: 3Cbju/Ym1Wr1K92U/xClKFeWg+pIfzuw9bK8gBHL
0:00:17.234926121 3234903 0x7ff8f8002000 LOG dtlsconnection gstdtlsconnection.c:853:log_state:<GstDtlsConnection@0x7ff8f80062a0> process after poll: role=server buf=((nil):543/543) 1000001|1 SSL negotiation finished successfully
0:00:17.234933284 3234903 0x7ff8f8002000 TRACE dtlsconnection gstdtlsconnection.c:717:gst_dtls_connection_process:<GstDtlsConnection@0x7ff8f80062a0> unlocking @ process
0:00:17.234967966 3234903 0x7ff8f8002000 LOG dtlsdec gstdtlsdec.c:493:process_buffer:<dtlsdec0> Decoded buffer of size 543 B to 0
0:00:17.748286600 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:133:sink_chain:<dtlssrtpdemux0> pushing rtp packet
0:00:18.230867320 3234903 0x7ff8c8009060 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7ff8f80062a0> Schedule timeout now
0:00:18.231011230 3234903 0x7ff8e80035e0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7ff8f80062a0> handle timeout returned 0, is_alive: 1
0:00:18.232114068 3234903 0x7ff8c8009060 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7ff8f80062a0> Schedule timeout now
0:00:18.232167026 3234903 0x7ff8e80035e0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7ff8f80062a0> handle timeout returned 0, is_alive: 1
0:00:18.232189406 3234903 0x7ff8c8009060 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7ff8f80062a0> Schedule timeout now
0:00:18.232240209 3234903 0x7ff8e80035e0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7ff8f80062a0> handle timeout returned 0, is_alive: 1
0:00:18.232262446 3234903 0x7ff8c8009060 TRACE dtlsconnection gstdtlsconnection.c:431:schedule_timeout_handling:<GstDtlsConnection@0x7ff8f80062a0> Schedule timeout now
0:00:18.232316381 3234903 0x7ff8e80035e0 DEBUG dtlsconnection gstdtlsconnection.c:402:handle_timeout:<GstDtlsConnection@0x7ff8f80062a0> handle timeout returned 0, is_alive: 1
0:00:18.435897892 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:133:sink_chain:<dtlssrtpdemux0> pushing rtp packet
0:00:19.092105491 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:133:sink_chain:<dtlssrtpdemux0> pushing rtp packet
0:00:20.342085455 3234903 0x7ff8f8002000 LOG dtlssrtpdemux gstdtlssrtpdemux.c:133:sink_chain:<dtlssrtpdemux0> pushing rtp packet
```
</details>
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3011
check elements_svthevc* fails under valgrind
2023-09-29T14:02:07Z
Jordan Petridіs
check elements_svthevc* fails under valgrind
To reproduce:
```bash
TEST_SUITE="check.gst-plugins-bad.elements_svthevc*"
TIMEOUT_FACTOR="8"
EXTRA_VALIDATE_ARGS="--valgrind"
./gst-env.py --builddir=$BUILDDIR \
gst-validate-launcher \
"${TEST_SUITE}" \
--shuffle \
-...
To reproduce:
```bash
TEST_SUITE="check.gst-plugins-bad.elements_svthevc*"
TIMEOUT_FACTOR="8"
EXTRA_VALIDATE_ARGS="--valgrind"
./gst-env.py --builddir=$BUILDDIR \
gst-validate-launcher \
"${TEST_SUITE}" \
--shuffle \
--meson-no-rebuild \
--timeout-factor "$TIMEOUT_FACTOR" \
--no-display \
--fail-on-testlist-change \
--debug \
-l "validate-logs/" \
$EXTRA_VALIDATE_ARGS
```
Output:
```
Running 4 tests...
check.gst-plugins-bad.elements_svthevcenc.test_no_encoding: Failed 'Application returned 1'
Log: validate-logs/check/gst-plugins-bad/elements_svthevcenc/test_no_encoding.md
check.gst-plugins-bad.elements_svthevcenc.test_encode_simple: Failed 'Application returned 1'
Log: validate-logs/check/gst-plugins-bad/elements_svthevcenc/test_encode_simple.md
check.gst-plugins-bad.elements_svthevcenc.test_reuse: Failed 'Application returned 1'/4]
Log: validate-logs/check/gst-plugins-bad/elements_svthevcenc/test_reuse.md
check.gst-plugins-bad.elements_svthevcenc.test_reconfigure: Failed 'Application returned 1'
Log: validate-logs/check/gst-plugins-bad/elements_svthevcenc/test_reconfigure.md
...
Failed: 4
```
Logs and valgrind files:
[elements_svthevcenc.zip](/uploads/c24603408553bd4acd455d47d82baffb/elements_svthevcenc.zip)
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3009
Problems when dealing with mpeg-ts and H26X encoding with more than one slice
2023-10-06T06:44:27Z
Jonas Danielsson
Problems when dealing with mpeg-ts and H26X encoding with more than one slice
This is discussed on discourse here: https://discourse.gstreamer.org/t/problems-when-dealing-with-mpeg-ts-and-h26x-encoding-with-more-than-one-slice/166/1
Wanted to upload samples of h265:
[raw.gdp](/uploads/03a16c145df54b32ab9e1a1cca1...
This is discussed on discourse here: https://discourse.gstreamer.org/t/problems-when-dealing-with-mpeg-ts-and-h26x-encoding-with-more-than-one-slice/166/1
Wanted to upload samples of h265:
[raw.gdp](/uploads/03a16c145df54b32ab9e1a1cca10bbab/raw.gdp)
Extract with:
```plaintext
gst-launch-1.0 filesrc location=../raw.gdp ! gdpdepay ! multifilesink location="%05d.h265"
```
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/441
gtk4paintablesink: Add support for direct-scanout / zero-copy on Wayland (usi...
2024-02-18T18:47:08Z
Robert Mader
gtk4paintablesink: Add support for direct-scanout / zero-copy on Wayland (using subsurfaces with YCbCr/YUV formats)
# Motivation
Wayland allows us to pass dmabufs from hardware video decoders directly to the system compositor, which again may be able to pass them on to display controller hardware planes, archiving highly resource efficient video play...
# Motivation
Wayland allows us to pass dmabufs from hardware video decoders directly to the system compositor, which again may be able to pass them on to display controller hardware planes, archiving highly resource efficient video playback. That is the concept behind `GstWl`/`waylandsink`/`gtkwaylandsink` which, however, focus on embedded use cases.
Adding support for this to `gtk4paintablesink` would greatly increase its reach, making video (and possible [camera](https://gitlab.gnome.org/GNOME/snapshot)) apps more efficient. Optimally, things will work transparently for apps, so various video players like Clapper would automatically benefit from it. This in turn would benefit the whole Linux/Wayland ecosystem in various ways.
# Idea
Whenever possible the `gtk4paintablesink` should use a Wayland subsurface to upload dmabufs directly, essentially like `gtkwaylandsink`. Otherwise it should fall back to the current behavior and render the content via GSK.
In case of Clapper this would be the case when no controls/overlays are visible (the `gtk4paintablesink` is fully unobscured, no other GTK widgets are on top) and no modifications are done to the visible area (no clip masks for e.g. rounded corners) - i.e. when Clapper is in fullscreen mode.
# Steps / Brainstorming
I haven't investigated the details yet, but on a high level I think at least the following steps would be necessary:
1. The `gtk4paintablesink` needs direct access to dmabufs. Possibly either:
1. Advertise the capabilities for `video/x-raw(memory:DMABuf)` with formats like `NV12`, `P010_10LE`, `YUY2` etc. Judging from https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/commit/95a7a3c0eca1799898dab5b321b72a5b394d87b1 for the GSK path some kind of shader would be necessary in order to meet the renderers expectations, even if the driver can sample directly from the format.
2. Add the formats to the `video/x-raw(memory:GLMemory)` section and re-export the dmabufs if needed?
2. In order to properly detect the cases when we can use a subsurface we most likely need new API in GTK4. Something along the lines of `gtk_widget_can_be_promoted_to_overlay()`
3. GTK4 unofficially supports subsurfaces in a similar way to GTK3 (where subsurfaces are used by `gtkwaylandsink` and notably Firefox), however it hasn't carried over dirty hacks like [this](https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3111). Thus better subsurface support API most likely is needed.
---
Notes:
- Gnome/Mutter supports YUV format since the recently released version 45
cc @slomo @company @ndufresne @gkiagia @ocrete
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3007
libva does not respect the meson pkgconfig variable set in cross file
2023-09-29T09:25:26Z
Maciej Andrzejewski
libva does not respect the meson pkgconfig variable set in cross file
Tested on `main` branch of the gstreamer.
Run the meson with this pkg-config setup:
```
(...)
[binaries]
c = ['arm-buildroot-linux-gnueabi-gcc']
cpp = ['arm-buildroot-linux-gnueabi-g++']
ar = ['arm-buildroot-linux-gnueabi-ar']
pkgconfig...
Tested on `main` branch of the gstreamer.
Run the meson with this pkg-config setup:
```
(...)
[binaries]
c = ['arm-buildroot-linux-gnueabi-gcc']
cpp = ['arm-buildroot-linux-gnueabi-g++']
ar = ['arm-buildroot-linux-gnueabi-ar']
pkgconfig = '/tmp/project/pkg-config-wrapper.sh'
strip = ['arm-buildroot-linux-gnueabi-strip']
cmake = ['false']
```
File `/tmp/project/pkg-config-wrapper.sh`:
```
#!/bin/bash
export PKG_CONFIG_SYSROOT_DIR=/tmp/sysroot/target-arm-buildroot-linux-gnueabi_glibc
exec pkg-config "$@"
```
The messon log:
```
(...)
gstreamer| Found pkg-config: /tmp/project/pkg-config-wrapper.sh (0.29.2)
(...)
libva| Found pkg-config: /usr/bin/pkg-config (0.29.2)
```
It detected correct pkg-config for the gstreamer but take default path to pkg-config in the libva which render the cross-compilation useless.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/485
Adding Rust tutorial code to the docs website
2023-10-03T12:07:56Z
Michiel Westerbeek
Adding Rust tutorial code to the docs website
Hi, I'm interested to help add Rust as a language in the current gstreamer documentation.
Most of the tutorials code is already ported to rust: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/blob/main/tutorials/src/bin/basic-tut...
Hi, I'm interested to help add Rust as a language in the current gstreamer documentation.
Most of the tutorials code is already ported to rust: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/blob/main/tutorials/src/bin/basic-tutorial-1.rs
I think it would be a great experience if we could add that to the main documentation site (https://gstreamer.freedesktop.org/documentation/tutorials/basic/hello-world.html?gi-language=python) since most (new) users will discover that first.
Reaching out to see if there is any interest from the maintainers to do that, and get any hints on how to get started.
I think we won't want to duplicate the tutorials code across gst-docs and gstreamer-rs, so we'd have to find a way to resolve that.
Interested to hear your thoughts!
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3002
error: undefined reference to 'gst_drm_dumb_allocator_get_type' on Clang 17
2023-09-25T20:29:07Z
intractabilis
error: undefined reference to 'gst_drm_dumb_allocator_get_type' on Clang 17
When compiling GStreamer's git snapshot with Clang 17, I see an error quoted in the subject. Here is the full output:
```
[511/3255] Generating subprojects/gst-plugins-base/gst-libs/gst/allocators/GstAllocators-1.0.gir with a custom comm...
When compiling GStreamer's git snapshot with Clang 17, I see an error quoted in the subject. Here is the full output:
```
[511/3255] Generating subprojects/gst-plugins-base/gst-libs/gst/allocators/GstAllocators-1.0.gir with a custom command (wrapped by meson to set env)
FAILED: subprojects/gst-plugins-base/gst-libs/gst/allocators/GstAllocators-1.0.gir
env PKG_CONFIG_PATH=/opt/intel/oneapi/mkl/2023.2.0/lib/pkgconfig:/opt/intel/oneapi/tbb/2021.10.0/env/../lib/pkgconfig:/home/user/clang-env/share/pkgconfig:/home/user/clang-env/lib/pkgconfig:/home/user/gcc-env/share/pkgconfig:/home/user/gcc-env/lib/pkgconfig:/home/user/binutils-env/lib/pkgconfig:/home/user/libs-dev/GTK/gstreamer-build/meson-uninstalled CC=clang /home/user/clang-env/bin/g-ir-scanner --quiet --no-libtool --namespace=GstAllocators --nsversion=1.0 --warn-all --output subprojects/gst-plugins-base/gst-libs/gst/allocators/GstAllocators-1.0.gir '--add-init-section=extern void gst_init(gint*,gchar**);g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);g_setenv("GST_REGISTRY_1.0", "/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gir_empty_registry.reg", TRUE);g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);gst_init(NULL,NULL);' --quiet --c-include=gst/allocators/allocators.h -I/home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/allocators -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs/gst/allocators -I/home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base/. -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/. -I/home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base/gst-libs -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs -I/home/user/libs-dev/GTK/gstreamer/subprojects/gstreamer/. -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/. --filelist=/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs/gst/allocators/libgstallocators-1.0.so.0.2300.0.p/GstAllocators_1.0_gir_filelist --include=Gst-1.0 --symbol-prefix=gst --identifier-prefix=Gst --pkg-export=gstreamer-allocators-1.0 --cflags-begin -DG_DISABLE_DEPRECATED -I/home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base/. -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/. -I/home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base/gst-libs -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs -I/home/user/libs-dev/GTK/gstreamer/subprojects/gstreamer/. -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/. -I/home/user/libs-dev/GTK/gstreamer/subprojects/gstreamer/gst/parse -I/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst/parse -I/usr/include/libdrm -I/home/user/clang-env/include/glib-2.0 -I/home/user/clang-env/lib/glib-2.0/include -I/home/user/clang-env/include/gobject-introspection-1.0 --cflags-end --add-include-path=/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst --add-include-path=/home/user/clang-env/share/gir-1.0 -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -L/home/user/clang-env/lib -L/home/user/binutils-env/lib --extra-library=gstreamer-1.0 -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs/gst/allocators --library gstallocators-1.0 -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -L/home/user/clang-env/lib -L/home/user/binutils-env/lib --extra-library=drm --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=gmodule-2.0 --extra-library=m --extra-library=dl --extra-library=unwind --extra-library=dw --extra-library=elf --extra-library=girepository-1.0 --sources-top-dirs /home/user/libs-dev/GTK/gstreamer/subprojects/gst-plugins-base --sources-top-dirs /home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base
/home/user/libs-dev/GTK/gstreamer-build/tmp-introspect2vkccofq/GstAllocators-1.0.o:GstAllocators-1.0.c:GI_GET_TYPE_FUNCS_: error: undefined reference to 'gst_drm_dumb_allocator_get_type'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
I checked, `libgstallocators-1.0.so` exists and does have gst_drm_dumb_allocator_get_type:
```
$ objdump --syms subprojects/gst-plugins-base/gst-libs/gst/allocators/libgstallocators-1.0.so | grep gst_drm_dumb_allocator_get_type
00000000000061b0 l O .bss 0000000000000008 gst_drm_dumb_allocator_get_type.static_g_define_type_id
0000000000001c50 l F .text 000000000000007f gst_drm_dumb_allocator_get_type_once
0000000000001c00 g F .text 0000000000000045 gst_drm_dumb_allocator_get_type
```
Here is the command line invoked by the scanner, which is, in fact, failed:
```
clang -o /home/user/libs-dev/GTK/gstreamer-build/tmp-introspectyjny159h/GstAllocators-1.0 /home/user/libs-dev/GTK/gstreamer-build/tmp-introspectyjny159h/GstAllocators-1.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -Wl,-rpath,/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -L/home/user/clang-env/lib -Wl,-rpath,/home/user/clang-env/lib -L/home/user/binutils-env/lib -Wl,-rpath,/home/user/binutils-env/lib -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs/gst/allocators -Wl,-rpath,/home/user/libs-dev/GTK/gstreamer-build/subprojects/gst-plugins-base/gst-libs/gst/allocators -L/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -Wl,-rpath,/home/user/libs-dev/GTK/gstreamer-build/subprojects/gstreamer/gst -L/home/user/clang-env/lib -Wl,-rpath,/home/user/clang-env/lib -L/home/user/binutils-env/lib -Wl,-rpath,/home/user/binutils-env/lib -lgstallocators-1.0 -lgstreamer-1.0 -ldrm -lglib-2.0 -lgobject-2.0 -lgmodule-2.0 -lm -ldl -lunwind -ldw -lelf -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0
```
GCC builds without errors.