GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2022-03-04T21:52:40Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1088camerabin: 'start-capture' signal freezes program2022-03-04T21:52:40ZTim Williamscamerabin: 'start-capture' signal freezes program(first posted this as an issue on [msys2/MINGW-packages](https://github.com/msys2/MINGW-packages/issues/5816) )
I'm trying to use gstreamer in a python program I have. I have eveything running fine using python3.4 and pygbject/gstream...(first posted this as an issue on [msys2/MINGW-packages](https://github.com/msys2/MINGW-packages/issues/5816) )
I'm trying to use gstreamer in a python program I have. I have eveything running fine using python3.4 and pygbject/gstreamer installed using [PyGObject for Windows](https://sourceforge.net/projects/pygobjectwin32/). The problem with this is I'd like to update to a newer python (from 3.4) and gstreamer (from 1.12)
I installed msys2 (x86_64) along with all the packages I needed for gstreamer. My program works just fine, in that I can connect to a camera and set the state to PLAYING. The problem comes when I try to capture the video using camerabin. As soon as I emit the 'start-capture' signal from my pipeline, my program locks up. I have to kill the python process.
I installed older versions of gstreamer on my msys2 environment, and found that I could capture frames with v1.12, but not 1.14.Nicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/670UriDecodeBin fails to use giosrc for dav URIs2022-05-04T05:29:40ZIñigo IllanUriDecodeBin fails to use giosrc for dav URIsI have been trying to reproduce videos from a dav server but uridecodebin doesn't seem to know how to handle dav resources.
More specifically, if I try running:
`gst-launch-1.0 -v playbin3 uri="dav://....mp4"`
I get the following erro...I have been trying to reproduce videos from a dav server but uridecodebin doesn't seem to know how to handle dav resources.
More specifically, if I try running:
`gst-launch-1.0 -v playbin3 uri="dav://....mp4"`
I get the following error:
```
Missing element: DAV protocol source
ERROR: from element /GstURISourceBin:urisourcebin0: No URI handler implemented for "dav".
Additional debug info:
gsturisourcebin.c(1521): gen_source_element (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0
```
I have giosrc installed and I can run `gst-launch-1.0 -v giosrc location="dav://....mp4" ! fakesink` perfectly fine
- Operating System: Ubuntu 19.10 (Beta)
- Gstreamer version: 1.16.0https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/192cerbero fails to build package gstreamer-1.0 on ubuntu 18.04.03 LTS2020-01-01T18:50:54ZAndrew Waterscerbero fails to build package gstreamer-1.0 on ubuntu 18.04.03 LTSInstalled vanilla ubuntu 18.04.03 LTS on a spare PC and tried to use Gstreamer java (GST-Core) which I've used successfully with windows. Seems ubuntu uses an "old" version (14) that has some missing APIs so I wanted to install a new ve...Installed vanilla ubuntu 18.04.03 LTS on a spare PC and tried to use Gstreamer java (GST-Core) which I've used successfully with windows. Seems ubuntu uses an "old" version (14) that has some missing APIs so I wanted to install a new version and followed the instructions at https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-cerbero.html?gi-language=c
After many manual installations of dependencies it finally completed the compiles and started to build the dist package but failed with:
dpkg-shlibdeps: error: cannot find library libffi.so.7 needed by debian/base-system-1.0/home/dhbadmin/Desktop/cerbero/build/dist/linux_x86_64/lib/libgobject-2.0.so.0.5600.1 (ELF format: 'elf64-x86-64' abi: '0201003e00000000'; RPATH: '')
however doing a find:
find / -name libffi.so.7 2>/dev/null
/home/dhbadmin/Desktop/cerbero/build/dist/linux_x86_64/lib/libffi.so.7
/home/dhbadmin/Desktop/cerbero/build/sources/linux_x86_64/libffi-3.2.9999/_builddir/src/libffi.so.7
/home/dhbadmin/Desktop/cerbero/build/tmppqtgc5p2/base-system-1.0-1.17.0.1/lib/libffi.so.7
/home/dhbadmin/Desktop/cerbero/build/tmppqtgc5p2/base-system-1.0-1.17.0.1/debian/base-system-1.0/home/dhbadmin/Desktop/cerbero/build/dist/linux_x86_64/lib/libffi.so.7
So I'm at a loss as to why the lib cannot be found. I got other errors too but this seems to be the one that caused the failure. I've attached the full console output.
Thanks for taking a look.
Andrew.
[cerbero-package-fail.txt](/uploads/6439766350a040815a0d2dc3e488d9bb/cerbero-package-fail.txt)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1087dashdemux mpd seek doesn't allow for manifest-update-with-missing segment (ts...2021-10-20T07:20:22ZMike Fletcherdashdemux mpd seek doesn't allow for manifest-update-with-missing segment (ts less than start-time)We have a project where we use a dash demux from 1.16.0 reading from Shaka Packager which is producing a continuous output stream with timelines, but the continuous output stream may fail and recover such that the MPD will have say 30 se...We have a project where we use a dash demux from 1.16.0 reading from Shaka Packager which is producing a continuous output stream with timelines, but the continuous output stream may fail and recover such that the MPD will have say 30 segments at time T and then 1 segment at time T+1 where the segment at T+1 will have a start-time greater than the end-time of the segments at time T.
```
0:11:00.646132674 ESC[332m20869ESC[00m 0xc16de0 ESC[37mDEBUG ESC[00m ESC[00m dashdemux gstmpdparser.c:4857:gst_mpd_client_stream_seek:ESC[00m ts = 35:31:34.969765555 start=35:31:35.001755555
0:11:00.646150376 ESC[332m20869ESC[00m 0xc16de0 ESC[37mDEBUG ESC[00m ESC[00m dashdemux gstmpdparser.c:4862:gst_mpd_client_stream_seek:ESC[00m delta -31990000 duration 5000000000 produced repeat_index of -605618482
```
Because ts is less than the end-time of the segment (as well as the start-time), we use the calculation:
```
repeat_index = (ts - segment->start) / segment->duration;
```
which results in a large negative repeat_index. I don't know what the *correct* behaviour should be at a higher level, but there definitely seems to be an edge case in this calculation that should be addressed.
Possibly ts should be set to start-of-segment `if ts < segment->start`https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/652gstv4l2object: is a typo here about mpegversion number?2020-08-03T22:34:13ZHuQianqian.hu@mediatek.comgstv4l2object: is a typo here about mpegversion number?is a mistake ?
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/sys/v4l2/gstv4l2object.c#L1440
case V4L2_PIX_FMT_MPEG1:
structure = gst_structure_new ("video/mpeg",
"mpegversion", G_TYPE_INT, 2...is a mistake ?
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/blob/master/sys/v4l2/gstv4l2object.c#L1440
case V4L2_PIX_FMT_MPEG1:
structure = gst_structure_new ("video/mpeg",
"mpegversion", G_TYPE_INT, 2, NULL);
break;https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/191Mac OSX 10.15 not supported2019-10-18T14:42:38ZBilly LindemanMac OSX 10.15 not supported```➜ cerbero git:(master) ./cerbero-uninstalled bootstrap
Traceback (most recent call last):
File "./cerbero-uninstalled", line 8, in <module>
from cerbero.main import main
File "./cerbero/main.py", line 19, in <module>
from...```➜ cerbero git:(master) ./cerbero-uninstalled bootstrap
Traceback (most recent call last):
File "./cerbero-uninstalled", line 8, in <module>
from cerbero.main import main
File "./cerbero/main.py", line 19, in <module>
from cerbero import hacks
File "./cerbero/hacks.py", line 99, in <module>
from cerbero.utils.shell import call as shell_call
File "./cerbero/utils/shell.py", line 49, in <module>
PLATFORM = system_info()[0]
File "./cerbero/utils/__init__.py", line 326, in system_info
raise FatalError("Mac version %s not supported" % ver)
cerbero.errors.FatalError: Fatal Error: Mac version 10.15 not supported```https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/83Session timeout results in remaining client object2020-01-15T12:47:46ZTobias RongeSession timeout results in remaining client objectIf the last session for a client receive a timeout, the client object will remain until a TCP timeout occurs (normally after 15 minutes). It would be good if there was a timeout mechanism available so that an application using RTSP serve...If the last session for a client receive a timeout, the client object will remain until a TCP timeout occurs (normally after 15 minutes). It would be good if there was a timeout mechanism available so that an application using RTSP server could tell the client object to close the connection on last session timeout.https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/82RTP Info exists conditionally in PLAY2019-09-25T09:14:09ZKristoferRTP Info exists conditionally in PLAYIn rfc2326 it says RTP-info is req. but in RFC7826 it is conditional.
Since 1.14 there is audio backchannel support. Thus RTP-info is
conditional now. So when it is audio backchannel only mode, there is no RTP-info.
This is related to c...In rfc2326 it says RTP-info is req. but in RFC7826 it is conditional.
Since 1.14 there is audio backchannel support. Thus RTP-info is
conditional now. So when it is audio backchannel only mode, there is no RTP-info.
This is related to closed issue #76https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/193vaapih264enc: Crashes on Coffeelake2019-09-29T17:37:53ZPhilippe Normandvaapih264enc: Crashes on Coffeelake`gst-launch-1.0 videotestsrc ! vaapih264enc ! fakesink`
```
(gdb) bt
#0 0x00007f7572af1081 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f7572adc535 in __GI_abort () at abort.c:79
#2 0x00007f7572a...`gst-launch-1.0 videotestsrc ! vaapih264enc ! fakesink`
```
(gdb) bt
#0 0x00007f7572af1081 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f7572adc535 in __GI_abort () at abort.c:79
#2 0x00007f7572adc40f in __assert_fail_base
(fmt=0x7f7572c3e710 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f7570ae4e43 "encoder_context->mfc_context", file=0x7f7570ae4e24 "i965_encoder.c", line=1692, function=<optimized out>)
at assert.c:92
#3 0x00007f7572ae9b92 in __GI___assert_fail (assertion=0x7f7570ae4e43 "encoder_context->mfc_context", file=0x7f7570ae4e24 "i965_encoder.c", line=1692, function=0x7f7570ae5790 "intel_enc_hw_context_init")
at assert.c:101
#4 0x00007f7570a8212b in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
#5 0x00007f7570a791be in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
#6 0x00007f7572210c71 in vaCreateContext () at /usr/lib/x86_64-linux-gnu/libva.so.2
#7 0x00007f7572405c05 in context_create (context=context@entry=0x7f7568006130) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapicontext.c:198
#8 0x00007f7572405db8 in gst_vaapi_context_new (display=<optimized out>, cip=cip@entry=0x561233fa3300) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapicontext.c:442
#9 0x00007f75723c773c in gst_vaapi_encoder_ensure_context (encoder=0x561233fa3290 [GstVaapiEncoderH264]) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapiencoder.c:814
#10 0x00007f75723c773c in gst_vaapi_encoder_reconfigure_internal (encoder=0x561233fa3290 [GstVaapiEncoderH264]) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapiencoder.c:864
#11 0x00007f75723c82ad in gst_vaapi_encoder_set_codec_state (encoder=<optimized out>, state=state@entry=0x7f756800c000) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapiencoder.c:968
#12 0x00007f7572397a1f in set_codec_state (encode=0x561233f7b280, state=0x7f756800c000) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapiencode.c:588
#13 0x00007f7572397bd1 in gst_vaapiencode_set_format (venc=0x561233f7b280 [GstVaapiEncodeH264], state=0x7f756800c000) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapiencode.c:617
#14 0x00007f757259357f in gst_video_encoder_setcaps (caps=0x7f7568003b20, encoder=0x561233f7b280 [GstVaapiEncodeH264]) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoencoder.c:672
#15 0x00007f757259357f in gst_video_encoder_sink_event_default (encoder=0x561233f7b280 [GstVaapiEncodeH264], event=0x561233f80560) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoencoder.c:1027
#16 0x00007f7572396877 in gst_vaapiencode_sink_event (venc=0x561233f7b280 [GstVaapiEncodeH264], event=0x561233f80560) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapiencode.c:827
#17 0x00007f7572ec72dc in gst_pad_send_event_unchecked (pad=pad@entry=0x561233f6c2e0 [GstPad], event=event@entry=0x561233f80560, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)
at ../subprojects/gstreamer/gst/gstpad.c:5838
#18 0x00007f7572ec7854 in gst_pad_push_event_unchecked (pad=pad@entry=0x561233f6c090 [GstPad], event=0x561233f80560, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM)
at ../subprojects/gstreamer/gst/gstpad.c:5483
#19 0x00007f7572ec7cc6 in push_sticky (pad=pad@entry=0x561233f6c090 [GstPad], ev=ev@entry=0x7f757067ac40, user_data=user_data@entry=0x7f757067aca0) at ../subprojects/gstreamer/gst/gstevent.h:442
#20 0x00007f7572ec5750 in events_foreach (pad=pad@entry=0x561233f6c090 [GstPad], func=func@entry=0x7f7572ec7c70 <push_sticky>, user_data=user_data@entry=0x7f757067aca0)
at ../subprojects/gstreamer/gst/gstpad.c:608
#21 0x00007f7572ed04e1 in check_sticky (event=0x561233f80560, pad=0x561233f6c090 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4058
#22 0x00007f7572ed04e1 in gst_pad_push_event (pad=0x561233f6c090 [GstPad], event=0x561233f80560) at ../subprojects/gstreamer/gst/gstpad.c:5614
#23 0x00007f75725193ab in gst_base_src_set_caps (src=src@entry=0x561233f6a420 [GstVideoTestSrc], caps=caps@entry=0x7f7568003b20) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:954
#24 0x00007f757251987b in gst_base_src_default_negotiate (basesrc=0x561233f6a420 [GstVideoTestSrc]) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:3347
#25 0x00007f7572514279 in gst_base_src_negotiate_unlocked (basesrc=basesrc@entry=0x561233f6a420 [GstVideoTestSrc]) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:3387
#26 0x00007f7572516d28 in gst_base_src_loop (pad=0x561233f6c090 [GstPad]) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2807
#27 0x00007f7572efc53f in gst_task_func (task=0x561233fa4050 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#28 0x00007f7572d6c263 in g_thread_pool_thread_proxy (data=<optimized out>) at ../../../glib/gthreadpool.c:308
#29 0x00007f7572d6b89d in g_thread_proxy (data=0x561233de9a80) at ../../../glib/gthread.c:805
#30 0x00007f7572c7ffb7 in start_thread (arg=<optimized out>) at pthread_create.c:486
#31 0x00007f7572bb149f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/651vp9dec: gst-play-1.0 plays video (attached) created with "ffmpeg -f x11grab -...2019-11-30T01:57:52ZAskar Safinvp9dec: gst-play-1.0 plays video (attached) created with "ffmpeg -f x11grab -i "$DISPLAY" /o.webm" wrongSteps to reproduce:
- I use debian sid amd64 created today (in fact, it is chroot environment in older debian, but I hope this doesn't matter for this bug report)
- dpkg reports that gstreamer1.0-plugins-good 1.16.0-3 is installed
- ffmp...Steps to reproduce:
- I use debian sid amd64 created today (in fact, it is chroot environment in older debian, but I hope this doesn't matter for this bug report)
- dpkg reports that gstreamer1.0-plugins-good 1.16.0-3 is installed
- ffmpeg reports its version as `ffmpeg version 4.1.4-1+b2`
- Capture X11 video using `ffmpeg -f x11grab -i "$DISPLAY" /o.webm`
- Resulting video is attached: ![o](/uploads/0ec82f439729be4325546a218f7cad3f/o.webm)
- Play it with `gst-play-1.0 /o.webm`
- You will see that colors are wrong. Video looks pink instead of correct white
Notes:
- If I play video using mpv, there is no bug
- When I see this bug report using my browser (Chromium), the browser shows attached video correctly, i. e. I see correct white color, not buggy pink
- If I record video using `ffmpeg -f x11grab -i "$DISPLAY" -c:v vp8 /o.webm` (i. e. using vp8 instead of default vp9), there is no bug
- If I add `-pix_fmt yuv420p` or `-pix_fmt yuv444p` to ffmpeg command line, there is no bughttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/449Add GNOME Radio and GNOME Internet Radio Locator on https://gstreamer.freedes...2019-09-23T07:36:32ZOle AamotAdd GNOME Radio and GNOME Internet Radio Locator on https://gstreamer.freedesktop.org/apps/I noticed that GNOME Radio and GNOME Internet Radio Locator available from http://www.gnomeradio.org/
is missing on https://gstreamer.freedesktop.org/apps/
Thanks.I noticed that GNOME Radio and GNOME Internet Radio Locator available from http://www.gnomeradio.org/
is missing on https://gstreamer.freedesktop.org/apps/
Thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/448Issue with TLS access to webm files2019-09-23T07:37:06ZJose GarcesIssue with TLS access to webm filesHi,
I have Microsoft Windows 10 Pro (10.0.18362 Build 18362) and installed gstreamer-1.0-msvc-x86_64-1.16.0.msi and gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi. But I am not able to access a media via TLS/SSL as shown below. Is there a d...Hi,
I have Microsoft Windows 10 Pro (10.0.18362 Build 18362) and installed gstreamer-1.0-msvc-x86_64-1.16.0.msi and gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi. But I am not able to access a media via TLS/SSL as shown below. Is there a dependency that is needed (OpenSSL perhaps). Compiling Tutorial 1 code with VS2019, fails to run but would when changing gst_parse_launch line to local media file it works fine.
C:\>gst-launch-1.0 playbin uri="https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'source': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false;
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: Secure connection setup failed.
Additional debug info:
../ext/soup/gstsouphttpsrc.c(1381): gst_soup_http_src_parse_status (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source:
TLS/SSL support not available; install glib-networking (6), URL: https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm, Redirect to: (NULL)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/62GStreamer can't play some AVI-files2019-10-31T16:09:56ZIlya AleshkovGStreamer can't play some AVI-filesI have some AVI-files. GStreamer 1.16.0 can't play them more than just few milliseconds:
gst-launch-1.0 playbin uri=file:///{some path}/file.avi
0:00:00.361956000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gs...I have some AVI-files. GStreamer 1.16.0 can't play them more than just few milliseconds:
gst-launch-1.0 playbin uri=file:///{some path}/file.avi
0:00:00.361956000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet\
0:00:00.377867000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet\
Pipeline is PREROLLING ...\
Redistribute latency...\
Redistribute latency...\
Pipeline is PREROLLED ...\
Setting pipeline to PLAYING ...\
New clock: GstSystemClock\
Got EOS from element "playbin0".\
Execution ended after 0:00:00.265708000\
Setting pipeline to PAUSED ...\
Setting pipeline to READY ...\
Setting pipeline to NULL ...\
Freeing pipeline ...
While GStreamer 1.14.5 plays them easily.
I've uploaded one file - [file.avi](https://www.dropbox.com/s/1uvs2tpzra3xinc/file.avi?dl=0) (167 MB)
Looks like a regression.https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/40GStreamer can't play some AVI-files2019-09-30T20:12:59ZIlya AleshkovGStreamer can't play some AVI-filesI have some AVI-files. GStreamer 1.16.0 can't play them more than just few milliseconds:
gst-launch-1.0 playbin uri=file:///{some path}/file.avi
0:00:00.361956000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gs...I have some AVI-files. GStreamer 1.16.0 can't play them more than just few milliseconds:
gst-launch-1.0 playbin uri=file:///{some path}/file.avi
0:00:00.361956000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet\
0:00:00.377867000 400 000001F796644540 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet\
Pipeline is PREROLLING ...\
Redistribute latency...\
Redistribute latency...\
Pipeline is PREROLLED ...\
Setting pipeline to PLAYING ...\
New clock: GstSystemClock\
Got EOS from element "playbin0".\
Execution ended after 0:00:00.265708000\
Setting pipeline to PAUSED ...\
Setting pipeline to READY ...\
Setting pipeline to NULL ...\
Freeing pipeline ...
While GStreamer 1.14.5 plays them easily.
I've uploaded one file - [file.avi](https://www.dropbox.com/s/1uvs2tpzra3xinc/file.avi?dl=0) (167 MB)
Looks like a regression.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/447aggregator: Need API for adjusting the outgoing segment2020-02-15T11:42:04ZSebastian Drögeaggregator: Need API for adjusting the outgoing segmentSee e.g. https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/blob/e708e42dcb2417fc24c78b67df03b94c2550893d/gst-plugin-fallbackswitch/src/fallbackswitch.rs#L135-140
Currently aggregator always outputs a default `[0, -1]` segment (and...See e.g. https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/blob/e708e42dcb2417fc24c78b67df03b94c2550893d/gst-plugin-fallbackswitch/src/fallbackswitch.rs#L135-140
Currently aggregator always outputs a default `[0, -1]` segment (and does stuff in case of seeking). This is the right things to do for e.g. videomixer/audiomixer and muxers but not for other elements operating with multiple sink pads.
Any ideas how such an API for adjusting the segment could look like? A virtual method that gets the default segment (and the seek-adjusted one) passed just before sending the segment events, and can modify it?
What about the subclass wanting to update the segment at another time later? Do we need also a function to set the outgoing segment (and sending a segment event) at any later time?https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/22Unable to build gstreamer-sharp on Windows using VS20192020-02-18T17:01:25ZabhiUnable to build gstreamer-sharp on Windows using VS2019I have a Windows 10 machine with Visual Studio 2019 Community and trying to build gstreamer-sharp.
So, the first thing I did was installed `gstreamer-1.0-devel-mingw-x86_64-1.16.0.msi`.
Next, I installed `meson-0.51.2` which also install...I have a Windows 10 machine with Visual Studio 2019 Community and trying to build gstreamer-sharp.
So, the first thing I did was installed `gstreamer-1.0-devel-mingw-x86_64-1.16.0.msi`.
Next, I installed `meson-0.51.2` which also installed `Ninja`.
From the `Developer Command Prompt for VS 2019`, I entered the `gstreamer-sharp` dir and ran `meson build`.
This was the output:
```
The Meson build system
Version: 0.51.2
Source dir: c:\Users\gs-0834\code\gstreamer-sharp
Build dir: c:\Users\gs-0834\code\gstreamer-sharp\build
Build type: native build
Project name: gstreamer-sharp
Project version: 1.17.0.1
C compiler for the host machine: cl (msvc 19.22.27905)
C sharp compiler for the host machine: csc (csc 3.2.1-beta4)
Build machine cpu family: x86
Build machine cpu: x86
|Executing subproject gtk-sharp method meson
|
|Project name: GtkSharp
|Project version: 3.22.0
|C compiler for the host machine: cl (msvc 19.22.27905)
|C sharp compiler for the host machine: csc (csc 3.2.1-beta4)
|Program gacutil found: YES (C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\gacutil.EXE)
|Program audit/test_abi.py found: YES (C:\Program Files\Meson\meson.exe runpython c:\Users\gs-0834\code\gstreamer-sharp\subprojects\gtk-sharp\Source\audit/test_abi.py)
|Did not find pkg-config by name 'pkg-config'
|Found Pkg-config: NO
|Found CMake: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.EXE (3.14.19060802-MSVC_2)
Traceback (most recent call last):
File "mesonbuild\mesonmain.py", line 127, in run
File "mesonbuild\msetup.py", line 241, in run
File "mesonbuild\msetup.py", line 159, in generate
File "mesonbuild\msetup.py", line 188, in _generate
File "mesonbuild\interpreter.py", line 3924, in run
File "mesonbuild\interpreterbase.py", line 412, in run
File "mesonbuild\interpreterbase.py", line 436, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 430, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 441, in evaluate_statement
File "mesonbuild\interpreterbase.py", line 778, in function_call
File "mesonbuild\interpreterbase.py", line 285, in wrapped
File "mesonbuild\interpreterbase.py", line 174, in wrapped
File "mesonbuild\interpreterbase.py", line 143, in wrapped
File "mesonbuild\interpreter.py", line 2417, in func_subproject
File "mesonbuild\interpreter.py", line 2497, in do_subproject
File "mesonbuild\interpreter.py", line 2481, in do_subproject
File "mesonbuild\interpreter.py", line 2508, in _do_subproject_meson
File "mesonbuild\interpreter.py", line 3924, in run
File "mesonbuild\interpreterbase.py", line 412, in run
File "mesonbuild\interpreterbase.py", line 436, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 430, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 441, in evaluate_statement
File "mesonbuild\interpreterbase.py", line 778, in function_call
File "mesonbuild\interpreterbase.py", line 285, in wrapped
File "mesonbuild\interpreterbase.py", line 174, in wrapped
File "mesonbuild\interpreter.py", line 3465, in func_subdir
File "mesonbuild\interpreterbase.py", line 436, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 430, in evaluate_codeblock
File "mesonbuild\interpreterbase.py", line 443, in evaluate_statement
File "mesonbuild\interpreterbase.py", line 1053, in assignment
File "mesonbuild\interpreterbase.py", line 441, in evaluate_statement
File "mesonbuild\interpreterbase.py", line 778, in function_call
File "mesonbuild\interpreterbase.py", line 285, in wrapped
File "mesonbuild\interpreterbase.py", line 285, in wrapped
File "mesonbuild\interpreterbase.py", line 285, in wrapped
[Previous line repeated 1 more time]
File "mesonbuild\interpreterbase.py", line 155, in wrapped
File "mesonbuild\interpreterbase.py", line 174, in wrapped
File "mesonbuild\interpreter.py", line 3035, in func_dependency
File "mesonbuild\interpreter.py", line 3082, in dependency_impl
File "mesonbuild\dependencies\base.py", line 2526, in find_external_dependency
File "mesonbuild\dependencies\base.py", line 1057, in __init__
File "mesonbuild\dependencies\base.py", line 1161, in _get_cmake_info
File "mesonbuild\dependencies\base.py", line 1827, in _call_cmake
File "mesonbuild\dependencies\base.py", line 1807, in _call_cmake_real
File "mesonbuild\dependencies\base.py", line 1800, in _setup_cmake_dir
File "shutil.py", line 120, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Program Files\\Meson\\mesonbuild\\dependencies/data/CMakePathInfo.txt'
```
Am i missing something?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1085rtpsrc sets non-existent 'host' property on dynudpsink2019-09-20T15:36:55ZJan Schmidtrtpsrc sets non-existent 'host' property on dynudpsinkrtpsrc uses dynudpsink for the RTCP output, but tries to set a non-existent 'host' property on it.
```
gst-launch-1.0 rtpsrc ! fakesink
Setting pipeline to PAUSED ...
(gst-launch-1.0:5146): GLib-GObject-WARNING **: 04:13:19.121: g_obje...rtpsrc uses dynudpsink for the RTCP output, but tries to set a non-existent 'host' property on it.
```
gst-launch-1.0 rtpsrc ! fakesink
Setting pipeline to PAUSED ...
(gst-launch-1.0:5146): GLib-GObject-WARNING **: 04:13:19.121: g_object_set_is_valid_property: object class 'GstDynUDPSink' has no property named 'host'
```
Removing the property setting is easy, but I'm not sure if it points at a deeper problem.https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/81send_tcp_message race condition2019-11-25T17:47:26Zjohanadamnilssonsend_tcp_message race conditionin rtsp-stream in function send_tcp_message, we believe there is a small chance race condition can occur if the cache changes from another thread after n_outstanding have decreased to zero. The other thread can destroy the cache before t...in rtsp-stream in function send_tcp_message, we believe there is a small chance race condition can occur if the cache changes from another thread after n_outstanding have decreased to zero. The other thread can destroy the cache before the loop has ended.
We notice this in a test which repeatedly connects and disconnects crashes possibly due to this as back traces in gdb show us a corrupt GstRTSPStreamTransport object when calling one of the gst_rtsp_stream_transport_send_* functions.
```
This is one of the backtraces we have:
#0 0x76be528e in gst_rtsp_stream_transport_send_rtp_list (trans=trans@entry=0x1994908,
buffer_list=buffer_list@entry=0x75e2c908)
at ../../../gst-rtsp-server-1.16.0/gst/rtsp-server/rtsp-stream-transport.c:593
#1 0x76be0cc8 in send_tcp_message (stream=stream@entry=0x7181bb60, idx=<optimized out>)
at ../../../gst-rtsp-server-1.16.0/gst/rtsp-server/rtsp-stream.c:2537
#2 0x76be0e9e in send_thread_main (data=<optimized out>, user_data=0x7181bb60)
at ../../../gst-rtsp-server-1.16.0/gst/rtsp-server/rtsp-stream.c:2592
#3 0x76a0712c in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib-2.60.5/glib/gthreadpool.c:308
#4 0x76a06a0e in g_thread_proxy (data=0x75ef2040) at ../glib-2.60.5/glib/gthread.c:805
#5 0x7684cac0 in start_thread (arg=0xe1741d2d) at pthread_create.c:486
#6 0x767ea8cc in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from core/usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) p *walk
$66 = {data = 0x1994908, next = 0x2, prev = 0x10000}
(gdb) p *tr
$67 = {parent = {g_type_instance = {g_class = 0x1}, ref_count = 0, qdata = 0x0}, priv = 0x80001, _gst_reserved = {
0x0, 0x1994978, 0x104, 0x19948f8}}
```
The question is what shall be done about it? Shall we always use the mutex or shall we use a reference counted list instead? https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/668Ethernet camera performance significantly degraded in version 1.142019-09-19T08:53:17ZGrant BurkhartEthernet camera performance significantly degraded in version 1.14I have a simple pipeline to display an ethernet camera using the NXP IMX6d chip. In Gstreamer version 1.8.3, the video is nice and smooth. But in version 1.14, the video becomes very jerky.
Of course the pipeline is in code but in a gst...I have a simple pipeline to display an ethernet camera using the NXP IMX6d chip. In Gstreamer version 1.8.3, the video is nice and smooth. But in version 1.14, the video becomes very jerky.
Of course the pipeline is in code but in a gst-launch command line, it would be `udpsrc port=<port_num> ! application/x-rtp media=video,clock-rate=90000,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! imxvpudec ! imxipuvideosink framebuffer=<device_name>`.
To isolate the problem I inserted a bufferprobe on each source pad and found that on the src pad of the decoder I was getting the correct 30 frames/second in 1.8.3, but in 1.14 I am only getting around 9 frames per second.
After a bunch of tests, I was able to isolate the change that caused the difference in behavior: https://gitlab.freedesktop.org/bilboed/gst-plugins-base/commit/8bee96c4a2a377e325fb59c6535fee3767096307.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/71Implement a FLAC decoder around claxon2020-01-19T16:18:22ZSebastian DrögeImplement a FLAC decoder around claxonSee https://github.com/ruuda/claxon
The `frame::FrameReader` and `metadata::MetadataReader` types should be sufficient for everything we need here, assuming correctly parsed input from `flacparse`.
For using them, there are some `ogg` ...See https://github.com/ruuda/claxon
The `frame::FrameReader` and `metadata::MetadataReader` types should be sufficient for everything we need here, assuming correctly parsed input from `flacparse`.
For using them, there are some `ogg` and `mp4` examples in https://github.com/ruuda/claxon/tree/master/examples
Seems relatively straightforward.