GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2021-09-24T22:43:57Zhttps://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/27Task going to paused2021-09-24T22:43:57Z1happyboyTask going to pausedWhen using mp-webrtc-sendrecv, the following LOG appears after multiple connections. What is the problem?
0:00:09.633341513 13608 0x5599a666d0 INFO task gsttask.c:316:gst_task_func:<queue-00ed-021-46e:src> Task goin...When using mp-webrtc-sendrecv, the following LOG appears after multiple connections. What is the problem?
0:00:09.633341513 13608 0x5599a666d0 INFO task gsttask.c:316:gst_task_func:<queue-00ed-021-46e:src> Task going to paused
0:00:09.633879643 13608 0x5599cc5190 INFO basesrc gstbasesrc.c:2965:gst_base_src_loop:<videotestsrc0> pausing after gst_pad_push() = flushing
0:00:09.633985227 13608 0x5599cc5190 INFO task gsttask.c:316:gst_task_func:<videotestsrc0:src> Task going to pausedhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1505Copy paste bug in gstav1parser.c2023-05-30T16:37:17ZRafał MikrutCopy paste bug in gstav1parser.chttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/codecparsers/gstav1parser.c#L3386-3389
```
frame_header->ref_frame_idx[GST_AV1_REF_LAST_FRAME -
GST_AV1_REF_LAST_FRAME] = frame_header->last_fram...https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/codecparsers/gstav1parser.c#L3386-3389
```
frame_header->ref_frame_idx[GST_AV1_REF_LAST_FRAME -
GST_AV1_REF_LAST_FRAME] = frame_header->last_frame_idx;
frame_header->ref_frame_idx[GST_AV1_REF_GOLDEN_FRAME -
GST_AV1_REF_LAST_FRAME] = frame_header->gold_frame_idx;
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1504Copy paste bug in gstvkutils.c2021-01-22T13:03:43ZRafał MikrutCopy paste bug in gstvkutils.chttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/vulkan/gstvkutils.c#L448-451
```
&& view->create_info.subresourceRange.levelCount ==
info->subresourceRange.levelCount
&& view->create_...https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/vulkan/gstvkutils.c#L448-451
```
&& view->create_info.subresourceRange.levelCount ==
info->subresourceRange.levelCount
&& view->create_info.subresourceRange.levelCount ==
info->subresourceRange.levelCount
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1503Copy paste bug in sctpassociation.c2023-05-31T17:29:33ZRafał MikrutCopy paste bug in sctpassociation.chttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/ext/sctp/sctpassociation.c#L926-927
```c
if (!(sr->strreset_flags & SCTP_STREAM_RESET_DENIED) &&
!(sr->strreset_flags & SCTP_STREAM_RESET_DENIED)) {
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/ext/sctp/sctpassociation.c#L926-927
```c
if (!(sr->strreset_flags & SCTP_STREAM_RESET_DENIED) &&
!(sr->strreset_flags & SCTP_STREAM_RESET_DENIED)) {
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1502Copy paste bug in gstav1parse.c2021-01-23T11:18:24ZRafał MikrutCopy paste bug in gstav1parse.cFirst and latest condition are identical
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst/videoparsers/gstvp9parse.c#L580-591
```c
if (self->subsampling_x == 1 && self->subsampling_y == 1)
chroma_forma...First and latest condition are identical
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst/videoparsers/gstvp9parse.c#L580-591
```c
if (self->subsampling_x == 1 && self->subsampling_y == 1)
chroma_format = "4:2:0";
else if (self->subsampling_x == 1 && self->subsampling_y == 0)
chroma_format = "4:2:2";
else if (self->subsampling_x == 0 && self->subsampling_y == 1)
chroma_format = "4:4:0";
else if (self->subsampling_x == 1 && self->subsampling_y == 1)
chroma_format = "4:4:4";
```
and also
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst/videoparsers/gstav1parse.c#L567-574
```c
if (self->parser->subsampling_x == 1 && self->parser->subsampling_y == 1)
chroma_format = "4:2:0";
else if (self->parser->subsampling_x == 1 &&
self->parser->subsampling_y == 0)
chroma_format = "4:2:2";
else if (self->parser->subsampling_x == 0 &&
self->parser->subsampling_y == 1)
chroma_format = "4:4:0";
else if (self->parser->subsampling_x == 1 &&
self->parser->subsampling_y == 1)
chroma_format = "4:4:4";
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1501Copy paste bug in gstvafilter.c2021-01-22T09:32:00ZRafał MikrutCopy paste bug in gstvafilter.chttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/va/gstvafilter.c#L150-153
```
self->min_height = 1;
self->max_height = G_MAXINT;
self->min_width = 1;
self->max_height = G_MAXINT;
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/sys/va/gstvafilter.c#L150-153
```
self->min_height = 1;
self->max_height = G_MAXINT;
self->min_width = 1;
self->max_height = G_MAXINT;
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1500Copy paste bug in gstav1parser.c2021-01-23T11:18:23ZRafał MikrutCopy paste bug in gstav1parser.chttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/codecparsers/gstav1parser.c#L2605-2607
```
lr_params->frame_restoration_type[0] = GST_AV1_FRAME_RESTORE_NONE;
lr_params->frame_restoration_type[...https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/master/gst-libs/gst/codecparsers/gstav1parser.c#L2605-2607
```
lr_params->frame_restoration_type[0] = GST_AV1_FRAME_RESTORE_NONE;
lr_params->frame_restoration_type[0] = GST_AV1_FRAME_RESTORE_NONE;
lr_params->frame_restoration_type[0] = GST_AV1_FRAME_RESTORE_NONE;
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/830gstudpnetutils.c:69:gst_udp_parse_uri: parse IPV4 address '::1:50001'2022-09-27T19:48:00ZLeo Gaspardgstudpnetutils.c:69:gst_udp_parse_uri: parse IPV4 address '::1:50001'Hello,
I was trying to open a RTSP stream from `rtsp://[user]:[pass]@localhost:8554` just today, and found out that gstreamer resolves `localhost` as `::1` and then fails in `gst_udp_parse_uri` because it assumes that IPv6 addresses are...Hello,
I was trying to open a RTSP stream from `rtsp://[user]:[pass]@localhost:8554` just today, and found out that gstreamer resolves `localhost` as `::1` and then fails in `gst_udp_parse_uri` because it assumes that IPv6 addresses are wrapped in `[]` there.
That being said, as I don't have a development environment set up for gstreamer (yet), I couldn't investigate more to figure out where that hostname resolution happens to add the brackets at the right place… sorry about it!
As a workaround, just hardcoding the IPv4 address of the RTSP server works.
Hope that helps!
Leohttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1499Reproducer for ref_pic_markings overflow2021-01-18T16:15:35ZUtkarsh GuptaReproducer for ref_pic_markings overflowHi @tpm,
Thanks for the fix of the overflow. However, do you have any reproducer to test the vulnerable code against and try to reproduce the issue?
I'd like to backport this to Debian oldoldstable and oldsable (and potentially stable)...Hi @tpm,
Thanks for the fix of the overflow. However, do you have any reproducer to test the vulnerable code against and try to reproduce the issue?
I'd like to backport this to Debian oldoldstable and oldsable (and potentially stable) as well, but would need to have a reproducer to be able to do that!
In case it's not supposed to be revealed publicly, could you drop me a mail at utkarsh[at]debian[dot]org?
Thanks in advance! \o/https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/306Handle GStreamer built without debug infrastructure without crashing2021-02-13T11:05:15ZjaelparkHandle GStreamer built without debug infrastructure without crashingHello,
I have some trouble getting rust plugins work (particularly fallbackswitch) on my RPi 4. The same pipelines including fallbackswitch work perfectly on my laptop, but on the RPi (also running gstreamer 1.18.2), there seems to be a...Hello,
I have some trouble getting rust plugins work (particularly fallbackswitch) on my RPi 4. The same pipelines including fallbackswitch work perfectly on my laptop, but on the RPi (also running gstreamer 1.18.2), there seems to be an assertion failure in the gstreamer-rs side. Might be some configuration or incompatibility issue, but I'm not able to tell. Here's the full trace:
```
Setting pipeline to PAUSED ...
thread '<unnamed>' panicked at 'assertion failed: !ptr.is_null()', /home/pi/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/927cca1/gstreamer/src/log.rs:65:13
stack backtrace:
Pipeline is live and does not need PREROLL ...
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0: std::panicking::begin_panic
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panicking.rs:521:12
1: gstreamer::log::DebugCategory::new
at ./.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/927cca1/gstreamer/src/log.rs:65:13
2: gstfallbackswitch::fallbackswitch::imp::CAT::{{closure}}
at ./build/gst-plugins-rs/utils/fallbackswitch/src/fallbackswitch/imp.rs:64:5
3: core::ops::function::FnOnce::call_once
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/ops/function.rs:227:5
4: core::ops::function::FnOnce::call_once
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/ops/function.rs:227:5
5: once_cell::sync::Lazy<T,F>::force::{{closure}}
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:1001:28
6: once_cell::sync::OnceCell<T>::get_or_init::{{closure}}
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:834:57
7: once_cell::imp::OnceCell<T>::initialize::{{closure}}
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/imp_std.rs:93:19
8: once_cell::imp::initialize_inner
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/imp_std.rs:167:31
9: once_cell::imp::OnceCell<T>::initialize
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/imp_std.rs:91:9
10: once_cell::sync::OnceCell<T>::get_or_try_init
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:874:13
11: once_cell::sync::OnceCell<T>::get_or_init
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:834:19
12: once_cell::sync::Lazy<T,F>::force
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:1000:13
13: <once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref
at ./.cargo/registry/src/github.com-1285ae84e5963aae/once_cell-1.5.2/src/lib.rs:1010:13
14: <gstfallbackswitch::fallbackswitch::imp::FallbackSwitch as gstfallbackswitch::gst_base_compat::subclass::aggregator::AggregatorImpl>::get_next_time
at ./build/gst-plugins-rs/utils/fallbackswitch/src/fallbackswitch/imp.rs:1044:13
15: gstfallbackswitch::gst_base_compat::subclass::aggregator::aggregator_get_next_time::{{closure}}
at ./build/gst-plugins-rs/utils/fallbackswitch/src/base/subclass/aggregator.rs:925:9
16: core::ops::function::FnOnce::call_once
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/ops/function.rs:227:5
17: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panic.rs:322:9
18: std::panicking::try::do_call
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panicking.rs:381:40
19: __rust_try.llvm.2388119712112984368
20: std::panicking::try
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panicking.rs:345:19
21: std::panic::catch_unwind
at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panic.rs:396:14
22: gstfallbackswitch::gst_base_compat::subclass::aggregator::aggregator_get_next_time
at ./build/gst-plugins-rs/utils/fallbackswitch/src/base/subclass/aggregator.rs:924:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(924): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked: assertion failed: !ptr.is_null()
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(717): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
Execution ended after 0:00:00.116109953
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(784): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(924): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
/home/pi/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/927cca1/gstreamer/src/subclass/element.rs(386): gstreamer::subclass::element (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(784): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(739): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(784): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
utils/fallbackswitch/src/base/subclass/aggregator.rs(739): gstfallbackswitch::gst_base_compat::subclass::aggregator (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
/home/pi/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/927cca1/gstreamer/src/subclass/element.rs(386): gstreamer::subclass::element (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
ERROR: from element /GstPipeline:pipeline0/FallbackSwitch:s: GStreamer encountered a general supporting library error.
Additional debug info:
/home/pi/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/927cca1/gstreamer/src/subclass/element.rs(386): gstreamer::subclass::element (): /GstPipeline:pipeline0/FallbackSwitch:s:
Panicked
Freeing pipeline ...
```
The plugin is compiled and installed according to instructions in the README. Any idea what might be going on? Thanks.https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/299vaapi 'features' only visible as root2021-01-18T09:51:23Zedharmanvaapi 'features' only visible as rootUnsure whether this is a debian/ubuntu bug or gstreamer itself, on a Ubuntu 20.10 desktop after installing gstreamer1.0-vaapi I see -
~$ gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA...Unsure whether this is a debian/ubuntu bug or gstreamer itself, on a Ubuntu 20.10 desktop after installing gstreamer1.0-vaapi I see -
~$ gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA-API based elements
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
Version 1.18.0
License LGPL
Source module gstreamer-vaapi
Source release date 2020-09-08
Binary package gstreamer-vaapi
Origin URL https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues
0 features:
...and
~$ sudo gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA-API based elements
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
Version 1.18.0
License LGPL
Source module gstreamer-vaapi
Source release date 2020-09-08
Binary package gstreamer-vaapi
Origin URL https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues
vaapijpegdec: VA-API JPEG decoder
vaapimpeg2dec: VA-API MPEG2 decoder
vaapih264dec: VA-API H264 decoder
vaapivc1dec: VA-API VC1 decoder
vaapipostproc: VA-API video postprocessing
vaapidecodebin: VA-API Decode Bin
vaapisink: VA-API sink
vaapimpeg2enc: VA-API MPEG-2 encoder
vaapih264enc: VA-API H264 encoder
9 features:
+-- 9 elements
Any help or pointers to a solution would be welcome
Edhttps://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/88Building gst-libav gives error: ‘AVStream {aka struct AVStream}’ has no membe...2021-01-16T14:45:52ZFredericBuilding gst-libav gives error: ‘AVStream {aka struct AVStream}’ has no member named ‘index_entries’I am trying to compile gst-libav from source with jhbuild. I git-cloned ffmpeg and gst-libav and built ffmpeg using `./configure --prefix=/home/user/.local/built && make && make install`. Following is the output of `ffmpeg --version`:
...I am trying to compile gst-libav from source with jhbuild. I git-cloned ffmpeg and gst-libav and built ffmpeg using `./configure --prefix=/home/user/.local/built && make && make install`. Following is the output of `ffmpeg --version`:
```
ffmpeg version N-100636-ge722b443e4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --prefix=/home/user/.local/built/ --disable-x86asm
libavutil 56. 63.101 / 56. 63.101
libavcodec 58.117.101 / 58.117.101
libavformat 58. 65.101 / 58. 65.101
libavdevice 58. 11.103 / 58. 11.103
libavfilter 7. 96.100 / 7. 96.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
```
I am now compiling gst-libav, and i ran already `meson --prefix /home/user/.local/built --libdir lib --buildtype=debugoptimized /home/user/jhbuild/checkout/gst-libav`, which gave no errors. But running ninja gives following output:
```[8/25] Compiling C object ext/libav/libgstlibav.so.p/gstavdemux.c.o
FAILED: ext/libav/libgstlibav.so.p/gstavdemux.c.o
cc -Iext/libav/libgstlibav.so.p -Iext/libav -I../../../../jhbuild/checkout/gst-libav/ext/libav -I. -I../../../../jhbuild/checkout/gst-libav -I/home/user/.local/built//include -I/home/user/.local/built/include/gstreamer-1.0 -I/home/user/.local/built/include/glib-2.0 -I/home/user/.local/built/lib/glib-2.0/include -I/home/user/.local/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Waggregate-return -Wdeclaration-after-statement -Wvla -Wpointer-arith -g -fPIC -pthread -DHAVE_CONFIG_H -MD -MQ ext/libav/libgstlibav.so.p/gstavdemux.c.o -MF ext/libav/libgstlibav.so.p/gstavdemux.c.o.d -o ext/libav/libgstlibav.so.p/gstavdemux.c.o -c ../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c
../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c: In function ‘gst_ffmpegdemux_do_seek’:
../../../../jhbuild/checkout/gst-libav/ext/libav/gstavdemux.c:486:24: error: ‘AVStream {aka struct AVStream}’ has no member named ‘index_entries’
fftarget = stream->index_entries[keyframeidx].timestamp;
^~
```
I am on Ubuntu 18.04 with LXDE, my prcodessor architecture is x86_64, gcc is version 7.5.0-3ubuntu1~18.04 (if this matters, but i do not think so, this seems to be a migrating bug)
EDIT:
commenting out that line fixes the error for me, but you surely do not want all your users to edit the source code to get it working ! ;)https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/829rtspsrc: client with no ports in Transport of SETUP request2023-07-06T11:10:13ZGoerrtspsrc: client with no ports in Transport of SETUP requestI used the pipeline as the below in Ubuntu system, but it failed to play the video.
gst-launch-1.0 rtspsrc location=rtsp://192.168.2.108:8554/video debug=1 ! decodebin ! autovideosink
Request: OPTIONS rtsp://192.168.2.108:8554/vide...I used the pipeline as the below in Ubuntu system, but it failed to play the video.
gst-launch-1.0 rtspsrc location=rtsp://192.168.2.108:8554/video debug=1 ! decodebin ! autovideosink
Request: OPTIONS rtsp://192.168.2.108:8554/video RTSP/1.0\r\n
CSeq: 1\r\n
User-Agent: GStreamer/1.16.2\r\n
User-Agent: RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)\r\n
ClientChallenge: 9e26d33f2984236010ef6253fb1887f7\r\n
CompanyID: KnKV4M4I/B2FjJ1TToLycw==\r\n
GUID: 00000000-0000-0000-0000-000000000000\r\n
RegionData: 0\r\n
PlayerStarttime: [28/03/2003:22:50:23 00:00]\r\n
ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586\r\n
Date: Wed, 13 Jan 2021 02:51:20 GMT\r\n
\r\n
Then I found the patch (https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/327) and merged it.
but it still failed though the issue of user-agent duplicated in rtspsrc header was resolved.
I found there was no port information in Transport of SETUP request with that patch or not.
In additional, I try to use the VLC player that plays very well.
What happened with the gstreamer? Any suggestion will be appreciated.
Request: OPTIONS rtsp://192.168.2.108:8554/video RTSP/1.0\r\n
CSeq: 1\r\n
User-Agent: GStreamer/1.16.2\r\n
ClientChallenge: 9e26d33f2984236010ef6253fb1887f7\r\n
CompanyID: KnKV4M4I/B2FjJ1TToLycw==\r\n
GUID: 00000000-0000-0000-0000-000000000000\r\n
RegionData: 0\r\n
PlayerStarttime: [28/03/2003:22:50:23 00:00]\r\n
ClientID: Linux_2.4_6.0.9.1235_play32_RN01_EN_586\r\n
Date: Thu, 14 Jan 2021 03:30:20 GMT\r\n
\r\n
Response: RTSP/1.0 200 OK\r\n
CSeq: 1\r\n
Server: codec_rtp\r\n
Public: DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN, GET_PARAMETER, SET_PARAMETER\r\n
Content-length: 0
Cache-Control: no-cache\r\n
\r\n
Request: DESCRIBE rtsp://192.168.2.108:8554/video RTSP/1.0\r\n
CSeq: 2\r\n
User-Agent: GStreamer/1.16.2\r\n
Accept: application/sdp\r\n
Date: Thu, 14 Jan 2021 03:30:20 GMT\r\n
\r\n
Response: RTSP/1.0 200 OK\r\n
CSeq: 2\r\n
Server: codec_rtp\r\n
Content-type: application/sdp
Content-length: 593
Cache-Control: no-cache\r\n
\r\n
Session Description Protocol
Session Description Protocol Version (v): 0
Owner/Creator, Session Id (o): - -8959168443566489032 -8959168443566420313 IN IP4 192.168.2.108
Connection Information (c): IN IP4 239.0.0.0
Session Attribute (a): tool: codec_rtp
Session Attribute (a): range:npt=0-
Media Description, name and address (m): video 0 RTP/AVP 96
Media Attribute (a): rtpmap:96 H264/90000
Media Attribute (a): fmtp:96 packetization-mode=1;profile-level-id=42001e;sprop-parameter-sets=Z0IAKp2oHgCJ+WbgICAoAAAfSAAHUwQg,aM48gA==;
Media Attribute (a): control:rtsp://192.168.2.108:8554/video/trackID=0
Media Description, name and address (m): audio 0 RTP/AVP 96
Media Attribute (a): rtpmap:96 mpeg4-generic/48000/2
Media Attribute (a): fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1190; SizeLength=13;IndexLength=3; IndexDeltaLength=3; Profile=1;
Media Attribute (a): control:rtsp://192.168.2.108:8554/video/trackID=1
Data: 0d0a
Request: SETUP rtsp://192.168.2.108:8554/video/trackID=0 RTSP/1.0\r\n
CSeq: 3\r\n
User-Agent: GStreamer/1.16.2\r\n
Transport: RTP/AVP;multicast
Date: Thu, 14 Jan 2021 03:30:20 GMT\r\n
\r\n
Response: RTSP/1.0 400 Bad Request\r\n
CSeq: 3\r\n
Server: codec_rtp\r\n
\r\nhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/828rtpsession: old addresses do not get removed from conflict table2021-09-24T13:34:16ZYury Shatzrtpsession: old addresses do not get removed from conflict tableWe have our application working in a docker container. Docker routes incoming RTP stream to the appropriate port on our container. Our application sees these packets as coming from a random port on the host machine (e.g. 172.18.0.1:38724...We have our application working in a docker container. Docker routes incoming RTP stream to the appropriate port on our container. Our application sees these packets as coming from a random port on the host machine (e.g. 172.18.0.1:38724). It turns out that docker changes that port periodically (every 2 minutes in our experience).
In default mode, rtpsession thinks it is a different stream and starts to drop buffers every two minutes.
We set it to **favor-new=true**, and it helps. Port changes, it works.
After a few HOURS, docker reuses the port it was using a few hours before. And then rtpsession starts to drop buffers.
The reason is - old address is still in the table of conflicting addresses.
```c
if (rtp_source_find_conflicting_address (source,
pinfo->address, pinfo->current_time)) {
gchar *buf1;
buf1 = __g_socket_address_to_string (pinfo->address);
GST_LOG ("Known conflict on %x for %s, dropping packet", ssrc,
buf1);
g_free (buf1);
return TRUE;
```
It seems from rtp_source_timeout that it should have expired long ago. But I don't think this function is ever called.
Either someone needs to call rtp_source_timeout periodically, or we need a "super-favor-new" mode. Or a check for collision agd in find_conflicting_addresshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1498[d3d11desktopdupsrc] vs dxgiscreencapsrc. image capture is shifted2021-01-14T13:44:53ZDavide Perini[d3d11desktopdupsrc] vs dxgiscreencapsrc. image capture is shiftedHi all,
I'm testing the newest d3d11desktopdupsrc and dxgiscreencapsrc.
Does GStreamer have some problems with 3440x1440 21:9 monitors?
Same exact code works well with dxgiscreencapsrc but not on d3d11desktopdupsrc .
**It seems that...Hi all,
I'm testing the newest d3d11desktopdupsrc and dxgiscreencapsrc.
Does GStreamer have some problems with 3440x1440 21:9 monitors?
Same exact code works well with dxgiscreencapsrc but not on d3d11desktopdupsrc .
**It seems that with d3d11desktopdupsrc the image capture is shifted.**
differently from dxgiscreencapsrc:
| ./gst-inspect-1.0.exe d3d11desktopdupsrc |
|------------------------------------------|
does not have this properties:
- height
- width
- x
- y
Can this be the reason of my issue?
Strange thing is that it works no problem on 16:9 resolutions but it have this problem on 21:9 resolutions like 3440x1440.
Isn't d3d11desktopdupsrc supposed to be a "free" replacement to dxgiscreencapsrc?
Thank you.
Davidehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1497hlssink/hlssink2: configurable playlist types, write EXT-X-PLAYLIST-TYPE to p...2021-09-24T14:39:03ZMatt Harkerhlssink/hlssink2: configurable playlist types, write EXT-X-PLAYLIST-TYPE to playlists`gstm3u8playlist.c` has support for playlist types `EVENT` and `VOD`, but it doesn't do anything with them.
It would be very advantageous to write that event type into the rendered playlist, plus also expose the playlist type as an opti...`gstm3u8playlist.c` has support for playlist types `EVENT` and `VOD`, but it doesn't do anything with them.
It would be very advantageous to write that event type into the rendered playlist, plus also expose the playlist type as an option.
The lack of this playlist type being written means that some browsers with built-in HLS support (read: iOS Safari) don't allow for seeking through the playlist as without the type explicitly being set to EVENT or VOD, they don't assume that the segments will never change.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827matroskademux: Wrong titles2021-10-04T18:27:38ZIgnacy Kuchcińskimatroskademux: Wrong titlesCurrently when processing mkv files gstreamer extracts wrong title data for video, audio and subtitles track.
Steps to reproduce:
```
wget https://sample-videos.com/video123/mkv/240/big_buck_bunny_240p_1mb.mkv
wget https://raw.githubuse...Currently when processing mkv files gstreamer extracts wrong title data for video, audio and subtitles track.
Steps to reproduce:
```
wget https://sample-videos.com/video123/mkv/240/big_buck_bunny_240p_1mb.mkv
wget https://raw.githubusercontent.com/spektraldevelopment/spektralvideo/master/video/bigbuckbunny/bigbuckbunny.srt
mkvmerge -o test.mkv big_buck_bunny_240p_1mb.mkv bigbuckbunny.srt
mkvpropedit --edit info --set title=MYTITLE test.mkv
mkvpropedit --edit track:a1 --set name=MYAUDIO test.mkv
mkvpropedit --edit track:s1 --set name=MYSUBS test.mkv
```
Now run `gst-discoverer-1.0 -v test.mkv` to get the following output:
```
Properties:
Duration: 0:12:00.000000000
Seekable: yes
Live: no
Tags:
encoder: Lavf53.24.2
container format: Matroska
datetime: 2021-01-12T23:48:29Z
title: MYTITLE, MYSUBS, MYTITLE, MYAUDIO, MYAUDIO, MYAUDIO, MYTITLE
bitrate: 0
extended comment: DURATION=00:11:58.000000000
language code: und
audio codec: MPEG-4 AAC audio
video codec: H264
container: video/x-matroska
subtitles: text/x-raw, format=(string)pango-markup
Tags:
encoder: Lavf53.24.2
container format: Matroska
datetime: 2021-01-12T23:48:29Z
title: MYTITLE, MYSUBS
bitrate: 0
extended comment: DURATION=00:11:58.000000000
language code: und
Codec:
text/x-raw, format=(string)pango-markup
Stream ID: ff3671f6a224945258488b71b8ebdeba0e4b99364950d64ba1d50521e71ee181/003:9292031702051792385
Language: und
audio: audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)11b0, level=(string)4, base-profile=(string)lc, profile=(string)lc, channels=(int)6, rate=(int)48000
Tags:
encoder: Lavf53.24.2
container format: Matroska
datetime: 2021-01-12T23:48:29Z
title: MYTITLE, MYAUDIO, MYAUDIO, MYAUDIO
bitrate: 384600
extended comment: DURATION=00:00:12.095000000
audio codec: MPEG-4 AAC audio
language code: und
Codec:
audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)11b0, level=(string)4, base-profile=(string)lc, profile=(string)lc, channels=(int)6, rate=(int)48000
Stream ID: ff3671f6a224945258488b71b8ebdeba0e4b99364950d64ba1d50521e71ee181/002:002
Language: und
Channels: 6 (front-left, front-right, front-center, lfe1, rear-left, rear-right)
Sample rate: 48000
Depth: 32
Bitrate: 384600
Max bitrate: 0
video: video/x-h264, level=(string)2, profile=(string)main, codec_data=(buffer)014d4014ffe10016674d4014da0507ec0440000003004000000c83c50aa801000468ef3c80, stream-format=(string)avc, alignment=(string)au, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
Tags:
encoder: Lavf53.24.2
container format: Matroska
datetime: 2021-01-12T23:48:29Z
title: MYTITLE
bitrate: 309588
extended comment: DURATION=00:00:12.080000000
video codec: H264
language code: und
Codec:
video/x-h264, level=(string)2, profile=(string)main, codec_data=(buffer)014d4014ffe10016674d4014da0507ec0440000003004000000c83c50aa801000468ef3c80, stream-format=(string)avc, alignment=(string)au, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
Stream ID: ff3671f6a224945258488b71b8ebdeba0e4b99364950d64ba1d50521e71ee181/001:001
Width: 320
Height: 240
Depth: 24
Frame rate: 25/1
Pixel aspect ratio: 1/1
Interlaced: false
Bitrate: 309588
Max bitrate: 0
```
As can be seen, while title for the video stream gets extracted correctly, it is wrong for the audio (MYTITLE, MYAUDIO, MYAUDIO, MYAUDIO), subtitles (MYTITLE, MYSUBS) and the whole file (MYTITLE, MYSUBS, MYTITLE, MYAUDIO, MYAUDIO, MYAUDIO, MYTITLE). Moreover, the last one seems to have always randomly changed order of items after the first "MYTITLE" when re-running gst-discoverer, which completely puzzles me.
Another scenario is when the mkv file has only the audio stream name specified and gstreamer sets it as title of the entire file, or when it has both title of the file and audio stream specified and gstreamer sets them to "MYAUDIO, MYTITLE, MYAUDIO, MYAUDIO, MYTITLE" and "MYAUDIO, MYTITLE, MYAUDIO, MYAUDIO".
I managed to bisect which commit introduced this issue: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/4c10a1ba
However, reverting isn't a complete solution to the problem as before it gstreamer would set every title tag to the file title, disregarding audio and subtitle titles completely. It is a big improvement in behaviour though - if there is no title set for a video, gstreamer doesn't take it from audio title or subtitle titles and other programs can set it based on the filename.https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/826Wayland Env gst-launch-1.0 ximagesrc recording screen cannot play2021-01-26T16:43:02ZmouseWayland Env gst-launch-1.0 ximagesrc recording screen cannot playI'm in``` Wayland``` Env use it ```gst-launch-1.0 ximagesrc endx=1919 endy=1079 use-damage=false ! video/x-raw,framerate=15/1 ! videoconvert ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 ! queue ! web...I'm in``` Wayland``` Env use it ```gst-launch-1.0 ximagesrc endx=1919 endy=1079 use-damage=false ! video/x-raw,framerate=15/1 ! videoconvert ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 ! queue ! webmmux ! filesink location=/tmp/test.webm ```To record the current screen。I can get the right documents。But when I use VLC to play this video, it's wrong ```vlc /tmp/test.webm ```And with ```Xorg```, it's finehttps://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/26404 Not Found errors when running docker-compose (sendrecv demo)2023-11-10T12:44:59ZJacob Locken404 Not Found errors when running docker-compose (sendrecv demo)When running `docker-compose up` I run into the below error.
```
WARNING: Native build is an experimental feature and could change at any time
Building sendrecv-gst
[+] Building 3.9s (7/10) ...When running `docker-compose up` I run into the below error.
```
WARNING: Native build is an experimental feature and could change at any time
Building sendrecv-gst
[+] Building 3.9s (7/10)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 461B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/maxmcd/gstreamer:1.14-buster 1.4s
=> [auth] maxmcd/gstreamer:pull token for registry-1.docker.io 0.0s
=> CACHED [1/5] FROM docker.io/maxmcd/gstreamer:1.14-buster@sha256:084342f1818e07066b7e9ba61be0fc5371bde8c6818f088161d938a455ae9d68 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 597B 0.0s
=> ERROR [2/5] RUN apt-get install -y libjson-glib-dev 2.4s
------
> [2/5] RUN apt-get install -y libjson-glib-dev:
#6 0.359 Reading package lists...
#6 1.149 Building dependency tree...
#6 1.293 Reading state information...
#6 1.440 The following additional packages will be installed:
#6 1.441 gir1.2-json-1.0 libjson-glib-1.0-0 libjson-glib-1.0-common
#6 1.442 Suggested packages:
#6 1.442 libjson-glib-doc
#6 1.515 The following NEW packages will be installed:
#6 1.515 gir1.2-json-1.0 libjson-glib-1.0-0 libjson-glib-1.0-common libjson-glib-dev
#6 1.796 0 upgraded, 4 newly installed, 0 to remove and 12 not upgraded.
#6 1.796 Need to get 154 kB of archives.
#6 1.796 After this operation, 1004 kB of additional disk space will be used.
#6 1.796 Err:1 http://deb.debian.org/debian buster/main amd64 libjson-glib-1.0-common all 1.4.2-4
#6 1.796 404 Not Found [IP: 151.101.54.132 80]
#6 1.969 Err:2 http://deb.debian.org/debian buster/main amd64 libjson-glib-1.0-0 amd64 1.4.2-4
#6 1.969 404 Not Found [IP: 151.101.54.132 80]
#6 2.171 Err:3 http://deb.debian.org/debian buster/main amd64 gir1.2-json-1.0 amd64 1.4.2-4
#6 2.171 404 Not Found [IP: 151.101.54.132 80]
#6 2.334 Err:4 http://deb.debian.org/debian buster/main amd64 libjson-glib-dev amd64 1.4.2-4
#6 2.334 404 Not Found [IP: 151.101.54.132 80]
#6 2.341 E: Failed to fetch http://deb.debian.org/debian/pool/main/j/json-glib/libjson-glib-1.0-common_1.4.2-4_all.deb 404 Not Found [IP: 151.101.54.132 80]
#6 2.341 E: Failed to fetch http://deb.debian.org/debian/pool/main/j/json-glib/libjson-glib-1.0-0_1.4.2-4_amd64.deb 404 Not Found [IP: 151.101.54.132 80]
#6 2.341 E: Failed to fetch http://deb.debian.org/debian/pool/main/j/json-glib/gir1.2-json-1.0_1.4.2-4_amd64.deb 404 Not Found [IP: 151.101.54.132 80]
#6 2.341 E: Failed to fetch http://deb.debian.org/debian/pool/main/j/json-glib/libjson-glib-dev_1.4.2-4_amd64.deb 404 Not Found [IP: 151.101.54.132 80]
#6 2.341 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
------
executor failed running [/bin/sh -c apt-get install -y libjson-glib-dev]: exit code: 100
ERROR: Service 'sendrecv-gst' failed to build
```
I went ahead and added a `RUN apt-get --allow-releaseinfo-change update` on line 3 of `gst-examples/webrtc/sendrecv/gst/Dockerfile` that will do the update and ignore the repo status change.
Before I submit a PR wanted to see if anyone else is encountering this.https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/issues/130rtspclientsink hangs on gst_element_set_state() when trying to stop an empty...2021-02-16T11:23:31ZPavel D.rtspclientsink hangs on gst_element_set_state() when trying to stop an empty pipelineNothing was sent to udpsrc , RTSP server is alive,
I am trying to close pipeline and hang on pipeline state change to GST_STATE_NULL.
When data sent to 127.0.0.1:5555 - pipeline was closed without problem.
**Platform:** Ubuntu
**Examp...Nothing was sent to udpsrc , RTSP server is alive,
I am trying to close pipeline and hang on pipeline state change to GST_STATE_NULL.
When data sent to 127.0.0.1:5555 - pipeline was closed without problem.
**Platform:** Ubuntu
**Example Compilation:**
~~~
gcc -Wall main.c -o main $(pkg-config --cflags --libs gstreamer-1.0)
~~~
**My current pipeline is as following:**
~~~
udpsrc address=127.0.0.1 port=5555 name=udpsrcVideo caps="application/x-rtp,media=video,encoding-name=VP8" ! rtpjitterbuffer name=rtpjitterbufferVideo ! rtpvp8depay name=rtpvp8depayVideo ! queue name=queueVideo ! rtspclientsink name=rtspClientSinkVideo protocols=GST_RTSP_LOWER_TRANS_TCP tcp-timeout=3000000 location="rtsp://127.0.0.1:1935/videoapp/videostream" latency=0
~~~
**Backtrace output of the main thread:**
~~~
[New LWP 27726]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
135 ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory.
(gdb) bt
#0 0x00007fcedc5c81fd in __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007fcedc5c10f4 in __GI___pthread_mutex_lock (mutex=0x5555fcc24f80) at ../nptl/pthread_mutex_lock.c:115
#2 0x00007fced9286ac8 in () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtspclientsink.so
#3 0x00007fceddb3dd5e in gst_element_change_state () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#4 0x00007fceddb3e499 in () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#5 0x00007fceddb1ba02 in () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#6 0x00007fceddb63ed2 in () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#7 0x00007fceddb3dd5e in gst_element_change_state () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#8 0x00007fceddb3e045 in gst_element_change_state () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#9 0x00007fceddb3ddb6 in gst_element_change_state () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#10 0x00007fceddb3e499 in () at /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#11 0x00005555fc1b7b59 in main ()
~~~
**Code Example:**
~~~
#include <stdio.h>
#include <gst/gst.h>
#include <glib.h>
#define MAX_STRING_LEN 2048
int main (int argc, char *argv[])
{
GError *error = NULL;
/* Initialisation */
gst_init (&argc, &argv);
char launchString[MAX_STRING_LEN];
snprintf(launchString, sizeof(launchString),
"udpsrc address=127.0.0.1 port=5555 name=udpsrcVideo "
" caps=\"application/x-rtp,media=video,encoding-name=VP8\" !"
" rtpjitterbuffer name=rtpjitterbufferVideo ! rtpvp8depay name=rtpvp8depayVideo ! queue name=queueVideo ! "
" rtspclientsink name=rtspClientSinkVideo protocols=GST_RTSP_LOWER_TRANS_TCP tcp-timeout=3000000 "
" location=\"rtsp://127.0.0.1:1935/videoapp/videostream\" latency=0");
g_print ("pipeline: %s\n", launchString);
GstElement *pipeline = gst_parse_launch(launchString, &error);
g_clear_error(&error);
/* Set the pipeline to "playing" state*/
g_print ("Now set pipeline to GST_STATE_PLAYING\n");
gst_element_set_state (pipeline, GST_STATE_PLAYING);
g_print ("Running...\n");
g_usleep(6000000); //6s
/* Out of the main loop, clean up nicely */
g_print ("Returned from sleep, try set pipeline to state: GST_STATE_NULL\n");
gst_element_set_state (pipeline, GST_STATE_NULL);
g_print ("Deleting VIDEO pipeline\n");
gst_object_unref (GST_OBJECT (pipeline));
g_clear_error(&error);
return 0;
}
~~~Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.com