gst-plugins-bad issueshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues2021-09-24T14:36:44Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/795[IOS] VTDec with iOS12 : Decoding glitches2021-09-24T14:36:44ZBugzilla Migration User[IOS] VTDec with iOS12 : Decoding glitches## Submitted by Alann
**[Link to original bug (#797250)](https://bugzilla.gnome.org/show_bug.cgi?id=797250)**
## Description
Dear Community,
On iOS 12, I have been experiencing weird behaviour on decoding video (tested in playbin)...## Submitted by Alann
**[Link to original bug (#797250)](https://bugzilla.gnome.org/show_bug.cgi?id=797250)**
## Description
Dear Community,
On iOS 12, I have been experiencing weird behaviour on decoding video (tested in playbin).
We can see that the video stutters a lot and nothing weird appears in logs. I tested the latest master version built with Cerbero, and also an older 1.12 version to check if the problem existed before, but still, it happens everytime so it might be something new in iOS12 hardware decoding via VTDec.
Step to reproduce are simple : You can start from iOS tutorial 4 (Just need to update gst_ios_init.x) and set an accessible video url such as "http://mirrors.standaloneinstaller.com/video-sample/jellyfish-25-mbps-hd-hevc.mp4".
Playing the video will show the anomaly.
Thanks for your precious help.
Alann.
Version: 1.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/796dvbsuboverlay out of sync after a seek2021-09-24T14:36:45ZBugzilla Migration Userdvbsuboverlay out of sync after a seek## Submitted by Jan Schmidt `@thaytan`
**[Link to original bug (#797253)](https://bugzilla.gnome.org/show_bug.cgi?id=797253)**
## Description
I have an MPEG-TS stream with DVB subs that plays correctly if played from the start - DVB...## Submitted by Jan Schmidt `@thaytan`
**[Link to original bug (#797253)](https://bugzilla.gnome.org/show_bug.cgi?id=797253)**
## Description
I have an MPEG-TS stream with DVB subs that plays correctly if played from the start - DVB subs display where they should. After a seek, the subs aren't shown synchronised any more - they seem to be offset by some amount that might correspond to the target seek position.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/797shmsrc: client main socket should be non-blocking2021-09-24T14:36:45ZBugzilla Migration Usershmsrc: client main socket should be non-blocking## Submitted by Aleix Conchillo Flaqué
**[Link to original bug (#797258)](https://bugzilla.gnome.org/show_bug.cgi?id=797258)**
## Description
While testing [bug 797203](https://bugzilla.gnome.org/show_bug.cgi?id=797203), I have foun...## Submitted by Aleix Conchillo Flaqué
**[Link to original bug (#797258)](https://bugzilla.gnome.org/show_bug.cgi?id=797258)**
## Description
While testing [bug 797203](https://bugzilla.gnome.org/show_bug.cgi?id=797203), I have found that client socket is opened without O_NONBLOCK. This might cause some race condition. See the blocking in the send system call below:
```
Thread 5 (Thread 0x7feb37fff700 (LWP 22116)):
#0 0x00007feb431b19ff in __libc_send (fd=16, buf=buf@entry=0x7feb37ffea70, n=n@entry=24, flags=flags@entry=16384) at ../sysdeps/unix/sysv/linux/x86_64/send.c:26
#1 0x00007feb4195d112 in send_command (area_id=<optimized out>, type=4, cb=0x7feb37ffea70, fd=<optimized out>) at shmpipe.c:481
#2 sp_client_recv_finish (self=0x2622370, buf=<optimized out>) at shmpipe.c:767
#3 0x00007feb4195e6b1 in free_buffer (data=0x2616a10) at gstshmsrc.c:313
#4 0x00007feb4397da39 in default_free (allocator=<optimized out>, mem=0x7feb30006d10) at gstallocator.c:527
#5 0x00007feb439be788 in _gst_memory_free (mem=0x7feb30006d10) at gstmemory.c:97
#6 0x00007feb439885da in gst_memory_unref (memory=<optimized out>) at ../gst/gstmemory.h:345
#7 _gst_buffer_free (buffer=0x7feb30004e30) at gstbuffer.c:749
#8 0x00007feb41b9ed6a in gst_base_sink_chain_unlocked (basesink=basesink@entry=0x2628de0, obj=obj@entry=0x7feb30004e30, is_list=is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3655
#9 0x00007feb41ba025c in gst_base_sink_chain_main (is_list=0, obj=0x7feb30004e30, pad=<optimized out>, basesink=0x2628de0) at gstbasesink.c:3672
#10 gst_base_sink_chain (pad=<optimized out>, parent=0x2628de0, buf=0x7feb30004e30) at gstbasesink.c:3701
#11 0x00007feb439c610b in gst_pad_chain_data_unchecked (data=<optimized out>, type=4112, pad=0x261c790) at gstpad.c:4322
#12 gst_pad_push_data (pad=pad@entry=0x261c540, type=type@entry=4112, data=<optimized out>, data@entry=0x7feb30004e30) at gstpad.c:4578
#13 0x00007feb439cdbb3 in gst_pad_push (pad=pad@entry=0x261c540, buffer=0x7feb30004e30) at gstpad.c:4697
#14 0x00007feb41ba498d in gst_base_src_loop (pad=0x261c540) at gstbasesrc.c:2957
#15 0x00007feb43a005b1 in gst_task_func (task=0x2623170) at gsttask.c:332
#16 0x00007feb4344a1dc in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#17 0x00007feb43449ac5 in g_thread_proxy (data=0x2622230) at gthread.c:784
#18 0x00007feb431a86ba in start_thread (arg=0x7feb37fff700) at pthread_create.c:333
#19 0x00007feb42ede41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 4 (Thread 0x7feb3c956700 (LWP 22115)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007feb4346cfca in g_cond_wait_until (cond=cond@entry=0x2443148, mutex=mutex@entry=0x2443140, end_time=end_time@entry=4152625229152) at gthread-posix.c:1449
#2 0x00007feb433df40b in g_async_queue_pop_intern_unlocked (end_time=4152625229152, wait=1, queue=0x2443140) at gasyncqueue.c:422
#3 g_async_queue_timeout_pop (queue=0x2443140, timeout=timeout@entry=15000000) at gasyncqueue.c:545
#4 0x00007feb4344a2ba in g_thread_pool_wait_for_new_pool () at gthreadpool.c:167
#5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:364
#6 0x00007feb43449ac5 in g_thread_proxy (data=0x2622630) at gthread.c:784
#7 0x00007feb431a86ba in start_thread (arg=0x7feb3c956700) at pthread_create.c:333
#8 0x00007feb42ede41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 3 (Thread 0x7feb3d157700 (LWP 22114)):
#0 0x00007feb431b19ff in __libc_send (fd=17, buf=buf@entry=0x7feb3d156a00, n=n@entry=24, flags=flags@entry=16384) at ../sysdeps/unix/sysv/linux/x86_64/send.c:26
#1 0x00007feb4195ccb0 in send_command (area_id=<optimized out>, type=3, cb=0x7feb3d156a00, fd=<optimized out>) at shmpipe.c:481
#2 sp_writer_send_buf (self=0x2506630, buf=<optimized out>, size=4096, tag=tag@entry=0x7feb30028180) at shmpipe.c:620
#3 0x00007feb4195f798 in gst_shm_sink_render (bsink=0x261f410, buf=0x7feb3006b0d0) at gstshmsink.c:785
#4 0x00007feb41b9ec23 in gst_base_sink_chain_unlocked (basesink=basesink@entry=0x261f410, obj=obj@entry=0x7feb3006b0d0, is_list=is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3546
#5 0x00007feb41ba025c in gst_base_sink_chain_main (is_list=0, obj=0x7feb3006b0d0, pad=<optimized out>, basesink=0x261f410) at gstbasesink.c:3672
#6 gst_base_sink_chain (pad=<optimized out>, parent=0x261f410, buf=0x7feb3006b0d0) at gstbasesink.c:3701
#7 0x00007feb439c610b in gst_pad_chain_data_unchecked (data=<optimized out>, type=4112, pad=0x261c2f0) at gstpad.c:4322
#8 gst_pad_push_data (pad=pad@entry=0x261c0a0, type=type@entry=4112, data=<optimized out>, data@entry=0x7feb3006b0d0) at gstpad.c:4578
#9 0x00007feb439cdbb3 in gst_pad_push (pad=pad@entry=0x261c0a0, buffer=0x7feb3006b0d0) at gstpad.c:4697
#10 0x00007feb41ba498d in gst_base_src_loop (pad=0x261c0a0) at gstbasesrc.c:2957
#11 0x00007feb43a005b1 in gst_task_func (task=0x2623050) at gsttask.c:332
#12 0x00007feb4344a1dc in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#13 0x00007feb43449ac5 in g_thread_proxy (data=0x2506720) at gthread.c:784
#14 0x00007feb431a86ba in start_thread (arg=0x7feb3d157700) at pthread_create.c:333
#15 0x00007feb42ede41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
```
Version: 1.14.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/798[regression] h265parser: Fix wrong maximum range check in gst_h265_parse_vps()2018-11-09T08:31:13ZBugzilla Migration User[regression] h265parser: Fix wrong maximum range check in gst_h265_parse_vps()## Submitted by Seungha Yang
**[Link to original bug (#797279)](https://bugzilla.gnome.org/show_bug.cgi?id=797279)**
## Description
I found regression after fix of [bug 754124](https://bugzilla.gnome.org/show_bug.cgi?id=754124).
T...## Submitted by Seungha Yang
**[Link to original bug (#797279)](https://bugzilla.gnome.org/show_bug.cgi?id=797279)**
## Description
I found regression after fix of [bug 754124](https://bugzilla.gnome.org/show_bug.cgi?id=754124).
The patch in [bug 754124](https://bugzilla.gnome.org/show_bug.cgi?id=754124) seems to correct but the actual bug is in h265parser1.14.5https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/799webrtcbin: video pixelated2021-09-24T14:36:45ZBugzilla Migration Userwebrtcbin: video pixelated## Submitted by Dmitriy
**[Link to original bug (#797280)](https://bugzilla.gnome.org/show_bug.cgi?id=797280)**
## Description
Hello.
I using gstwebrtc-demos for experiments.
I no modifications this demo, video are chronicall...## Submitted by Dmitriy
**[Link to original bug (#797280)](https://bugzilla.gnome.org/show_bug.cgi?id=797280)**
## Description
Hello.
I using gstwebrtc-demos for experiments.
I no modifications this demo, video are chronically pixelated.
My run demo on Intel Core i5-2300. Tested on Fedora 28 and AltLinux 7.
GStreamer 1.14.1-1.14.4 and git master branch.
On localhost for vp8:
chrome -> gstreamer video pixeleted after few seconds and not restoring. FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement drain()
firefox -> gstreamer not pixelated.
Via internet for vp8:
chrome -> gstreamer video pixeleted after few seconds and not restoring. FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement drain()
firefox -> gstreamer pixelated periodical and restoring. FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement drain()
On localhost for vp9:
chrome -> gstreamer video not pixeleted, after one minute decode error. Logged vp9dec0 Failed to decode frame
firefox -> gstreamer not pixelated.
Via internet for vp9:
chrome -> gstreamer video not pixeleted, after one minute decode error. Logged vp9dec0 Failed to decode frame
firefox -> gstreamer pixelated periodical and restoring. FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement drain()
On localhost for h264:
chrome -> gstreamer not working.
Via wi-fi for h264:
ios safari -> gstreamer pixelated periodical and restoring.
I modified demo for transfer video hd 720p. I took 720p video clip (~ 2000 kbit/s), split the video and audio into different files.
Replace videotestsrc on filesrc ! decodebin.
On localhost:
chrome -> gstremer video pixeleted after few seconds and not restoring.
gstreamer -> chrome video from file normally reproduced in good quality and not pixelated. Periodically, the video freezes(slows down), but continues to play.
I modified demo for connection gstreamer `<->` gstreamer and show packets-lost statistics.
On localhost on CPU Intel Core i5-2300 both videos pixelated.
On localhost on CPU Intel Core i7-7500U not pixelated, video can play for hours. But sometimes it is suddenly pixelated and not restored.
Via internet video starts to pixelate even without packet loss.
Without vaapi logged:
FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement drain()
For vaapi logged:
0:01:05.094888406 31361 0x164a190 WARN basesink gstbasesink.c:3008:gst_base_sink_is_too_late:`<sink>` warning: A lot of buffers are being dropped.
0:01:05.094911959 31361 0x164a190 WARN basesink gstbasesink.c:3008:gst_base_sink_is_too_late:`<sink>` warning: There may be a timestamping problem, or this computer is too slow.
0:01:09.812852771 31361 0x164a190 WARN basesink gstbasesink.c:3008:gst_base_sink_is_too_late:`<sink>` warning: A lot of buffers are being dropped.
0:01:09.812895157 31361 0x164a190 WARN basesink gstbasesink.c:3008:gst_base_sink_is_too_late:`<sink>` warning: There may be a timestamping problem, or this computer is too slow.
or
0:00:46.437781309 30576 0x7fcdbc086a80 WARN rtpjitterbuffer rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:21.974949098 too big, reset skew
0:00:54.432961894 30576 0x7fcdbc086a80 WARN rtpjitterbuffer rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:07.929154280 too big, reset skew
0:00:55.091775442 30576 0x7fcdbc086a80 WARN rtpjitterbuffer rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:01.005567476 too big, reset skew
0:00:55.751770789 30576 0x7fcdbc086a80 WARN rtpjitterbuffer rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:01.006104407 too big, reset skew
0:00:56.032690630 30576 0x7fcd8c0044a0 WARN videodecoder gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:`<vp8dec0>` decreasing timestamp (0:00:46.420374279 < 0:00:47.392941755)
0:00:56.035278829 30576 0x7fcd8c0044a0 WARN videodecoder gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:`<vp8dec0>` decreasing timestamp (0:00:46.454371755 < 0:00:47.392941755)
0:00:56.037620125 30576 0x7fcd8c0044a0 WARN videodecoder gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:`<vp8dec0>` decreasing timestamp (0:00:46.487322322 < 0:00:47.392941755)
0:00:56.039805150 30576 0x7fcd8c0044a0 WARN videodecoder gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:`<vp8dec0>` decreasing timestamp (0:00:46.520118718 < 0:00:47.392941755)
0:00:56.042165373 30576 0x7fcd8c0044a0 WARN videodecoder gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:`<vp8dec0>` decreasing timestamp (0:00:46.553719923 < 0:00:47.392941755)
I tried to minimize the load on the processor. I check gstreamer(h264) `<->` gstreamer(h264) via internet using vaapi for decoder and encoder.
Video is almost not pixelated. Only sometimes and immediately restored. Packet loss is about the same as in previous tests.
How to make the video just slow down when there is a shortage of computer resources and then continued to play?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/800h264parse/h265parse: Multi-slices and NAL alignments fixes2020-04-15T16:24:28ZBugzilla Migration Userh264parse/h265parse: Multi-slices and NAL alignments fixes## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#797281)](https://bugzilla.gnome.org/show_bug.cgi?id=797281)**
## Description
I've been working on multi slices H264/H265 streaming and encounter several issues ...## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#797281)](https://bugzilla.gnome.org/show_bug.cgi?id=797281)**
## Description
I've been working on multi slices H264/H265 streaming and encounter several issues with h264parse/h265parse. This encoding method is used to reduce the latency. When used, we want the decoder to start decoding the frame as soon as a slice is received rather then when a complete image was found.
My patchset is not full ready yet, specially that I need to add unit test for each of the aspect corrected. If we merge the base class for these, we'll probably be able to reduce this patchset size, though we need to rewrite it at the same time.
Overall, I've been addressing issues like:
- Input alignment isn't used to reduce parsing latency
- Timestamps/Duration issues
- Marker flags not being used/transferred
- Missing AUD insertion (h265parse)
- First NAL is pushed because we have complete caps (need work still)
- Bug in H265parse caused by SUFFIX SEI not being treaded as such
https://gitlab.collabora.com/nicolas/gst-plugins-bad/commits/h26xparse-fixeshttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/801d3dvideosink is broken in git master2018-11-09T08:31:13ZBugzilla Migration Userd3dvideosink is broken in git master## Submitted by Nirbheek Chauhan `@nirbheek`
**[Link to original bug (#797285)](https://bugzilla.gnome.org/show_bug.cgi?id=797285)**
## Description
Steps to reproduce:
gst-launch-1.0 videotestsrc ! d3dvideosink
Results: vi...## Submitted by Nirbheek Chauhan `@nirbheek`
**[Link to original bug (#797285)](https://bugzilla.gnome.org/show_bug.cgi?id=797285)**
## Description
Steps to reproduce:
gst-launch-1.0 videotestsrc ! d3dvideosink
Results: video is stuck on the first frame and the console is flooded with:
0:00:01.436545748 6772 0000000002B18000 ERROR default video-frame.c:162:gst_video_frame_map_id: failed to map video frame plane 1
glimagesink works perfectly.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/802mpegts: support for JPEG 2000 is broken2019-11-20T13:08:07ZBugzilla Migration Usermpegts: support for JPEG 2000 is broken## Submitted by Aaron Boxer
**[Link to original bug (#797292)](https://bugzilla.gnome.org/show_bug.cgi?id=797292)**
## Description
The following pipeline used to work:
$ gst-launch-1.0 -v videotestsrc ! openjpegenc ! jpeg2000pa...## Submitted by Aaron Boxer
**[Link to original bug (#797292)](https://bugzilla.gnome.org/show_bug.cgi?id=797292)**
## Description
The following pipeline used to work:
$ gst-launch-1.0 -v videotestsrc ! openjpegenc ! jpeg2000parse ! mpegtsmux ! tsdemux ! jpeg2000parse ! openjpegdec ! videoconvert ! ximagesink
Now, with gst-plugins-bad master and OpenJPEG master, I get these errors:
:00:00.076905409 26973 0x194c0a0 ERROR tsdemux tsdemux.c:2795:parse_jp2k_access_unit: Required size (23237) greater than remaining size in buffer (23229)
0:00:00.076924988 26973 0x194c0a0 ERROR tsdemux tsdemux.c:2807:parse_jp2k_access_unit: Failed to parse JP2K access unithttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/803srtp: Add support for MKI2018-11-10T02:25:53ZBugzilla Migration Usersrtp: Add support for MKI## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#797305)](https://bugzilla.gnome.org/show_bug.cgi?id=797305)**
## Description
Currently, our SRTP elements don't support MKIs. This patch series adds support for them....## Submitted by Olivier Crête `@ocrete`
**[Link to original bug (#797305)](https://bugzilla.gnome.org/show_bug.cgi?id=797305)**
## Description
Currently, our SRTP elements don't support MKIs. This patch series adds support for them.
It has 2 parts:
* Encoder
I just added an MKI property and then it puts a "mki" element in the caps with the MKI in a buffer. This still only allows for one MKI.
* Decoder
This may be a bit more controversial, as I'm allowing multiple MKIs, instead of having separate CAPS, I'm putting them all in one with "srtp-key=X, mki=X, mki2=Y, srtp-key2=Y, mki3=Z, srtp-key3=Z", up to 15, which is the maximum allowed by libsrtp.
The other thing that could be controversial is that support for MKIs were added in libsrtp 2.1. So I put the whole thing behind ifdeds, included the extra MKI property. If no one yells, I would be tempted to just drop the ifdefs and require libsrtp 2.1 at least for everyone.
I'm also attaching a patch against Cerbero to bump libsrtp to 2.2.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/804dashdemux: SIDX reverse playback failure2021-09-24T14:36:46ZBugzilla Migration Userdashdemux: SIDX reverse playback failure## Submitted by Edward Hervey `@bilboed`
**[Link to original bug (#797325)](https://bugzilla.gnome.org/show_bug.cgi?id=797325)**
## Description
This can be reproduced with:
$ USE_PLAYBIN3 gst-validate-launcher -m -t validate.dash....## Submitted by Edward Hervey `@bilboed`
**[Link to original bug (#797325)](https://bugzilla.gnome.org/show_bug.cgi?id=797325)**
## Description
This can be reproduced with:
$ USE_PLAYBIN3 gst-validate-launcher -m -t validate.dash.playback.reverse_playback.dash_exMPD_BIP_TC1
That test will attempt to do reverse playback. From an adaptivedemux/dashdemux point of view what happens is:
* manifest is read
* streams are setup (using a certain bitrate variant for the video stream)
* playback is started, sidx is downloaded and parsed, data is pushed downstream going forward
* a flushing reverse playback seek (with a specific start position) is received
* playback is restarted from the end
* based on the sidx table, dashdemux starts downloading chunks of GOP
* adaptivedemux detects we can switch to a higher bitrate and requests dashdemux to do so
* => The SIDX entries are wiped since they are no longer valid for that variant and therefore the sidx entries need to be re-downloaded
* When the chunk for SIDX table is downloaded, the "position" for that stream is updated to ... 0
* The next time the adaptivedemux loop is run (i.e. when a *chunk* is done downloading), it compares the stream position (0) to the configured segment.start (specified and non-0) ... and therefore assumes we're done reading that stream
* => playback stops for the video stream (the audio one carries on because there are no variants, but then the pipeline just hangs).
Note: With playbin2/decodebin2, the "switching to higher bitrate" happens quite often before the seek is received. It seems to be due to the fact that pre-rolling will consume more data downstream, and therefore adaptivedemux switches to the higher bitrate *before* the seek is received.
My gutt feeling is that when downloading SIDX "chunks", no position whatsoever should be reported/used/updated for the stream->segment. It's non-data really.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/805webrtcbin: GStreamer-CRITICAL (padname not unique) with enabled both ULP_FEC ...2022-10-25T03:10:10ZBugzilla Migration Userwebrtcbin: GStreamer-CRITICAL (padname not unique) with enabled both ULP_FEC and RTX using iOS devices## Submitted by Szymon Piechaczek
**[Link to original bug (#797328)](https://bugzilla.gnome.org/show_bug.cgi?id=797328)**
## Description
I'm using webrtcbin as sendrecv endpoint (H264 video and Opus audio) with iOS devices (native W...## Submitted by Szymon Piechaczek
**[Link to original bug (#797328)](https://bugzilla.gnome.org/show_bug.cgi?id=797328)**
## Description
I'm using webrtcbin as sendrecv endpoint (H264 video and Opus audio) with iOS devices (native WebRTC SDK) and I've been facing many video issues over wireless networks (dropped keyframes etc.).
I enabled FEC and RTX on webrtcbin with this Python code:
def _on_new_transceiver(self, element, transceiver):
if transceiver.mline == 1:
transceiver.set_property("fec-type", GstWebRTC.WebRTCFECType.ULP_RED)
transceiver.set_property("do-nack", True)
The problem is that enabling _both_ of them makes webrtcbin to double-create "src_1" pad:
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.072505020 212 0x7f4df0095050 DEBUG webrtcbin gstwebrtcbin.c:3369:on_rtpbin_request_pt_map:`<webrtcbin0>` getting pt map for pt 99 in session 1
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.073430701 212 0x7f4df0095050 INFO rtpjitterbuffer rtpjitterbuffer.c:778:rtp_jitter_buffer_calculate_pts: resync to time 0:00:07.084805979, rtptime 8:16:32.042122222
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.073458015 212 0x7f4dac003c50 INFO rtpjitterbuffer gstrtpjitterbuffer.c:3942:do_deadline_timeout:`<rtpjitterbuffer2>` got deadline timeout
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.073584023 212 0x7f4df02a21e0 DEBUG webrtcbin gstwebrtcbin.c:3562:on_rtpbin_request_fec_decoder:`<webrtcbin0>` Creating ULPFEC decoder for pt 97 in session 1
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.074065056 212 0x7f4df02a21e0 DEBUG webrtcbin gstwebrtcbin.c:3301:copy_sticky_events:<webrtcbin0:src_1> store sticky event stream-start event: 0x7f4dc40055e0, time 99:99:99.999999999, seq-num 741, GstEventStreamStart, stream-id=(string)d86ca30418e5b0ec624d6b445597ed11, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)6;
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.074097198 212 0x7f4df02a21e0 DEBUG webrtcbin gstwebrtcbin.c:3301:copy_sticky_events:<webrtcbin0:src_1> store sticky event caps event: 0x7f4dc8001c40, time 99:99:99.999999999, seq-num 17928, GstEventCaps, caps=(GstCaps)"application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)99\,\ clock-rate\=\(int\)90000\,\ encoding-name\=\(string\)RTX\,\ apt\=\(string\)110\,\ ssrc\=\(uint\)572172575";
app_1 | 0:00:09.074150118 212 0x7f4df02a21e0 DEBUG webrtcbin gstwebrtcbin.c:3301:copy_sticky_events:<webrtcbin0:src_1> store sticky event segment event: 0x7f4dc4005650, time 99:99:99.999999999, seq-num 736, GstEventSegment, segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;";
app_1 | (python3:212): GStreamer-CRITICAL **: 16:16:35.793: Padname src_1 is not unique in element webrtcbin0, not adding
app_1 | #ERR#Stream 5bcf2d353a11a300394baf0f#: 0:00:09.130071459 212 0x7f4df0095940 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:`<nicesrc3>` error: Internal data stream error.
app_1 | 0:00:09.130115420 212 0x7f4df0095940 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:`<nicesrc3>` error: streaming stopped, reason not-linked (-1)
app_1 | #Stream 5bcf2d353a11a300394baf0f#: BUS ERROR: gst-stream-error-quark 1 | DEBUG: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:episode_5bcf2d353a11a300394baf0f/GstBin:compositor_1001/GstWebRTCBin:webrtcbin0/TransportReceiveBin:transportreceivebin1/GstNiceSrc:nicesrc3:
app_1 | streaming stopped, reason not-linked (-1)
With WebRTC peer on Google Chrome everything is OK (SDP answer is almost the same) and ULPFEC decoder is create earilier. On iOS it is somehow delayed.
I've looked into the source code and found two possible bug-causing lines:
https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcbin.c#L4506-L4507
https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcbin.c#L4589-L4594
Version: 1.14.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/806Live Audio Playback from Microphone Goes Silent on Windows wasapi2019-11-28T20:38:48ZBugzilla Migration UserLive Audio Playback from Microphone Goes Silent on Windows wasapi## Submitted by Michael MacIntosh
**[Link to original bug (#797329)](https://bugzilla.gnome.org/show_bug.cgi?id=797329)**
## Description
Created attachment 374015
An excerpt of the ringbuffer:5 debug logs.
I am running into a...## Submitted by Michael MacIntosh
**[Link to original bug (#797329)](https://bugzilla.gnome.org/show_bug.cgi?id=797329)**
## Description
Created attachment 374015
An excerpt of the ringbuffer:5 debug logs.
I am running into audio playback issues in the latest versions of gstreamer. I am using 1.14.4 on windows 10 but have also experienced this issue on windows 7. It is most pronounced with wasapisrc and wasapisink, but I have experienced this issue with directsoundsrc and directsoundsink and combinations thereof. My current workaround (that I am still testing, but getting better results) is using directsoundsrc and directsoundsink with double the default buffer times and latency times.
With wasapisrc, playback via wasapisink will go silent after a certain amount of time or go choppy. The audio will usually play for a few seconds, go silent for about 15-20 seconds, then play again for another 3 seconds. It usually repeats this process until it will eventually cut out completely.
A simple pipeline to reproduce this issue would be something like:
wasapisrc ! queue ! audioconvert ! audioresample ! wasapisink
(the audioconvert and audioresample are probably superfluous)
This is assuming you are using headphones and have a microphone plugged in, so it can select them as default devices.
Running the pipeline with gst-debug="ringbuffer:5" gives log output that appears to indicate that the read pointer is getting ahead of the write pointer in the ringbuffer (the diff goes negative and the sink stops playing the audio).
I do not get this issue with file or network sources of audio. It is more common / severe with wasapisrc over directsoundsrc (it takes much longer for directsoundsrc to play nothing).
I have tried increasing the latency-time and the buffer-time of wasapisink, which does improve the audio quality quite a bit, however it still runs into issues.
Attached is an excerpt of the ringbuffer:5 log. In this section the diff goes to -20 out of 20 (segtotal). I presume that this negative diff causes audio to not play since it sets skip to true, and doesn't copy anything into the ringbuffer.
I was also noticing negative diffs with the audiosrc ringbuffer, and I can provide logs of that as well.
This bug might be a duplicate / related to
https://bugzilla.gnome.org/show_bug.cgi?id=796354
However, they do not make any mention to silence.
Let me know if there is anything else I can provide / clarify.
**Attachment 374015**, "An excerpt of the ringbuffer:5 debug logs.":
[ringbuffer_5_debug_excerpt.txt](/uploads/de66909a8d85f5bf7cdef75b978d4d80/ringbuffer_5_debug_excerpt.txt)
Version: 1.14.4
### See also
* [Bug 797334](https://bugzilla.gnome.org/show_bug.cgi?id=797334)
* [Bug 796354](https://bugzilla.gnome.org/show_bug.cgi?id=796354)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/807dshowvideosrc: add device-index, add GstDeviceMonitor, and several fixes2018-11-09T09:53:29ZBugzilla Migration Userdshowvideosrc: add device-index, add GstDeviceMonitor, and several fixes## Submitted by Joshua M. Doe
**[Link to original bug (#797338)](https://bugzilla.gnome.org/show_bug.cgi?id=797338)**
## Description
Created attachment 374042
0001 - dshowsrcwrapper: add debug category for general dshowsrcwrapper ...## Submitted by Joshua M. Doe
**[Link to original bug (#797338)](https://bugzilla.gnome.org/show_bug.cgi?id=797338)**
## Description
Created attachment 374042
0001 - dshowsrcwrapper: add debug category for general dshowsrcwrapper
It seems the DirectShow source dshowvideosrc hasn't seen much attention lately. The plugin winks provides ksvideosrc which supports most modern video sources, that is devices supporting the USB Video Class (UVC). However there are still several sources which are stuck with DirectShow, which I happen to be stuck using, so I worked on it a bit to make it usable for me.
They can be seen here:
https://github.com/joshdoe/gst-plugins-bad/tree/dshowsrc
There are 11 patches, should I upload them all here? I already did some squashing, but perhaps could go further to limit the number of patches.
**Patch 374042**, "0001 - dshowsrcwrapper: add debug category for general dshowsrcwrapper":
[0001-dshowsrcwrapper-add-debug-category-for-general-dshow.patch](/uploads/d8f6f12d2f5d9f240560c6dbfb237072/0001-dshowsrcwrapper-add-debug-category-for-general-dshow.patch)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/808wasapisrc - does not drain devices of buffers when reading leading to dropped...2021-09-24T14:36:46ZBugzilla Migration Userwasapisrc - does not drain devices of buffers when reading leading to dropped audio## Submitted by Florian Nierhaus
**[Link to original bug (#797345)](https://bugzilla.gnome.org/show_bug.cgi?id=797345)**
## Description
Created attachment 374068
patch for wasapi against master
There are a few issues with the...## Submitted by Florian Nierhaus
**[Link to original bug (#797345)](https://bugzilla.gnome.org/show_bug.cgi?id=797345)**
## Description
Created attachment 374068
patch for wasapi against master
There are a few issues with the buffer handling:
* we sometimes get notified when smaller number of frames are provided by the driver - in this case we need to buffer and wait so gstreamer gets the expected size
* we sometimes get multiple buffers with one notification and we need to save that and return that the next cycle as to not have audio gaps - https://blogs.msdn.microsoft.com/matthew_van_eerde/2014/11/05/draining-the-wasapi-capture-buffer-fully/
* not clearing the audio buffer on some devices on the notification / partial sizes confuses some devices
**Patch 374068**, "patch for wasapi against master":
[wasapi_buffers.patch](/uploads/418bedf0efeb6ea0a9c2a4d926e45471/wasapi_buffers.patch)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/809meson: Unkonw variables while disabling msdk plugin2018-11-06T22:12:16ZBugzilla Migration Usermeson: Unkonw variables while disabling msdk plugin## Submitted by Jordan Petridis
**[Link to original bug (#797354)](https://bugzilla.gnome.org/show_bug.cgi?id=797354)**
## Description
While building with auto_features=enabled -Dmsdk=disabled I encountered the following error.
...## Submitted by Jordan Petridis
**[Link to original bug (#797354)](https://bugzilla.gnome.org/show_bug.cgi?id=797354)**
## Description
While building with auto_features=enabled -Dmsdk=disabled I encountered the following error.
'tests/check/meson.build:18:0: ERROR: Unknown variable "have_msdk".'
same error was also thrown later for "msdk_dep".
This happened right after 55134df54c99b09556d3d0f60b9b4f029123af0e which to my understanding added an early exit before the variables where declared.
I am not sure if the following patch is the proper way to fix it, using auto-feature magic in the test too would probably be cleaner but I did not managed to figure out if its possible.
Tested the following patch in gnome-build-meta. https://gitlab.gnome.org/GNOME/gnome-build-meta/commit/8915cb51a25559163e2f1e6736742d8c242acf5fhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/810waylandsink: resize didn't support set window position2019-02-15T14:05:22ZBugzilla Migration Userwaylandsink: resize didn't support set window position## Submitted by Haihua Hu `@JaredHu`
**[Link to original bug (#797360)](https://bugzilla.gnome.org/show_bug.cgi?id=797360)**
## Description
when resize using videooverlay interface, the window position (x,y)didn't take effect for wa...## Submitted by Haihua Hu `@JaredHu`
**[Link to original bug (#797360)](https://bugzilla.gnome.org/show_bug.cgi?id=797360)**
## Description
when resize using videooverlay interface, the window position (x,y)didn't take effect for waylandsink. Do we have any software limitation.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/811dtlsdec: Critical warnings in gst-inspect2019-05-02T10:20:59ZBugzilla Migration Userdtlsdec: Critical warnings in gst-inspect## Submitted by Sebastian Dröge `@slomo`
**[Link to original bug (#797364)](https://bugzilla.gnome.org/show_bug.cgi?id=797364)**
## Description
** (gst-inspect-1.0:23460): CRITICAL **: 23:38:49.968: file gstdtlsagent.c: line 188 (gs...## Submitted by Sebastian Dröge `@slomo`
**[Link to original bug (#797364)](https://bugzilla.gnome.org/show_bug.cgi?id=797364)**
## Description
** (gst-inspect-1.0:23460): CRITICAL **: 23:38:49.968: file gstdtlsagent.c: line 188 (gst_dtls_agent_init): should not be reached
** (gst-inspect-1.0:23460): CRITICAL **: 23:38:49.968: gst_dtls_agent_set_property: assertion 'self->priv->ssl_context' failed
[...]
** (gst-inspect-1.0:23460): CRITICAL **: 23:38:49.968: gst_dtls_agent_get_certificate_pem: assertion 'GST_IS_DTLS_CERTIFICATE (self->priv->certificate)' failedhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/812codecparsers_h26x: Should return NO_NAL_END on 5/6 bytes NALs2018-11-06T07:26:18ZBugzilla Migration Usercodecparsers_h26x: Should return NO_NAL_END on 5/6 bytes NALs## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#797371)](https://bugzilla.gnome.org/show_bug.cgi?id=797371)**
## Description
-- regression introduce by https://bugzilla.gnome.org/show_bug.cgi?id=732553 ---
...## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#797371)](https://bugzilla.gnome.org/show_bug.cgi?id=797371)**
## Description
-- regression introduce by https://bugzilla.gnome.org/show_bug.cgi?id=732553 ---
If you pass any valid 5 first bytes of a NAL to the parser, it will now always return OK instead of NO_NAL_END. This is caused by broken code trying to handle single byte SEQ_END / STREAM_END as being complete NAL.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/813vulkan: Add a Vulkan library like libgstgl for creating/wrapping contexts, me...2021-09-24T14:36:47ZJoshua Battyvulkan: Add a Vulkan library like libgstgl for creating/wrapping contexts, memories, etc.Integration with other Vulkan-based libraries and the GStreamer `vulkan` plugin requires some public API in a library so that contexts can be wrapped/created/shared and textures/etc can be put/retrieved from `GstMemory`.
Most of this ex...Integration with other Vulkan-based libraries and the GStreamer `vulkan` plugin requires some public API in a library so that contexts can be wrapped/created/shared and textures/etc can be put/retrieved from `GstMemory`.
Most of this exists already inside the `vulkan` plugin but would have to be moved into a library for external consumers.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/814clone the code from gitlab2018-11-05T05:27:09ZHaihao Xiangclone the code from gitlabgst-plugins-bad was migrated from fd.o to gitlab, some URLs should be updated as well.gst-plugins-bad was migrated from fd.o to gitlab, some URLs should be updated as well.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/815latest intel msdk libdir not found by meson2018-11-09T08:31:13ZFlorent Thierylatest intel msdk libdir not found by mesonIt seems that the intel media sdk (version 2018.3.1) places the libraries into /lib64 instead of /lib/lin_x64 or /lib/x64 ; the following fixes it, should i create a merge request or attach a patch ?
```diff --git a/sys/msdk/meson.build...It seems that the intel media sdk (version 2018.3.1) places the libraries into /lib64 instead of /lib/lin_x64 or /lib/x64 ; the following fixes it, should i create a merge request or attach a patch ?
```diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
index fa4fa3cc3..bf3fb2179 100644
--- a/sys/msdk/meson.build
+++ b/sys/msdk/meson.build
@@ -45,7 +45,7 @@ have_msdk = false
msdk_dep = []
if msdk_root != ''
- msdk_libdir = [msdk_root + '/lib/lin_x64', msdk_root + '/lib/x64']
+ msdk_libdir = [msdk_root + '/lib/lin_x64', msdk_root + '/lib/x64', msdk_root + '/lib64']
msdk_incdir = include_directories(msdk_root + '/include')
msdk_lib = cxx.find_library('mfx', dirs: msdk_libdir, required: msdk_option)
if host_machine.system() == 'windows'
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1487dvbsuboverlay: Dynamic resolution update support for dvbsuboverlay component2021-01-13T13:19:58ZRaju Babannavardvbsuboverlay: Dynamic resolution update support for dvbsuboverlay component**Brief:** The dvbsuboverlay plugins won't adapt to the incoming resolution change for rendering subtitles.
**Scenario description:** When a user is fetching MpegTS (H.264+AAC+dvb-subtitle) stream from camera feed over UDP and rendering...**Brief:** The dvbsuboverlay plugins won't adapt to the incoming resolution change for rendering subtitles.
**Scenario description:** When a user is fetching MpegTS (H.264+AAC+dvb-subtitle) stream from camera feed over UDP and rendering the subtitles onto video frame using dvbsuboverlay plugin. When the input camera feed changes dynamically, all other components are renegotiating and adjusting to the new resolution, but dvbsuboverlay is still holding on to dvbs co-ordinates calculated w.r.t previous video resolution and subtitle rendering looks distorted after resolution change.
**Solution:** I have done this enhancement in **gst-plugin-bad-1.14.5**, currently in the process of submitting the merge request.
The described issue is OS agnostic.
**Note:** Camera feed can be simulated using any MpegTS file with the above-mentioned codecs.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/816GESPipeline: video playback rate ignored2018-11-08T20:41:41ZPat DeSantisGESPipeline: video playback rate ignored#### Steps to reproduce:
1. Create and configure a GESPipeline for audio & video playback (see linked example)
2. Add a clip containing both audio & video to the pipeline
3. Play the pipeline
4. Seek to any position in the clip, with a p...#### Steps to reproduce:
1. Create and configure a GESPipeline for audio & video playback (see linked example)
2. Add a clip containing both audio & video to the pipeline
3. Play the pipeline
4. Seek to any position in the clip, with a playback rate other than 1x (e.g. `0.5` or `2.0`)
#### Expected result:
Both the audio & video play at the requested speed.
#### Actual result:
The audio plays at the requested speed, however the video plays at 1x speed.
#### Example
This demonstrates a working GstPipeline, and a broken GESPipeline:
https://gist.github.com/pdesantis/3c6382ee43852ad8bfc51d2d37547616
I tested the pipeline with both `autovideosink` and `osxvideosink`. Both showed the same result
#### Version
GStreamer version: 1.14.4
Operating System: macOS Mojave 10.14https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/817opencv: build error on mac os x with mesonbuild2018-11-13T13:38:55ZJustin Kimopencv: build error on mac os x with mesonbuildNot sure if the header should be modified, or if there's a proper compiler option to ignore this error.
When I use gst-build on Mac OSX, I got this error.
Simply adding a space between `>>` solves this error.
```
In file included from...Not sure if the header should be modified, or if there's a proper compiler option to ignore this error.
When I use gst-build on Mac OSX, I got this error.
Simply adding a space between `>>` solves this error.
```
In file included from ../subprojects/gst-plugins-bad/ext/opencv/gstopencv.cpp:45:
../subprojects/gst-plugins-bad/ext/opencv/gstcameracalibrate.h:96:38: error: a space is required between consecutive right angle brackets (use '> >')
std::vector<std::vector<cv::Point2f>> imagePoints;
^~
> >
1 error generated.
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/818nvdec/nvenc: Change minimum required CUDA SDK version to 9.02018-11-26T00:08:27ZSeungha Yangseungha@centricular.comnvdec/nvenc: Change minimum required CUDA SDK version to 9.0... and need to adopt nv-codec-headers like ffmpeg
I'm not sure whether old CUDA SDK version should be supported or not. non-dynamic linking version CUDA makes it tricky for checking codec capability in runtime (see #743). And CUDA SDK ...... and need to adopt nv-codec-headers like ffmpeg
I'm not sure whether old CUDA SDK version should be supported or not. non-dynamic linking version CUDA makes it tricky for checking codec capability in runtime (see #743). And CUDA SDK 9.0 could solve it. Also, we can avoid some #ifdef hack with dynamic linking version of CUDA.
For now, nvidia-video-codec-sdk (it's zip file) should be installed at somewhere by user in order to build nvenc. Which makes difficult to build nvenc automatically (like cerbero usecase) and it also really look ugly. Previously, FFMPEG included related nvidia headers in the FFMPEG repo.
Now, neww repo. for nvidia headers is used (https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git).
In summary, why don't we drop supporting CUDA SDK < 9.0 and use "nv-codec-headers" ?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/819waylandsink: v4l2src-renegotiate failure when using DMABUF2019-06-04T12:11:28ZDamian Hobson-Garciadamian@hobsong.comwaylandsink: v4l2src-renegotiate failure when using DMABUFTrying to run the v4l2src-renegitiation test when `--io-mode=dmabuf` causes a renegotiation error when using waylandsink.
It looks like something similar to DRAIN/ALLOCATION event handling in kmssink sink is needed in waylandsink. Is th...Trying to run the v4l2src-renegitiation test when `--io-mode=dmabuf` causes a renegotiation error when using waylandsink.
It looks like something similar to DRAIN/ALLOCATION event handling in kmssink sink is needed in waylandsink. Is that true?
Would a similar approach (i.e. copying the last buffer content to a non DMABUF backed buffer and submitting it to the
wayland compositor) be a reasonable approach for this?
cc @ndufresne https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/820Missing .pc files generated for gstadaptivedemux, gstphotography, basecamerab...2018-12-07T07:50:24ZMatthew Watersmatthew@centricular.comMissing .pc files generated for gstadaptivedemux, gstphotography, basecamerabinsrc, gstisoff, gsturidownloaderWhich means that building an android app is currently broken as the corresponding .la files are not generated by cerbero
2 options:
1. add .pc file for the libraries. I think these were not added as to avoid apps using them.
2. generat...Which means that building an android app is currently broken as the corresponding .la files are not generated by cerbero
2 options:
1. add .pc file for the libraries. I think these were not added as to avoid apps using them.
2. generate the necessary .la files manually in cerbero. Would also need fixing up later when we move to .pc files later as well.
Thoughts?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/821Remove mmssrc ?2021-10-20T18:32:54ZTim-Philipp Müllertim@centricular.comRemove mmssrc ?I wonder if there's still a need to keep `mmssrc` around. I'm not aware of this protocol still being used and I don't have any test URLs or servers that are still up and running.
If it's still used, then the only thing any client does i...I wonder if there's still a need to keep `mmssrc` around. I'm not aware of this protocol still being used and I don't have any test URLs or servers that are still up and running.
If it's still used, then the only thing any client does is likely to redirect to rtspX://.
@hadess - any thoughts/opinions?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/822CEA-608 renderer support2021-09-24T14:36:47ZAntonio LarrosaCEA-608 renderer supportRecently some CC support has been added to gstreamer for CEA-708 but it seems CEA-608 support is still missing.
I've built the latest git master and tried playing [a sample video](http://trac.webkit.org/export/53075/trunk/LayoutTests/me...Recently some CC support has been added to gstreamer for CEA-708 but it seems CEA-608 support is still missing.
I've built the latest git master and tried playing [a sample video](http://trac.webkit.org/export/53075/trunk/LayoutTests/media/content/counting-captioned.mov) which includes CEA-608 CCs. Using gst-play, video is shown fine, but CCs are not rendered and I'm getting the following error on the terminal output:
> 0:00:00.120853554 10567 0x7fd99400ae30 ERROR playbin gstplaybin2.c:3561:pad_added_cb:<playbin> unknown type closedcaption/x-cea-608 for pad uridecodebin0:src_1
It would be nice to have better support for CEA-608 in addition to CEA-708.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/823webrtcbin: add turn server fails with "Failed to set TURN server"2018-11-22T15:59:01ZHarshad Khedkarwebrtcbin: add turn server fails with "Failed to set TURN server"I am using the latest master branch of gst-plugins-bad and try to get it worked with webrtc.
Platform: Ubunt-18.04-lts
Libnice: 0.1.14-1
Gstreamer: Master branch with latest commit
I have found the issue while adding the turn-server th...I am using the latest master branch of gst-plugins-bad and try to get it worked with webrtc.
Platform: Ubunt-18.04-lts
Libnice: 0.1.14-1
Gstreamer: Master branch with latest commit
I have found the issue while adding the turn-server through webrtcbin.
I am setting 'turn-server' property of webrtcbin which fails at : ERROR webrtcice gstwebrtcice.c:368:_add_turn_server: Failed to set TURN server
After some investigation, I found that it is failing while passing the parameters to nice_agent_set_relay_info().
We need to use 'host' from gst_uri_get_host as libnice agent expects it.
Currently master code of gst1-plugins-bad use plain-string host name while passing it to libnice agent: nice_agent_set_relay_info() in gstwebrtcice.c while adding turn_server(_add_turn_server).
It is observered that if we don't convert the host parameter by using gst_uri_get_host, it fails in libnice agent(0.1.14-1).
Code does, actually, set the host correctly but while passing params to nice_agent_set_relay_info, it uses incorrect one.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/824h264/h265parse: Don't need to insert SPS/PPS per config-interval if they are ...2018-12-13T13:53:34ZSeungha Yangseungha@centricular.comh264/h265parse: Don't need to insert SPS/PPS per config-interval if they are in frameDepending on config-interval property, h264/5 parse insert SPS/PPS nals regardless of existence in current frame.
So, in following scenario, every keyframe buffer has double SPS/PPS, since x264 will insert SPS/PPS nal per keyframe by our...Depending on config-interval property, h264/5 parse insert SPS/PPS nals regardless of existence in current frame.
So, in following scenario, every keyframe buffer has double SPS/PPS, since x264 will insert SPS/PPS nal per keyframe by our default setting.
`videotestsrc ! x264enc key-int-max=30 ! h264parse config-interval=-1 ! ...`https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/825fdkaac: plugin fails to build using fdk-aac 2.0.02019-05-02T11:15:17ZMark Harrisfdkaac: plugin fails to build using fdk-aac 2.0.0With the recently released fdk-aac 2.0.0 installed, compilation of the fdkaac plugin from git master fails with the following error:
```
gstfdkaacenc.c:74:8: error: 'MODE_2_1' undeclared here (not in a function); did you mean MODE_6_1'?...With the recently released fdk-aac 2.0.0 installed, compilation of the fdkaac plugin from git master fails with the following error:
```
gstfdkaacenc.c:74:8: error: 'MODE_2_1' undeclared here (not in a function); did you mean MODE_6_1'?
3, MODE_2_1, {
^~~~~~~~
MODE_6_1
```1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/826opencv: make compatible with opencv 42018-11-26T13:51:00ZNicolaopencv: make compatible with opencv 4[0001-opencv-make-compatible-with-opencv-4.patch](/uploads/ddb9bdd72f8780d9c10274346750acfe/0001-opencv-make-compatible-with-opencv-4.patch)
not yet retested against opencv3[0001-opencv-make-compatible-with-opencv-4.patch](/uploads/ddb9bdd72f8780d9c10274346750acfe/0001-opencv-make-compatible-with-opencv-4.patch)
not yet retested against opencv3https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/827cuda: Add public API for enhancing NVIDIA CUDA support2022-05-03T16:31:32ZSeungha Yangseungha@centricular.comcuda: Add public API for enhancing NVIDIA CUDA supportOne CUDA device context per one device (i.e., GPU card) seems to the best practice, if there is no specific demand. But we don't have any related interface. So every nvenc/nvdec creates new CUDA device context for now. Like openGL contex...One CUDA device context per one device (i.e., GPU card) seems to the best practice, if there is no specific demand. But we don't have any related interface. So every nvenc/nvdec creates new CUDA device context for now. Like openGL context sharing, CUDA context sharing by using new object such as GstCudaContext can be helpful for CUDA use case.
Additionally, CUDA specific allocator/bufferpool (and CudaUpload/CudaDownload maybe?) is required obviously.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/828Remove VDPAU2022-02-08T19:54:29ZTim-Philipp Müllertim@centricular.comRemove VDPAUI think we should just remove the VDPAU plugin.
It's been replaced by NVENC/NVDEC and even NVIDIA doesn't support VDPAU any longer and hasn't for quite some time.
It's fair to say it's pretty much unmaintained and unsupported and given...I think we should just remove the VDPAU plugin.
It's been replaced by NVENC/NVDEC and even NVIDIA doesn't support VDPAU any longer and hasn't for quite some time.
It's fair to say it's pretty much unmaintained and unsupported and given the track record over the last 10 years it seems highly unlikely anyone is going to make it work well or us adding plumbing for proper zero-copy or gst-gl integration.
I think it's better to remove badly supported things and give clear signals what people should be using instead.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/829msdk: Add HEVC 10 bit encode support2018-12-12T13:38:49ZHaihao Xiangmsdk: Add HEVC 10 bit encode supportAdd 10-bit encode support in msdkh265encAdd 10-bit encode support in msdkh265enchttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/830msdk: generate caps templates dynamically2021-09-24T14:36:48ZVíctor Manuel Jáquez Lealmsdk: generate caps templates dynamicallyThe available codec profiles are dependent on hardware and driver version, so not all the codec profiles are available in all the MediaSDK setups. It is required to create the definitely negotiable caps in runtime, just as gstreamer-vaap...The available codec profiles are dependent on hardware and driver version, so not all the codec profiles are available in all the MediaSDK setups. It is required to create the definitely negotiable caps in runtime, just as gstreamer-vaapi does.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/831webrtcbin Issue in turn-server property2020-10-14T13:36:26Zaswathisivanwebrtcbin Issue in turn-server propertyThe turn-server credentials is not being parsed properly in **webrtcbin**. The issue is happening in the following cases mainly:
1. Username: By default username will be in the form "timestamp:id". The colon in the username is not suppo...The turn-server credentials is not being parsed properly in **webrtcbin**. The issue is happening in the following cases mainly:
1. Username: By default username will be in the form "timestamp:id". The colon in the username is not supported by TURN property. The library is parsing 'timestamp' as username and 'id' as password. The issue is because of the function `_parse_userinfo` in [gstwebrtcice.c](https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcice.c), where it is expecting ':' as separator between username and password.
**Eg:** If we register a new user with COTURN, say foo, it returns the username as **1543467204:foo**
2. Password: If the TURN password has slash ('/') character in it, then *"**Could not parse turn server**"* error is being thrown by the library. The problem is because of `gst_uri_from_string()` usage in `_validate_turn_server()` [gstwebrtcice.c](https://github.com/GStreamer/gst-plugins-bad/blob/master/ext/webrtc/gstwebrtcice.c) which is considering slash to find the end of authority.
`eoa = uri + strcspn (uri, "/?#");`.
Also I tried using base64_encode format, somehow library is not accepting this as well.
**Eg:** The password autogenerated by COTURN could be something like **adrJU6svd/M4aAt2hAzCy8qJPXg=** , and in
base64 encode format it is **69dac953ab2f77f338680b76840cc2cbca893d78**
I checked the same credentials with [trickle-ice](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) and it is able to resolve the credentials correctly, and gather the TURN server in ICE candidates list, but webrtcbin seems to have problem.
This issue is blocking the usage of turn-server property in webrtcbin. Could anyone recommend a better way to clearly pass credentials to turn-server property? Something like how we pass in webrtc javascript:
```
var rtc_configuration = {iceServers: [{urls: "turn:<url>:<port>?transport=udp",
credential: "adrJU6svd/M4aAt2hAzCy8qJPXg=",
username: "1543467204:foo"}]
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/832gstreamer-plugins-bad 1.14.4 doesn't build on GCC 4.52018-11-28T13:07:59ZMaciej Wolnygstreamer-plugins-bad 1.14.4 doesn't build on GCC 4.5The build fails with "redefinition of typedef ..." errors
In the following environment:
gstreamer 1.14.4
custom Linux distro (32-bit)
GCC 4.5.3
This is because duplicated typedefs are not allowed in C99, and GCC 4.5.3 doesn't sup...The build fails with "redefinition of typedef ..." errors
In the following environment:
gstreamer 1.14.4
custom Linux distro (32-bit)
GCC 4.5.3
This is because duplicated typedefs are not allowed in C99, and GCC 4.5.3 doesn't support C11.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/833player: eventfd leak on GMainContext2021-09-24T14:36:48ZSeungha Yangseungha@centricular.complayer: eventfd leak on GMainContextvalgrind unit test with `--track-fds=yes` option reported that there is eventfd leak.
```
$GST_CHECKS=test_create_and_free make libs/player.valgrind
==10668== FILE DESCRIPTORS: 5 open at exit.
==10668== Open file descriptor 5:
==10668==...valgrind unit test with `--track-fds=yes` option reported that there is eventfd leak.
```
$GST_CHECKS=test_create_and_free make libs/player.valgrind
==10668== FILE DESCRIPTORS: 5 open at exit.
==10668== Open file descriptor 5:
==10668== at 0x5CA0A87: eventfd (syscall-template.S:78)
==10668== by 0x58FABA6: g_wakeup_new (gwakeup.c:146)
==10668== by 0x589F6AE: g_main_context_new (gmain.c:658)
==10668== by 0x589F755: g_main_context_default (gmain.c:694)
==10668== by 0x589F80B: g_main_context_push_thread_default (gmain.c:783)
==10668== by 0x4E4B9E2: gst_player_main (gstplayer.c:2882)
==10668== by 0x58D4197: g_thread_proxy (gthread.c:784)
==10668== by 0x6C726DA: start_thread (pthread_create.c:463)
==10668== by 0x5CA088E: clone (clone.S:95)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/835msdk: gst_msdkdec_init_decoder:<msdkh264dec0> Init failed2021-09-24T14:36:48ZMarie Maurermsdk: gst_msdkdec_init_decoder:<msdkh264dec0> Init failedUsed pipeline and created output:
```
C:\windows\system32>gst-launch-1.0 -v -e videotestsrc num-buffers=600 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=60/1 ! tee name=t ! queue ! msdkh264enc ! msdkh264dec ! msdkh264enc !...Used pipeline and created output:
```
C:\windows\system32>gst-launch-1.0 -v -e videotestsrc num-buffers=600 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=60/1 ! tee name=t ! queue ! msdkh264enc ! msdkh264dec ! msdkh264enc ! fakesink
(gst-launch-1.0:3604): GStreamer-WARNING **: 17:45:40.294: Failed to load plugin 'C:\gstreamer\1.0\x86_64\bin\nice-10.dll': 'C:\gstreamer\1.0\x86_64\bin\nice-10.dll': The specified module could not be found.
(gst-launch-1.0:3604): GStreamer-WARNING **: 17:45:40.308: Failed to load plugin 'C:\gstreamer\1.0\x86_64\bin\rsvg-2.dll': 'C:\gstreamer\1.0\x86_64\bin\rsvg-2.dll': The specified module could not be found.
(gst-launch-1.0:3604): GStreamer-WARNING **: 17:45:40.335: Failed to load plugin 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstnice.dll': 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstnice.dll': The specified module could not be found.
(gst-launch-1.0:3604): GStreamer-WARNING **: 17:45:40.348: Failed to load plugin 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstrsvg.dll': 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstrsvg.dll': The specified module could not be found.
(gst-launch-1.0:3604): GStreamer-WARNING **: 17:45:40.360: Failed to load plugin 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstwebrtc.dll': 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\gstwebrtc.dll': The specified module could not be found.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'msdkh264enc1': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext0";
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstTee:t.GstTeePad:src_0: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstTee:t.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPipeline:pipeline0/GstMsdkH264Enc:msdkh264enc0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstMsdkH264Enc:msdkh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4.2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
Redistribute latency...
/GstPipeline:pipeline0/GstMsdkH264Dec:msdkh264dec0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, align0ment=(string)au, profile=(string)high, level=(string)4.2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fract:ion)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2, multiview-mode=(s0tring)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
0:00.499029000 3604 0000024B70E109C0 ERROR msdkdec gstmsdkdec.c:394:gst_msdkdec_init_decoder:<msdkh264dec0> Init failed (failed to allocate memory)
0/GstPipeli:0ne:pipeline0/GstMsdkH264Dec:msdkh264dec0.GstPad:src: caps = video/x-raw(memory:DMABuf), format=(string)NV12, wi0dth=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(Gst:VideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/0mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction0)60/1
.51Redistribute latency...
4913000 /GstPipeline:pipeline0/GstMsdkH264Enc:msdkh2364enc1.GstPad:sink: caps = video/x-raw(memory:DMABuf), format6=(stri0ng)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half4-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=( fraction)60/1
0000024B70E109C0 ERROR msdkdec gstmsdkdec.c:809:gst_msdkdec_negotiate:<msdkh264dec0> Failed to renegotiation
```
(The first 5 lines can be ignored. They are of not yet fixed problems on wip/meson)
I think relevant is this line
```
0:00.499029000 3604 0000024B70E109C0 ERROR msdkdec gstmsdkdec.c:394:gst_msdkdec_init_decoder:<msdkh264dec0> Init failed (failed to allocate memory)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/836dashdemux: Validate test `adaptive.dash.playback.full_live_rewind.DASHIF_live...2021-09-24T14:36:49ZJordan Petridіsdashdemux: Validate test `adaptive.dash.playback.full_live_rewind.DASHIF_livestream_testpic_2s` times outFails both on the CI and on my local fedora install. I can reproduce it constantly, but it also occasionally succeds. I run ti from a `gst-build` checkout with the following:
```sh
#! /usr/bin/bash
set -eu
export TEST_SUITE="adaptive....Fails both on the CI and on my local fedora install. I can reproduce it constantly, but it also occasionally succeds. I run ti from a `gst-build` checkout with the following:
```sh
#! /usr/bin/bash
set -eu
export TEST_SUITE="adaptive.dash.playback.full_live_rewind.DASHIF_livestream_testpic_2s"
export MAIN_DIR="$PWD/validate-output"
export GST_VALIDATE_CONFIG="core,action=set-rank,name=vaapi,rank=0"
./gst-uninstalled.py gst-validate-launcher $TEST_SUITE --n-runs=300 -F -fs --mute --no-display --dump-on-failure --meson-no-rebuild -M "$PWD/validate-output/"
```
And here is the log:
```
adaptive.dash.playback.full_live_rewind.DASHIF_livestream_testpic_2s: Timeout 'Application timed out: 30.0 secs'
You can reproduce with: GST_VALIDATE_CONFIG='core,action=set-rank,name=vaapi,rank=0' GST_VALIDATE_SCENARIOS_PATH='/home/alatiera/centricular/gst-build/prefix/share/gstreamer-1.0/validate/scenarios:/home/alatiera/centricular/gst-build/subprojects/gst-devtools/validate/data/scenarios' GST_VALIDATE_SCENARIO='full_live_rewind' GST_VALIDATE_OVERRIDE='/home/alatiera/centricular/gst-build/validate-output/gst-integration-testsuites/medias/adaptivecontent/DASHIF_livestream_testpic_2s.override' DISPLAY=':27' GST_GL_XINITTHREADS='1' /home/alatiera/centricular/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0 playbin 'uri=http://vm2.dashif.org/livesim/testpic_2s/Manifest.mpd#t=posix:now' 'audio-sink=fakesink sync=true' 'video-sink=fakevideosink qos=true max-lateness=20000000' --set-media-info /home/alatiera/centricular/gst-build/validate-output/gst-integration-testsuites/medias/adaptivecontent/DASHIF_livestream_testpic_2s.stream_info
Dumping log files on failure
Dumping contents of /home/alatiera/centricular/gst-build/validate-output/logs/adaptive/dash/playback/full_live_rewind/DASHIF_livestream_testpic_2s
=================
Test name: adaptive.dash.playback.full_live_rewind.DASHIF_livestream_testpic_2s
Command: '/home/alatiera/centricular/gst-build/build/subprojects/gst-devtools/validate/tools/gst-validate-1.0 playbin uri=http://vm2.dashif.org/livesim/testpic_2s/Manifest.mpd#t=posix:now audio-sink=fakesink sync=true video-sink=fakevideosink qos=true max-lateness=20000000 --set-media-info /home/alatiera/centricular/gst-build/validate-output/gst-integration-testsuites/medias/adaptivecontent/DASHIF_livestream_testpic_2s.stream_info'
=================
Executing set-rank (
- action=set-rank
- name=vaapi
- rank=0
- as-config=true
)
=========================================
Running scenario full_live_rewind on pipeline playbin0
=========================================
Starting pipeline
Prerolling...
Pipeline started
Start buffering
Buffering... 1%
Buffering... 1%
Buffering... 2%
Buffering... 2%
Buffering... 3%
Buffering... 3%
Buffering... 4%
Buffering... 4%
Buffering... 5%
Buffering... 5%
Buffering... 6%
Buffering... 6%
Buffering... 7%
Buffering... 7%
Buffering... 8%
Buffering... 8%
Buffering... 9%
Buffering... 9%
Buffering... 10%
Buffering... 10%
Buffering... 11%
Buffering... 11%
Buffering... 12%
Buffering... 12%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 13%
Buffering... 14%
Buffering... 15%
Buffering... 16%
Buffering... 17%
Buffering... 18%
Buffering... 19%
Buffering... 20%
Buffering... 21%
Buffering... 22%
<position: 428868:25:48.000000000 duration: 428868:25:50.016000000 speed: 1.000000 />
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 22%
Buffering... 23%
Buffering... 24%
Buffering... 25%
Buffering... 26%
Buffering... 27%
Buffering... 28%
Buffering... 29%
Buffering... 30%
<position: 428868:25:48.000000000 duration: 428868:25:52.000000000 speed: 1.000000 />
<position: 428868:25:48.000000000 duration: 428868:25:52.000000000 speed: 1.000000 />
<position: 428868:25:48.000000000 duration: 428868:25:52.000000000 speed: 1.000000 />
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 30%
Buffering... 31%
Buffering... 32%
Buffering... 33%
Buffering... 34%
Buffering... 35%
Buffering... 36%
Buffering... 37%
Buffering... 38%
Buffering... 39%
Buffering... 40%
Buffering... 41%
<position: 428868:25:48.000000000 duration: 428868:25:54.005322222 speed: 1.000000 />
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 41%
Buffering... 42%
Buffering... 43%
Buffering... 44%
Buffering... 45%
Buffering... 46%
Buffering... 47%
Buffering... 48%
Buffering... 49%
Buffering... 50%
Buffering... 51%
<position: 428868:25:48.000000000 duration: 428868:25:54.005322222 speed: 1.000000 />
Buffering... 52%
Buffering... 53%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
Buffering... 54%
<position: 428868:25:48.000000000 duration: 428868:25:54.005322222 speed: 1.000000 />
Buffering... 55%
Buffering... 56%
Buffering... 57%
<position: 428868:25:48.000000000 duration: 428868:25:54.005322222 speed: 1.000000 />
Buffering... 58%
Buffering... 59%
Buffering... 60%
Buffering... 61%
Buffering... 62%
Buffering... 63%
Buffering... 64%
Buffering... 65%
Buffering... 66%
Buffering... 67%
Buffering... 68%
<position: 428868:25:48.000000000 duration: 428868:25:54.005322222 speed: 1.000000 />
Buffering... 68%
Buffering... 69%
Buffering... 70%
Buffering... 71%
<position: 428868:25:48.000000000 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.000000000 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.000000000 duration: 428868:25:56.010655555 speed: 1.000000 />
Buffering... 72%
Buffering... 73%
Buffering... 74%
Buffering... 75%
Buffering... 76%
Buffering... 77%
Buffering... 78%
Buffering... 79%
<position: 428868:25:48.000000000 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.000000000 duration: 428868:25:56.010655555 speed: 1.000000 />
Buffering... 80%
Buffering... 81%
Buffering... 82%
Buffering... 83%
Buffering... 84%
Buffering... 85%
Buffering... 86%
Buffering... 87%
Buffering... 88%
Buffering... 89%
Buffering... 90%
Buffering... 91%
Buffering... 92%
Buffering... 93%
Buffering... 94%
Buffering... 95%
Buffering... 96%
Buffering... 97%
Buffering... 98%
Buffering... 99%
Done buffering
Executing (subaction)wait (
- duration=0:00:05.000000000
)
<position: 428868:25:48.017481728 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.250731520 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.267936512 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.501537024 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.518352896 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.751693824 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:48.769292544 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.002043904 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.019797248 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.252312832 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.270097408 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.502963200 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.520235776 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.753474048 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:49.770745600 duration: 428868:25:56.010655555 speed: 1.000000 />
<position: 428868:25:50.004356096 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.021120256 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.255288064 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.271351552 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.506018560 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.521924352 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.757055488 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:50.772727552 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.007408128 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.022884864 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.258360576 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.273215232 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.508584704 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.523658752 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.759103744 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:51.774342656 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.009521920 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.025214464 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.260093952 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.275809280 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.510575104 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.526749952 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.761535744 duration: 428868:25:58.016000000 speed: 1.000000 />
<position: 428868:25:52.777198336 duration: 428868:25:58.016000000 speed: 1.000000 />
full_live_rewind --> Stop waiting
-> Action wait done (duration: 0:00:05.000820527)
Executing (subaction)seek (
- name=End-seek
- rate=-16
- stop=0:00:00.000000000
- stop_type=end
- start=0:00:00.000000000
- start_type=set
- flags=flush+trickmode-key-units+trickmode-no-audio
)
-> Action seek done (duration: 0:00:08.323582578)
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
Start buffering
Buffering... 20%
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
<position: 428868:26:07.066666666 duration: 428868:26:08.000000000 speed: -16.000000 />
== Stack trace: ==
[New LWP 20553]
[New LWP 20554]
[New LWP 20555]
[New LWP 20556]
[New LWP 20557]
[New LWP 20558]
[New LWP 20559]
[New LWP 20561]
[New LWP 20563]
[New LWP 20584]
[New LWP 20585]
[New LWP 20645]
[New LWP 20647]
[New LWP 20648]
[New LWP 20649]
[New LWP 20650]
[New LWP 20651]
[New LWP 20652]
[New LWP 20653]
[New LWP 20654]
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: the debug information found in "/usr/lib/debug//lib64/libc-2.28.so.debug" does not match "/lib64/libc.so.6" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib64/libc-2.28.so.debug" does not match "/lib64/libc.so.6" (CRC mismatch).
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: the debug information found in "/usr/lib/debug//lib64/libdl-2.28.so.debug" does not match "/lib64/libdl.so.2" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug//usr/lib64/libdl-2.28.so.debug" does not match "/lib64/libdl.so.2" (CRC mismatch).
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
Missing separate debuginfo for /lib64/libstdc++.so.6
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/ee/395bf3ab03fcda587e7439f1b88f22cc32a815.debug
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
Missing separate debuginfo for /lib64/libgomp.so.1
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/ae/301a072aa9b3d479708d9454b1951325f849c4.debug
warning: Loadable section ".note.gnu.property" outside of ELF segments
0x00007fda004ed421 in poll () from /lib64/libc.so.6
Thread 21 (Thread 0x7fd9a2ffd700 (LWP 20654)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c4030510) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c4030578, cond=0x7fd9c40304e8) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c40304e8, mutex=0x7fd9c4030578) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 20 (Thread 0x7fd9a37fe700 (LWP 20653)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c4030360) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c40303c8, cond=0x7fd9c4030338) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c4030338, mutex=0x7fd9c40303c8) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 19 (Thread 0x7fd9a3fff700 (LWP 20652)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c40301b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c4030218, cond=0x7fd9c4030188) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c4030188, mutex=0x7fd9c4030218) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 18 (Thread 0x7fd9d37fe700 (LWP 20651)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c4030000) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c4030068, cond=0x7fd9c402ffd8) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c402ffd8, mutex=0x7fd9c4030068) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 17 (Thread 0x7fd9a1ffb700 (LWP 20650)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c402fe50) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c402feb8, cond=0x7fd9c402fe28) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c402fe28, mutex=0x7fd9c402feb8) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 16 (Thread 0x7fd9a17fa700 (LWP 20649)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c402fca4) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c402fd08, cond=0x7fd9c402fc78) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c402fc78, mutex=0x7fd9c402fd08) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 15 (Thread 0x7fd9a0ff9700 (LWP 20648)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c402faf4) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c402fb58, cond=0x7fd9c402fac8) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c402fac8, mutex=0x7fd9c402fb58) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 14 (Thread 0x7fd99bfff700 (LWP 20647)):
#0 0x00007fda005cf77c in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fd9c402f940) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 0x00007fda005cf77c in __pthread_cond_wait_common (abstime=0x0, mutex=0x7fd9c402f9a8, cond=0x7fd9c402f918) at pthread_cond_wait.c:502
#2 0x00007fda005cf77c in __pthread_cond_wait (cond=0x7fd9c402f918, mutex=0x7fd9c402f9a8) at pthread_cond_wait.c:655
#3 0x00007fd9ae159e46 in () at /lib64/libavcodec.so.58
#4 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#5 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 13 (Thread 0x7fd99affd700 (LWP 20645)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x7fd9c400f868, mutex=mutex@entry=0x7fd9c400f858) at gthread-posix.c:1402
#2 0x00007fd9fff8dc7b in _gst_data_queue_wait_non_empty (queue=queue@entry=0x7fd9c400f8b0 [GstDataQueue]) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007fd9fff8f260 in gst_data_queue_pop (queue=0x7fd9c400f8b0 [GstDataQueue], item=item@entry=0x7fd99affccb8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007fd9e3d6eb51 in gst_multi_queue_loop (pad=<optimized out>) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:1805
#5 0x00007fda009dcc71 in gst_task_func (task=0x7fd99c152950 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#6 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#7 0x00007fda0085748a in g_thread_proxy (data=0x7fd9c40034a0) at gthread.c:784
#8 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#9 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 12 (Thread 0x7fd99b7fe700 (LWP 20585)):
#0 0x00007fda004ed421 in poll () at /lib64/libc.so.6
#1 0x00007fda000ba71b in send_dg (ansp2_malloced=<optimized out>, resplen2=<optimized out>, anssizp2=<optimized out>, ansp2=<optimized out>, anscp=<optimized out>, gotsomewhere=<synthetic pointer>, v_circuit=<synthetic pointer>, ns=<optimized out>, terrno=0x7fd99b7fbea8, anssizp=0x7fd99b7fbfe0, ansp=0x7fd99b7fbe98, buflen2=<optimized out>, buf2=<optimized out>, buflen=<optimized out>, buf=<optimized out>, statp=<optimized out>) at res_send.c:1103
#2 0x00007fda000ba71b in __res_context_send (ctx=ctx@entry=0x7fd97800c580, buf=buf@entry=0x7fd99b7fc010 "", buflen=buflen@entry=32, buf2=buf2@entry=0x7fd99b7fc030 "\376I\001", buflen2=buflen2@entry=32, ans=<optimized out>, ans@entry=0x7fd99b7fcca0 "\226\250\201\200", anssiz=<optimized out>, ansp=<optimized out>, ansp2=<optimized out>, nansp2=<optimized out>, resplen2=<optimized out>, ansp2_malloced=<optimized out>) at res_send.c:510
#3 0x00007fda000b80ea in __GI___res_context_query (ctx=ctx@entry=0x7fd97800c580, name=name@entry=0x7fd9c8028210 "vm2.dashif.org", class=class@entry=1, type=type@entry=439963904, answer=answer@entry=0x7fd99b7fcca0 "\226\250\201\200", anslen=anslen@entry=2048, answerp=0x7fd99b7fd4f0, answerp2=0x7fd99b7fd4f8, nanswerp2=0x7fd99b7fd4e0, resplen2=0x7fd99b7fd4e4, answerp2_malloced=0x7fd99b7fd4e8) at res_query.c:208
#4 0x00007fda000b8756 in __res_context_querydomain (ctx=ctx@entry=0x7fd97800c580, name=name@entry=0x7fd9c8028210 "vm2.dashif.org", domain=domain@entry=0x0, class=class@entry=1, type=type@entry=439963904, answer=answer@entry=0x7fd99b7fcca0 "\226\250\201\200", anslen=2048, answerp=0x7fd99b7fd4f0, answerp2=0x7fd99b7fd4f8, nanswerp2=0x7fd99b7fd4e0, resplen2=0x7fd99b7fd4e4, answerp2_malloced=0x7fd99b7fd4e8) at res_query.c:593
#5 0x00007fda000b8d4d in __GI___res_context_search (ctx=ctx@entry=0x7fd97800c580, name=name@entry=0x7fd9c8028210 "vm2.dashif.org", class=class@entry=1, type=type@entry=439963904, answer=answer@entry=0x7fd99b7fcca0 "\226\250\201\200", anslen=anslen@entry=2048, answerp=<optimized out>, answerp2=<optimized out>, nanswerp2=<optimized out>, resplen2=<optimized out>, answerp2_malloced=<optimized out>) at res_query.c:362
#6 0x00007fd9e27c3192 in _nss_dns_gethostbyname4_r (name=<optimized out>, pat=<optimized out>, buffer=<optimized out>, buflen=<optimized out>, errnop=0x7fd99b7fe680, herrnop=0x7fd99b7fe6e4, ttlp=<optimized out>) at nss_dns/dns-host.c:351
#7 0x00007fda004e1792 in gaih_inet.constprop () at /lib64/libc.so.6
#8 0x00007fda004e2808 in getaddrinfo () at /lib64/libc.so.6
#9 0x00007fda00677d24 in do_lookup_by_name (task=0x7fd9b800a1a0 [GTask], source_object=<optimized out>, task_data=0x7fd9c8028210, cancellable=<optimized out>) at gthreadedresolver.c:79
#10 0x00007fda00674a07 in g_task_thread_pool_thread (thread_data=0x7fd9b800a1a0, pool_data=<optimized out>) at gtask.c:1331
#11 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#12 0x00007fda0085748a in g_thread_proxy (data=0x7fd99c160de0) at gthread.c:784
#13 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 11 (Thread 0x7fd9d17fa700 (LWP 20584)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x1e4b8b0, mutex=mutex@entry=0x1e4b8a8) at gthread-posix.c:1402
#2 0x00007fd9fff6fd6c in gst_base_sink_wait_preroll (sink=sink@entry=0x1e4b780 [GstFakeSink]) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:2370
#3 0x00007fd9fff702f8 in gst_base_sink_do_preroll (sink=sink@entry=0x1e4b780 [GstFakeSink], obj=obj@entry=0x7fd9b012a330) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:2464
#4 0x00007fd9fff709dd in gst_base_sink_do_sync (basesink=basesink@entry=0x1e4b780 [GstFakeSink], obj=obj@entry=0x7fd9b012a330, late=late@entry=0x7fd9d17f8bb8, step_end=step_end@entry=0x7fd9d17f8bbc) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:2667
#5 0x00007fd9fff72028 in gst_base_sink_chain_unlocked (basesink=basesink@entry=0x1e4b780 [GstFakeSink], obj=obj@entry=0x7fd9b012a330, is_list=is_list@entry=0, pad=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:3616
#6 0x00007fd9fff73300 in gst_base_sink_chain_main (basesink=0x1e4b780 [GstFakeSink], pad=<optimized out>, obj=0x7fd9b012a330, is_list=0) at ../subprojects/gstreamer/libs/gst/base/gstbasesink.c:3775
#7 0x00007fda00a86c71 in gst_validate_pad_monitor_chain_func (pad=0x1e482c0 [GstPad], parent=0x1e4b780 [GstFakeSink], buffer=0x7fd9b012a330) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2269
#8 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x1e482c0 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#9 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x1e50110 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#10 0x00007fda009afa92 in gst_pad_push (pad=pad@entry=0x1e50110 [GstProxyPad], buffer=buffer@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#11 0x00007fda009945bb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#12 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x1e4e1d0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#13 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd9d400d730 [GstGhostPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#14 0x00007fda009afa92 in gst_pad_push (pad=pad@entry=0x7fd9d400d730 [GstGhostPad], buffer=buffer@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#15 0x00007fda009945bb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#16 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd9d400fdb0 [GstProxyPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#17 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd99c0e1770 [GstPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#18 0x00007fda009afa92 in gst_pad_push (pad=0x7fd99c0e1770 [GstPad], buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#19 0x00007fd9fff7d800 in gst_base_transform_chain (pad=<optimized out>, parent=0x7fd99c12aee0 [GstVideoConvert], buffer=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2330
#20 0x00007fda00a86c71 in gst_validate_pad_monitor_chain_func (pad=0x7fd99c0e19c0 [GstPad], parent=0x7fd99c12aee0 [GstVideoConvert], buffer=0x7fd9b012a330) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2269
#21 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd99c0e19c0 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#22 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd99c0e12d0 [GstPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#23 0x00007fda009afa92 in gst_pad_push (pad=0x7fd99c0e12d0 [GstPad], buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#24 0x00007fd9fff7d800 in gst_base_transform_chain (pad=<optimized out>, parent=0x7fd99c0f5100 [GstVideoBalance], buffer=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2330
#25 0x00007fda00a86c71 in gst_validate_pad_monitor_chain_func (pad=0x7fd99c0e1080 [GstPad], parent=0x7fd99c0f5100 [GstVideoBalance], buffer=0x7fd9b012a330) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2269
#26 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd99c0e1080 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#27 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd99c0e1c10 [GstPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#28 0x00007fda009afa92 in gst_pad_push (pad=0x7fd99c0e1c10 [GstPad], buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#29 0x00007fd9fff7d800 in gst_base_transform_chain (pad=<optimized out>, parent=0x7fd99c11ec20 [GstVideoScale], buffer=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2330
#30 0x00007fda00a86c71 in gst_validate_pad_monitor_chain_func (pad=0x7fd99c124590 [GstPad], parent=0x7fd99c11ec20 [GstVideoScale], buffer=0x7fd9b012a330) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2269
#31 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd99c124590 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#32 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd99c124340 [GstPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#33 0x00007fda009afa92 in gst_pad_push (pad=0x7fd99c124340 [GstPad], buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#34 0x00007fd9fff7d800 in gst_base_transform_chain (pad=<optimized out>, parent=0x7fd99c11a550 [GstVideoConvert], buffer=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2330
#35 0x00007fda00a86c71 in gst_validate_pad_monitor_chain_func (pad=0x7fd99c1240f0 [GstPad], parent=0x7fd99c11a550 [GstVideoConvert], buffer=0x7fd9b012a330) at ../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c:2269
#36 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd99c1240f0 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#37 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd9d400fb50 [GstProxyPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#38 0x00007fda009afa92 in gst_pad_push (pad=pad@entry=0x7fd9d400fb50 [GstProxyPad], buffer=buffer@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#39 0x00007fda009945bb in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#40 0x00007fda009a9292 in gst_pad_chain_data_unchecked (data=0x7fd9b012a330, type=4112, pad=0x7fd9d400d4b0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:4322
#41 0x00007fda009a9292 in gst_pad_push_data (pad=pad@entry=0x7fd99c0e0990 [GstPad], type=type@entry=4112, data=data@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4578
#42 0x00007fda009afa92 in gst_pad_push (pad=0x7fd99c0e0990 [GstPad], buffer=buffer@entry=0x7fd9b012a330) at ../subprojects/gstreamer/gst/gstpad.c:4697
#43 0x00007fd9e3d81ca7 in gst_queue_push_one (queue=0x7fd99c0e2190 [GstQueue]) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1384
#44 0x00007fd9e3d81ca7 in gst_queue_loop (pad=<optimized out>) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1537
#45 0x00007fda009dcc71 in gst_task_func (task=0x7fd9c800edd0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#46 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#47 0x00007fda0085748a in g_thread_proxy (data=0x7fd99c0041e0) at gthread.c:784
#48 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#49 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 10 (Thread 0x7fd9d2ffd700 (LWP 20563)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x7fd9e40154f8, mutex=mutex@entry=0x7fd9e40154e8) at gthread-posix.c:1402
#2 0x00007fd9fff8dc7b in _gst_data_queue_wait_non_empty (queue=queue@entry=0x7fd9e4015540 [GstDataQueue]) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007fd9fff8f260 in gst_data_queue_pop (queue=0x7fd9e4015540 [GstDataQueue], item=item@entry=0x7fd9d2ffccb8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007fd9e3d6eb51 in gst_multi_queue_loop (pad=<optimized out>) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:1805
#5 0x00007fda009dcc71 in gst_task_func (task=0x7fd9dc3bcb90 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#6 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#7 0x00007fda0085748a in g_thread_proxy (data=0x7fd9d4003c50) at gthread.c:784
#8 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#9 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 9 (Thread 0x7fd9d3fff700 (LWP 20561)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x7fd9b800a228, mutex=mutex@entry=0x7fd9b800a220) at gthread-posix.c:1402
#2 0x00007fda0067474b in g_task_run_in_thread_sync (task=0x7fd9b800a1a0 [GTask], task_func=<optimized out>) at gtask.c:1497
#3 0x00007fda00677a42 in lookup_by_name (resolver=<optimized out>, hostname=0x7fd9c8021640 "vm2.dashif.org", cancellable=<optimized out>, error=0x7fd9d3ffe690) at gthreadedresolver.c:147
#4 0x00007fda0065d14c in g_resolver_lookup_by_name (resolver=0x1dd0cd0 [GThreadedResolver], hostname=0x7fd9c8021640 "vm2.dashif.org", cancellable=0x7fd9c4008870 [GCancellable], error=0x7fd9d3ffe690) at gresolver.c:415
#5 0x00007fd9e3ca8286 in () at /lib64/libsoup-2.4.so.1
#6 0x00007fd9e3ca9543 in () at /lib64/libsoup-2.4.so.1
#7 0x00007fda0065b9a7 in g_proxy_address_enumerator_next (enumerator=<optimized out>, cancellable=0x7fd9c4008870 [GCancellable], error=0x7fd9d3ffe7a0) at gproxyaddressenumerator.c:210
#8 0x00007fda0066b017 in g_socket_client_connect (client=0x7fd99c006740 [GSocketClient], connectable=0x7fd99c006680, cancellable=0x7fd9c4008870 [GCancellable], error=0x7fd9d3ffe8b0) at gsocketclient.c:1011
#9 0x00007fd9e3ce2af7 in () at /lib64/libsoup-2.4.so.1
#10 0x00007fd9e3cb934c in () at /lib64/libsoup-2.4.so.1
#11 0x00007fd9e3cde66b in () at /lib64/libsoup-2.4.so.1
#12 0x00007fd9e3cdf370 in soup_session_send () at /lib64/libsoup-2.4.so.1
#13 0x00007fd9f000a7c6 in gst_soup_http_src_send_message (src=0x7fd9e4019f30 [GstSoupHTTPSrc]) at ../subprojects/gst-plugins-good/ext/soup/gstsouphttpsrc.c:1534
#14 0x00007fd9f000a7c6 in gst_soup_http_src_do_request (src=src@entry=0x7fd9e4019f30 [GstSoupHTTPSrc], method=<optimized out>) at ../subprojects/gst-plugins-good/ext/soup/gstsouphttpsrc.c:1607
#15 0x00007fd9f000cdbf in gst_soup_http_src_create (psrc=<optimized out>, outbuf=0x7fd9d3ffeb90) at ../subprojects/gst-plugins-good/ext/soup/gstsouphttpsrc.c:1807
#16 0x00007fd9fff7634f in gst_base_src_get_range (src=src@entry=0x7fd9e4019f30 [GstSoupHTTPSrc], offset=offset@entry=0, length=<optimized out>, buf=buf@entry=0x7fd9d3ffec68) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2521
#17 0x00007fd9fff7834a in gst_base_src_loop (pad=0x7fd99c157da0 [GstPad]) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2845
#18 0x00007fda009dcc71 in gst_task_func (task=0x7fd9dc3bc290 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#19 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#20 0x00007fda0085748a in g_thread_proxy (data=0x7fd9e4009370) at gthread.c:784
#21 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#22 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 8 (Thread 0x7fd9e1758700 (LWP 20559)):
#0 0x00007fda004ed516 in ppoll () at /lib64/libc.so.6
#1 0x00007fda009bde9a in gst_poll_wait (set=0x7fd9dc428680, timeout=timeout@entry=1787981912517) at ../subprojects/gstreamer/gst/gstpoll.c:1467
#2 0x00007fda009d5ee4 in gst_system_clock_id_wait_jitter_unlocked (clock=clock@entry=0x7fd9dc4640f0 [GstSystemClock], entry=entry@entry=0x7fd9d4002600, jitter=jitter@entry=0x0, restart=restart@entry=0) at ../subprojects/gstreamer/gst/gstsystemclock.c:726
#3 0x00007fda009d6733 in gst_system_clock_async_thread (clock=0x7fd9dc4640f0 [GstSystemClock]) at ../subprojects/gstreamer/gst/gstsystemclock.c:484
#4 0x00007fda0085748a in g_thread_proxy (data=0x7fd9d4004540) at gthread.c:784
#5 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#6 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 7 (Thread 0x7fd9e1f59700 (LWP 20558)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x1e1cf68, mutex=mutex@entry=0x1e1cf60) at gthread-posix.c:1402
#2 0x00007fd9e2785744 in gst_adaptive_demux_wait_until (clock=0x7fd9dc4640f0 [GstSystemClock], cond=0x1e1cf68, mutex=0x1e1cf60, end_time=end_time@entry=12097469689188) at ../subprojects/gst-plugins-bad/gst-libs/gst/adaptivedemux/gstadaptivedemux.c:4565
#3 0x00007fd9e278ab6c in gst_adaptive_demux_updates_loop (demux=0x1e1d000 [GstDashDemux]) at ../subprojects/gst-plugins-bad/gst-libs/gst/adaptivedemux/gstadaptivedemux.c:4011
#4 0x00007fda009dcc71 in gst_task_func (task=0x1e6e830 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#5 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#6 0x00007fda0085748a in g_thread_proxy (data=0x7fd9dc428940) at gthread.c:784
#7 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#8 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 6 (Thread 0x7fd9e275a700 (LWP 20557)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x7fd9e400c620, mutex=mutex@entry=0x7fd9e400c610) at gthread-posix.c:1402
#2 0x00007fd9e3d8139f in gst_queue_loop (pad=<optimized out>) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1525
#3 0x00007fda009dcc71 in gst_task_func (task=0x7fd9dc3bc3b0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#4 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#5 0x00007fda0085748a in g_thread_proxy (data=0x7fd9dc4288f0) at gthread.c:784
#6 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 5 (Thread 0x7fd9e3411700 (LWP 20556)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x1e6e2f0, mutex=mutex@entry=0x1e6e2a8) at gthread-posix.c:1402
#2 0x00007fda009dce4b in gst_task_func (task=0x1e6e290 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:313
#3 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#4 0x00007fda0085748a in g_thread_proxy (data=0x1e656d0) at gthread.c:784
#5 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#6 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 4 (Thread 0x7fd9f1a62700 (LWP 20555)):
#0 0x00007fda004ed421 in poll () at /lib64/libc.so.6
#1 0x00007fda0082e5a6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x1e0f050, timeout=<optimized out>, context=0x1e09c20) at gmain.c:4221
#2 0x00007fda0082e5a6 in g_main_context_iterate (context=0x1e09c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3 0x00007fda0082e962 in g_main_loop_run (loop=0x1e0d550) at gmain.c:4116
#4 0x00007fda006b579a in gdbus_shared_thread_func (user_data=0x1e09bf0) at gdbusprivate.c:275
#5 0x00007fda0085748a in g_thread_proxy (data=0x1ddd050) at gthread.c:784
#6 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 3 (Thread 0x7fd9f22e0700 (LWP 20554)):
#0 0x00007fda004f2efd in syscall () at /lib64/libc.so.6
#1 0x00007fda00876003 in g_cond_wait (cond=cond@entry=0x1dde948, mutex=mutex@entry=0x1dde940) at gthread-posix.c:1402
#2 0x00007fd9e278b473 in gst_adaptive_demux_stream_download_uri (demux=demux@entry=0x1e1d000 [GstDashDemux], stream=stream@entry=0x1dde820, uri=uri@entry=0x7fd9e40146c0 "http://vm2.dashif.org/livesim/testpic_2s/V300/771963139.m4s", start=start@entry=0, end=<optimized out>, end@entry=9230, http_status=http_status@entry=0x7fd9f22dfcac) at ../subprojects/gst-plugins-bad/gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3214
#3 0x00007fd9e278e068 in gst_adaptive_demux_stream_download_fragment (stream=0x1dde820) at ../subprojects/gst-plugins-bad/gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3396
#4 0x00007fd9e278e068 in gst_adaptive_demux_stream_download_loop (stream=0x1dde820) at ../subprojects/gst-plugins-bad/gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3763
#5 0x00007fda009dcc71 in gst_task_func (task=0x1e6e3b0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328
#6 0x00007fda00857e93 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#7 0x00007fda0085748a in g_thread_proxy (data=0x1ddff70) at gthread.c:784
#8 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#9 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 2 (Thread 0x7fd9f2ae1700 (LWP 20553)):
#0 0x00007fda004ed421 in poll () at /lib64/libc.so.6
#1 0x00007fda0082e5a6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x1ddd530, timeout=<optimized out>, context=0x1b840d0) at gmain.c:4221
#2 0x00007fda0082e5a6 in g_main_context_iterate (context=context@entry=0x1b840d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3 0x00007fda0082e6d0 in g_main_context_iteration (context=0x1b840d0, may_block=may_block@entry=1) at gmain.c:3981
#4 0x00007fda0082e721 in glib_worker_main (data=<optimized out>) at gmain.c:5861
#5 0x00007fda0085748a in g_thread_proxy (data=0x1ddff20) at gthread.c:784
#6 0x00007fda005c958e in start_thread (arg=<optimized out>) at pthread_create.c:486
#7 0x00007fda004f86a3 in clone () at /lib64/libc.so.6
Thread 1 (Thread 0x7fd9ffc9c880 (LWP 20552)):
#0 0x00007fda004ed421 in poll () at /lib64/libc.so.6
#1 0x00007fda0082e5a6 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x1e75110, timeout=<optimized out>, context=0x1ddbfc0) at gmain.c:4221
#2 0x00007fda0082e5a6 in g_main_context_iterate (context=0x1ddbfc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3 0x00007fda0082e962 in g_main_loop_run (loop=0x1b67210) at gmain.c:4116
#4 0x0000000000403bcb in main (argc=<optimized out>, argv=<optimized out>) at ../subprojects/gst-devtools/validate/tools/gst-validate.c:524
[Inferior 1 (process 20552) detached]
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/837waylandsink: race condition in multi-thread env2019-02-12T01:18:36ZWonchul Leewaylandsink: race condition in multi-thread envHi,
I'm trying to make a Wayland client application which runs multiple GStreamer pipelines. The main thread creates wl_display and pipelines that including waylandSink. All of the waylandSink uses the wl_display created by the main thre...Hi,
I'm trying to make a Wayland client application which runs multiple GStreamer pipelines. The main thread creates wl_display and pipelines that including waylandSink. All of the waylandSink uses the wl_display created by the main thread.
In this circumstances, it seems that one of the thread tries to access another thread's event_queue.
I found some patches on Mesa that it gives ideas how to prevent these race cases.
https://gitlab.freedesktop.org/mesa/mesa/commit/36b9976e1f99e8070c67cb8a255793939db77d02
https://gitlab.freedesktop.org/mesa/mesa/commit/03dd9a88b0be17ff0ce91e92f6902a9a85ba584a
To avoid this race condition Wayland 1.11 introduced new API that allows creating a proxy wrapper and I applied it(!74). It might have been a little better but It's still vulnerable, so now I'm a bit confusing it's Wayland or gstWaylandSink issue. Anyway, I'll keep debugging where's the rest of the race conditions. If you have any pieces of advice or there was anything wrong in my approach, please let me know :)
I attached simple test application what I've used to reproduce this condition. (mr !74)
* tested on master branch of gst-plugins-bad / weston 5.0.9 (master)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/838curlbasesink: Rename transfer thread to satisfy some system restrictions2018-12-06T15:44:42ZPatricia Muscalucurlbasesink: Rename transfer thread to satisfy some system restrictionsSome systems restrict the length of thread name to 16 bytes.Some systems restrict the length of thread name to 16 bytes.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/839wpe: CI support2021-09-24T14:36:49ZPhilippe Normandwpe: CI supportThe CI runner currently don't build the wpe plugin. One possible option to solve this would be rely on WPE flatpaks. Some initial work was kicked-off in https://github.com/zdobersek/flatpaks but likely needs further work and maturation.The CI runner currently don't build the wpe plugin. One possible option to solve this would be rely on WPE flatpaks. Some initial work was kicked-off in https://github.com/zdobersek/flatpaks but likely needs further work and maturation.Philippe NormandPhilippe Normandhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/840dashdemux: support ISO8601 durations that overflow2023-05-17T12:11:13ZAlex Ashleydashdemux: support ISO8601 durations that overflowISO-8601 durations can contain hours, minutes and seconds, each of which is optional. Each of these can be an unbounded number and are not limited to 24 hours, 60 minutes or 60 seconds.
gstmpdparser is making the assumption that there w...ISO-8601 durations can contain hours, minutes and seconds, each of which is optional. Each of these can be an unbounded number and are not limited to 24 hours, 60 minutes or 60 seconds.
gstmpdparser is making the assumption that there was a limit on the size of hours, minutes and seconds, which means that it is unable to parse a DASH manifest that makes use of this feature of ISO8601.
https://www.w3.org/TR/xmlschema11-2/#duration
http://www.datypic.com/sc/xsd/t-xsd_duration.htmlhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/841dashdemux: include both Period start and presentationTimeOffset in segment s...2019-06-01T22:14:13ZAlex Ashleydashdemux: include both Period start and presentationTimeOffset in segment startThe start of each segment is relative to the Period start, minus
the presentation time offset.
As specified in section 5.3.9.6 of the MPEG DASH specification:
The value of the @t attribute minus the value of the
@presentationTim...The start of each segment is relative to the Period start, minus
the presentation time offset.
As specified in section 5.3.9.6 of the MPEG DASH specification:
The value of the @t attribute minus the value of the
@presentationTimeOffset specifies the MPD start time of
the first Segment in the series.
dashdemux is not taking account of presentationTimeOffset and in
some methods is not taking into account the Period start time.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/842Test elements_h264parse.test_parse_packetized is currently failling2018-12-13T15:20:55ZJordan PetridіsTest elements_h264parse.test_parse_packetized is currently faillingSadly not much more information apart from this log, fails both locally and on CI. Tested with fedora 29, and as of b907187ade7efe0c9677588ec2a0f0222447baeb
cc @ndufresne
Tested from a gst-build checkout with the following command:
`...Sadly not much more information apart from this log, fails both locally and on CI. Tested with fedora 29, and as of b907187ade7efe0c9677588ec2a0f0222447baeb
cc @ndufresne
Tested from a gst-build checkout with the following command:
```
./gst-uninstalled.py gst-validate-launcher check.gst-plugins-bad.elements_h264parse.test_parse_packetized -fs --mute --dump-on-failure --no-display --meson-no-rebuild
```
```
check.gst-plugins-bad.elements_h264parse.test_parse_packetized: Failed 'Application returned 1'
You can reproduce with: CK_DEFAULT_TIMEOUT='20' DISPLAY=':0' GST_CHECKS='test_parse_packetized' GST_STATE_IGNORE_ELEMENTS='' GST_PLUGIN_SYSTEM_PATH_1_0='' GST_REGISTRY='/home/alatiera/centricular/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_h264parse.registry' GST_PLUGIN_PATH_1_0='/home/alatiera/centricular/gst-build/build' /home/alatiera/centricular/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_h264parse
Dumping log files on failure
Dumping contents of /home/alatiera/centricular/gst-build/validate-output/logs/check/gst-plugins-bad/elements_h264parse/test_parse_packetized
=================
Test name: check.gst-plugins-bad.elements_h264parse.test_parse_packetized
Command: '/home/alatiera/centricular/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_h264parse'
=================
Running suite(s): h264parse_to_bs_nal
100%: Checks: 0, Failures: 0, Errors: 0
Check suite h264parse_to_bs_nal ran in 0.000s (tests failed: 0)
Running suite(s): h264parse_to_bs_au
100%: Checks: 0, Failures: 0, Errors: 0
Check suite h264parse_to_bs_au ran in 0.000s (tests failed: 0)
Running suite(s): h264parse_to_avc_au
100%: Checks: 0, Failures: 0, Errors: 0
Running suite(s): h264parse_to_avc3_au
100%: Checks: 0, Failures: 0, Errors: 0
Check suite h264parse_to_avc3_au ran in 0.000s (tests failed: 0)
Running suite(s): h264parse_packetized
0%: Checks: 1, Failures: 1, Errors: 0
../subprojects/gst-plugins-bad/tests/check/elements/parser.c:278:F:general:test_parse_packetized:0: 'g_list_length (buffers) - test->discard' (18) is not equal to 'frames' (20)
Check suite h264parse_packetized ran in 0.012s (tests failed: 1)
```Nicolas DufresneNicolas Dufresnehttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/843wasapisink: Does not work correctly in live pipelines2021-10-12T10:33:11ZTomislav Tustonicwasapisink: Does not work correctly in live pipelinesHello
As the subject says... I have a pipeline which works on Linux:
```
audiomixer name=mix ! audioconvert ! audioresample ! autoaudiosink
interaudiosrc ! audioconvert ! mix.
audiotestsrc ! audioconvert ! interaudiosink
```
Howeve...Hello
As the subject says... I have a pipeline which works on Linux:
```
audiomixer name=mix ! audioconvert ! audioresample ! autoaudiosink
interaudiosrc ! audioconvert ! mix.
audiotestsrc ! audioconvert ! interaudiosink
```
However, on Windows there's no sound. The GST-DEBUG=3 output with autoaudiosink is
```
FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<audiotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.130119900 16312 034256B8 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<interaudiosrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.157495900 16312 03425820 FIXME basesink gstbasesink.c:3145:gst_base_sink_default_event:<autoaudiosink0-actual-sink-wasapi> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:00:00.465267200 16312 03425820 WARN audiobasesink gstaudiobasesink.c:1491:gst_audio_base_sink_skew_slaving:<autoaudiosink0-actual-sink-wasapi> correct clock skew -0:00:00.130468800 < -+0:00:00.020000000
```
It works when I replace `autoaudiosink` with `directsoundsink`, while I get the same messages when I put `wasapisink`.
Thanks,
Tomhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/844mpegtsmux: test_align sometimes goes into an infinite loop2019-05-02T10:20:59ZSebastian Drögempegtsmux: test_align sometimes goes into an infinite loop```
Thread 1 (Thread 0x7fa92483e140 (LWP 2747)):
#0 0x00007fa9256a761f in tsmux_stream_consume (stream=stream@entry=0x55bc337da180, len=len@entry=0) at tsmuxstream.c:304
#1 0x00007fa9256a7fdc in tsmux_stream_get_data (stream=stream@ent...```
Thread 1 (Thread 0x7fa92483e140 (LWP 2747)):
#0 0x00007fa9256a761f in tsmux_stream_consume (stream=stream@entry=0x55bc337da180, len=len@entry=0) at tsmuxstream.c:304
#1 0x00007fa9256a7fdc in tsmux_stream_get_data (stream=stream@entry=0x55bc337da180, buf=0x55bc339dba5a "", len=162)
at tsmuxstream.c:529
#2 0x00007fa9256a730d in tsmux_write_stream_packet (mux=0x55bc337ba890, stream=0x55bc337da180) at tsmux.c:1145
#3 0x00007fa9256a1733 in mpegtsmux_collected_buffer
(pads=pads@entry=0x55bc337ce0d0 [GstCollectPads], data=data@entry=0x55bc337d9c40, buf=0x55bc347c21c0, mux=mux@entry=0x55bc337cb080 [MpegTsMux]) at mpegtsmux.c:1483
#4 0x00007fa92572ed6d in gst_collect_pads_default_collected (pads=0x55bc337ce0d0 [GstCollectPads], user_data=<optimized out>)
at gstcollectpads.c:1557
#5 0x00007fa92572be58 in gst_collect_pads_check_collected (pads=pads@entry=0x55bc337ce0d0 [GstCollectPads])
at gstcollectpads.c:1358
#6 0x00007fa92572d810 in gst_collect_pads_chain (pad=0x55bc337cc650 [GstPad], parent=<optimized out>, buffer=0x55bc347c21c0)
at gstcollectpads.c:2213
#7 0x00007fa925425602 in gst_pad_chain_data_unchecked (data=0x55bc347c21c0, type=4112, pad=0x55bc337cc650 [GstPad])
at gstpad.c:4322
#8 0x00007fa925425602 in gst_pad_push_data
(pad=pad@entry=0x55bc337cc400 [GstPad], type=type@entry=4112, data=data@entry=0x55bc347c21c0) at gstpad.c:4578
#9 0x00007fa92542be02 in gst_pad_push (pad=0x55bc337cc400 [GstPad], buffer=0x55bc347c21c0) at gstpad.c:4697
#10 0x000055bc31953c25 in check_tsmux_pad
(srctemplate=<optimized out>, src_caps_string=<optimized out>, pes_id=224, pmt_id=27, check_func=0x55bc319529e0 <test_align_check_output>, n_bufs=817, input_buf_size=-1, alignment=7, sinkname=0x55bc319561c9 "sink_%d") at elements/mpegtsmux.c:197
#11 0x000055bc31954821 in test_align (__i__=<optimized out>) at elements/mpegtsmux.c:771
#12 0x00007fa9256cf619 in tcase_run_tfun_fork (i=0, tfun=0x55bc337b96b0, tc=0x55bc337d1fa0, sr=0x55bc337d1f50) at check_run.c:465
#13 0x00007fa9256cf619 in srunner_iterate_tcase_tfuns (tc=0x55bc337d1fa0, sr=0x55bc337d1f50) at check_run.c:237
#14 0x00007fa9256cf619 in srunner_run_tcase (tc=0x55bc337d1fa0, sr=0x55bc337d1f50) at check_run.c:377
#15 0x00007fa9256cf619 in srunner_iterate_suites
(print_mode=CK_SILENT, exclude_tags=0x0, include_tags=0x0, tcname=0x0, sname=0x0, sr=0x55bc337d1f50) at check_run.c:205
#16 0x00007fa9256cf619 in srunner_run_tagged
(sr=sr@entry=0x55bc337d1f50, sname=sname@entry=0x0, tcname=tcname@entry=0x0, include_tags=include_tags@entry=0x0, exclude_tags=exclude_tags@entry=0x0, print_mode=print_mode@entry=CK_NORMAL) at check_run.c:740
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x00007fa9256cfc2d in srunner_run
(sr=sr@entry=0x55bc337d1f50, sname=sname@entry=0x0, tcname=tcname@entry=0x0, print_mode=print_mode@entry=CK_NORMAL)
at check_run.c:754
#18 0x00007fa9256cfc3b in srunner_run_all (sr=sr@entry=0x55bc337d1f50, print_mode=print_mode@entry=CK_NORMAL) at check_run.c:692
#19 0x00007fa9256c405d in gst_check_run_suite
(suite=<optimized out>, name=0x55bc31956170 "mpegtsmux", fname=0x55bc31956004 "elements/mpegtsmux.c") at gstcheck.c:1067
#20 0x000055bc3195250a in main (argc=<optimized out>, argv=<optimized out>) at elements/mpegtsmux.c:826
```
Problem is that the loop tries to consume 0 bytes forever
```
527 if (avail < len) {
(gdb) print avail
$3 = 0
(gdb) print len
$4 = 162
(gdb) next
528 memcpy (buf, cur, avail);
(gdb)
529 tsmux_stream_consume (stream, avail);
(gdb)
531 buf += avail;
(gdb)
532 len -= avail;
(gdb)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/845wpesrc: SIGABRT in linux_dmabuf_setup2021-09-24T14:36:50ZMathieu Duponchellewpesrc: SIGABRT in linux_dmabuf_setup[stack.txt](/uploads/d3ad39567c535c0ea0839559ae3a4f77/stack.txt)
I get this when running the example pipeline (`gst-launch-1.0 -v wpesrc location="https://gstreamer.freedesktop.org" ! queue ! glimagesink`), @philn let me know if you nee...[stack.txt](/uploads/d3ad39567c535c0ea0839559ae3a4f77/stack.txt)
I get this when running the example pipeline (`gst-launch-1.0 -v wpesrc location="https://gstreamer.freedesktop.org" ! queue ! glimagesink`), @philn let me know if you need more info :)Philippe NormandPhilippe Normandhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/846Add new av1 decoder around dav1d implementation2023-05-30T10:34:18ZSebastian DrögeAdd new av1 decoder around dav1d implementationSee https://code.videolan.org/videolan/dav1d. It's supposed to be much faster than the libaom reference implementation.
Should be relatively simple to wrap a decoder around that API.See https://code.videolan.org/videolan/dav1d. It's supposed to be much faster than the libaom reference implementation.
Should be relatively simple to wrap a decoder around that API.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/847elements_shm.test_shm_live: Sometimes times out2021-10-12T20:08:00ZSebastian Drögeelements_shm.test_shm_live: Sometimes times out```
check.gst-plugins-bad.elements_shm.test_shm_live: Failed 'Application returned 1'
You can reproduce with: GST_CHECKS='test_shm_live' GST_PLUGIN_SYSTEM_PATH_1_0='' GST_PLUGIN_PATH_1_0='/builds/gstreamer/gst-plugins-good/gst-bui...```
check.gst-plugins-bad.elements_shm.test_shm_live: Failed 'Application returned 1'
You can reproduce with: GST_CHECKS='test_shm_live' GST_PLUGIN_SYSTEM_PATH_1_0='' GST_PLUGIN_PATH_1_0='/builds/gstreamer/gst-plugins-good/gst-build/build' CK_DEFAULT_TIMEOUT='20' GST_REGISTRY='/builds/gstreamer/gst-plugins-good/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_shm.registry' GST_STATE_IGNORE_ELEMENTS='' /builds/gstreamer/gst-plugins-good/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_shm
Dumping log files on failure
Dumping contents of /builds/gstreamer/gst-plugins-good/validate-output/logs/check/gst-plugins-bad/elements_shm/test_shm_live
=================
Test name: check.gst-plugins-bad.elements_shm.test_shm_live
Command: '/builds/gstreamer/gst-plugins-good/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_shm'
=================
Running suite(s): shm
0%: Checks: 1, Failures: 0, Errors: 1
../subprojects/gst-plugins-bad/tests/check/elements/shm.c:219:E:shm2:test_shm_live:0: (after this point) Test timeout expired
Check suite shm ran in 20.002s (tests failed: 1)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/848daala: remove plugin?2018-12-17T12:37:18ZTim-Philipp Müllertim@centricular.comdaala: remove plugin?Work on daala as a stand-alone lib/codec has clearly [stalled](https://git.xiph.org/?p=daala.git) for more than 1.5 years, with AV1 being the main focus now.
I think we should just remove this plugin. It doesn't really serve any useful ...Work on daala as a stand-alone lib/codec has clearly [stalled](https://git.xiph.org/?p=daala.git) for more than 1.5 years, with AV1 being the main focus now.
I think we should just remove this plugin. It doesn't really serve any useful purpose at this point.1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/849elements_netsim.netsim_stress: Sometimes fails with "Got data flow before str...2021-10-12T20:09:54ZSebastian Drögeelements_netsim.netsim_stress: Sometimes fails with "Got data flow before stream-start event"```
check.gst-plugins-bad.elements_netsim.netsim_stress: Failed 'Application returned 1'
You can reproduce with: GST_STATE_IGNORE_ELEMENTS='' GST_CHECKS='netsim_stress' GST_PLUGIN_SYSTEM_PATH_1_0='' CK_DEFAULT_TIMEOUT='20' GST_REG...```
check.gst-plugins-bad.elements_netsim.netsim_stress: Failed 'Application returned 1'
You can reproduce with: GST_STATE_IGNORE_ELEMENTS='' GST_CHECKS='netsim_stress' GST_PLUGIN_SYSTEM_PATH_1_0='' CK_DEFAULT_TIMEOUT='20' GST_REGISTRY='/builds/tpm/gst-plugins-bad/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_netsim.registry' GST_PLUGIN_PATH_1_0='/builds/tpm/gst-plugins-bad/gst-build/build' /builds/tpm/gst-plugins-bad/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_netsim
Dumping log files on failure
Dumping contents of /builds/tpm/gst-plugins-bad/validate-output/logs/check/gst-plugins-bad/elements_netsim/netsim_stress
=================
Test name: check.gst-plugins-bad.elements_netsim.netsim_stress
Command: '/builds/tpm/gst-plugins-bad/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_netsim'
=================
Running suite(s): netsim
Unexpected critical/warning: ../subprojects/gstreamer/gst/gstpad.c:4292:gst_pad_chain_data_unchecked:<netsim0:sink> Got data flow before stream-start event
Stack trace:
gst_debug_get_stack_trace (gstinfo.c:2788)
gst_check_log_critical_func (gstcheck.c:281)
g_logv (/usr/lib64/libglib-2.0.so.0.5800.1:0x7f828b2c66db)
g_log (/usr/lib64/libglib-2.0.so.0.5800.1:0x7f828b2c68cf)
gst_pad_push_data (gstpad.c:4290)
gst_pad_push (gstpad.c:4701)
gst_harness_stress_buffer_func (gstharness.c:2936)
?? (/usr/lib64/libglib-2.0.so.0.5800.1:0x7f828b2e8486)
start_thread (/usr/lib64/libpthread-2.28.so:0x7f828b25558a)
__clone (/usr/lib64/libc-2.28.so:0x7f828b18464f)
0%: Checks: 1, Failures: 1, Errors: 0
../subprojects/gstreamer/libs/gst/check/gstcheck.c:286:F:general:netsim_stress:0: Unexpected critical/warning: ../subprojects/gstreamer/gst/gstpad.c:4292:gst_pad_chain_data_unchecked:<netsim0:sink> Got data flow before stream-start event
Check suite netsim ran in 0.804s (tests failed: 1)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/850Remove acmenc and acmmp3dec plugins2018-12-18T12:12:22ZTim-Philipp Müllertim@centricular.comRemove acmenc and acmmp3dec pluginsACM is an ancient Windows legacy API, and there's no point in keeping it around for a licensed mp3 decoder now that mp3 patents have expired and we have a decoder in -good. Also doesn't handle VBR streams very well apparently.ACM is an ancient Windows legacy API, and there's no point in keeping it around for a licensed mp3 decoder now that mp3 patents have expired and we have a decoder in -good. Also doesn't handle VBR streams very well apparently.Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/851intervideosink / intervideosrc wrong framerate negotiated2018-12-19T13:55:28ZWojciech Kapsaintervideosink / intervideosrc wrong framerate negotiatedintervideosrc element negotiate wrong framerate. Output "test.ts" from the below pipeline should be 1080p60. But result is 1080p30.
gst-launch-1.0 -ev videotestsrc ! video/x-raw,width=1920,height=1080,framerate=60/1 ! intervideosink ch...intervideosrc element negotiate wrong framerate. Output "test.ts" from the below pipeline should be 1080p60. But result is 1080p30.
gst-launch-1.0 -ev videotestsrc ! video/x-raw,width=1920,height=1080,framerate=60/1 ! intervideosink channel=inter intervideosrc channel=inter ! x264enc tune=zerolatency speed-preset=ultrafast ! video/x-h264,profile=baseline ! h264parse ! queue ! mpegtsmux ! filesink location=test.ts
This pipeline works well:
gst-launch-1.0 -ev videotestsrc ! video/x-raw,width=1920,height=1080,framerate=60/1 ! x264enc tune=zerolatency speed-preset=ultrafast ! video/x-h264,profile=baseline ! h264parse ! queue ! mpegtsmux ! filesink location=test.ts
Gstreamer version:
gst-launch-1.0 version 1.14.1
GStreamer 1.14.1
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
OS:
Ubuntu 18.04.1 LTS
4.15.0-42-generichttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/852openal: Doesn't build on macOS Mojave2018-12-24T16:22:21ZPhilippe Normandopenal: Doesn't build on macOS Mojave```
ccache cc -Isubprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha -Isubprojects/gst-plugins-bad/ext/openal -I../subprojects/gst-plugins-bad/ext/openal -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad -Isubprojec...```
ccache cc -Isubprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha -Isubprojects/gst-plugins-bad/ext/openal -I../subprojects/gst-plugins-bad/ext/openal -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs/gst/audio -Isubprojects/gst-plugins-base/gst-libs/gst/tag -Isubprojects/gstreamer/gst -I/usr/local/Cellar/glib/2.58.2/include/glib-2.0 -I/usr/local/Cellar/glib/2.58.2/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.42/include -I/usr/local/Cellar/orc/0.4.28/include/orc-0.4 -I/System/Library/Frameworks/OpenAL.framework/Headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototypes -Wdeclaration-after-statement -Wold-style-definition -Wnested-externs -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -D_REENTRANT -DHAVE_CONFIG_H -MD -MQ 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsrc.c.o' -MF 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsrc.c.o.d' -o 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsrc.c.o' -c ../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c
In file included from ../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:84:
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.h:62:10: fatal error: 'OpenAL/alext.h' file not found
#include <OpenAL/alext.h>
^~~~~~~~~~~~~~~~
1 error generated.
[2/4] Compiling C object 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenal.c.o'.
FAILED: subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenal.c.o
ccache cc -Isubprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha -Isubprojects/gst-plugins-bad/ext/openal -I../subprojects/gst-plugins-bad/ext/openal -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs/gst/audio -Isubprojects/gst-plugins-base/gst-libs/gst/tag -Isubprojects/gstreamer/gst -I/usr/local/Cellar/glib/2.58.2/include/glib-2.0 -I/usr/local/Cellar/glib/2.58.2/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.42/include -I/usr/local/Cellar/orc/0.4.28/include/orc-0.4 -I/System/Library/Frameworks/OpenAL.framework/Headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototypes -Wdeclaration-after-statement -Wold-style-definition -Wnested-externs -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -D_REENTRANT -DHAVE_CONFIG_H -MD -MQ 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenal.c.o' -MF 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenal.c.o.d' -o 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenal.c.o' -c ../subprojects/gst-plugins-bad/ext/openal/gstopenal.c
In file included from ../subprojects/gst-plugins-bad/ext/openal/gstopenal.c:29:
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.h:38:10: fatal error: 'OpenAL/alext.h' file not found
#include <OpenAL/alext.h>
^~~~~~~~~~~~~~~~
1 error generated.
[3/4] Compiling C object 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o'.
FAILED: subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o
ccache cc -Isubprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha -Isubprojects/gst-plugins-bad/ext/openal -I../subprojects/gst-plugins-bad/ext/openal -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs/gst/audio -Isubprojects/gst-plugins-base/gst-libs/gst/tag -Isubprojects/gstreamer/gst -I/usr/local/Cellar/glib/2.58.2/include/glib-2.0 -I/usr/local/Cellar/glib/2.58.2/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.42/include -I/usr/local/Cellar/orc/0.4.28/include/orc-0.4 -I/System/Library/Frameworks/OpenAL.framework/Headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototypes -Wdeclaration-after-statement -Wold-style-definition -Wnested-externs -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -D_REENTRANT -DHAVE_CONFIG_H -MD -MQ 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o' -MF 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o.d' -o 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o' -c ../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c
In file included from ../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:64:
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.h:38:10: fatal error: 'OpenAL/alext.h' file not found
#include <OpenAL/alext.h>
^~~~~~~~~~~~~~~~
```
Disabling this include leads to:
```
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:424:24: error: use of undeclared identifier 'AL_FORMAT_MONO_FLOAT32'
format = AL_FORMAT_MONO_FLOAT32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:434:24: error: use of undeclared identifier 'AL_FORMAT_MONO_DOUBLE_EXT'
format = AL_FORMAT_MONO_DOUBLE_EXT;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:449:20: error: use of undeclared identifier 'AL_FORMAT_MONO_IMA4'
format = AL_FORMAT_MONO_IMA4;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:459:20: error: use of undeclared identifier 'AL_FORMAT_MONO_ALAW_EXT'
format = AL_FORMAT_MONO_ALAW_EXT;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsrc.c:469:20: error: use of undeclared identifier 'AL_FORMAT_MONO_MULAW'
format = AL_FORMAT_MONO_MULAW;
^
5 errors generated.
[3/4] Compiling C object 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o'.
FAILED: subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o
ccache cc -Isubprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha -Isubprojects/gst-plugins-bad/ext/openal -I../subprojects/gst-plugins-bad/ext/openal -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs/gst/audio -Isubprojects/gst-plugins-base/gst-libs/gst/tag -Isubprojects/gstreamer/gst -I/usr/local/Cellar/glib/2.58.2/include/glib-2.0 -I/usr/local/Cellar/glib/2.58.2/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.42/include -I/usr/local/Cellar/orc/0.4.28/include/orc-0.4 -I/System/Library/Frameworks/OpenAL.framework/Headers -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototypes -Wdeclaration-after-statement -Wold-style-definition -Wnested-externs -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -D_REENTRANT -DHAVE_CONFIG_H -MD -MQ 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o' -MF 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o.d' -o 'subprojects/gst-plugins-bad/ext/openal/f8b8183@@gstopenal@sha/gstopenalsink.c.o' -c ../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:124:8: error: unknown type name 'PFNALCSETTHREADCONTEXTPROC'
static PFNALCSETTHREADCONTEXTPROC palcSetThreadContext;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:125:8: error: unknown type name 'PFNALCGETTHREADCONTEXTPROC'
static PFNALCGETTHREADCONTEXTPROC palcGetThreadContext;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:688:24: error: use of undeclared identifier 'AL_FORMAT_QUAD8'
format = AL_FORMAT_QUAD8;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:691:24: error: use of undeclared identifier 'AL_FORMAT_51CHN8'
format = AL_FORMAT_51CHN8;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:694:24: error: use of undeclared identifier 'AL_FORMAT_61CHN8'
format = AL_FORMAT_61CHN8;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:697:24: error: use of undeclared identifier 'AL_FORMAT_71CHN8'
format = AL_FORMAT_71CHN8;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:713:24: error: use of undeclared identifier 'AL_FORMAT_QUAD16'
format = AL_FORMAT_QUAD16;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:716:24: error: use of undeclared identifier 'AL_FORMAT_51CHN16'
format = AL_FORMAT_51CHN16;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:719:24: error: use of undeclared identifier 'AL_FORMAT_61CHN16'
format = AL_FORMAT_61CHN16;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:722:24: error: use of undeclared identifier 'AL_FORMAT_71CHN16'
format = AL_FORMAT_71CHN16;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:732:24: error: use of undeclared identifier 'AL_FORMAT_MONO_FLOAT32'
format = AL_FORMAT_MONO_FLOAT32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:735:24: error: use of undeclared identifier 'AL_FORMAT_STEREO_FLOAT32'
format = AL_FORMAT_STEREO_FLOAT32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:738:24: error: use of undeclared identifier 'AL_FORMAT_QUAD32'
format = AL_FORMAT_QUAD32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:741:24: error: use of undeclared identifier 'AL_FORMAT_51CHN32'
format = AL_FORMAT_51CHN32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:744:24: error: use of undeclared identifier 'AL_FORMAT_61CHN32'
format = AL_FORMAT_61CHN32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:747:24: error: use of undeclared identifier 'AL_FORMAT_71CHN32'
format = AL_FORMAT_71CHN32;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:757:24: error: use of undeclared identifier 'AL_FORMAT_MONO_DOUBLE_EXT'
format = AL_FORMAT_MONO_DOUBLE_EXT;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:760:24: error: use of undeclared identifier 'AL_FORMAT_STEREO_DOUBLE_EXT'
format = AL_FORMAT_STEREO_DOUBLE_EXT;
^
../subprojects/gst-plugins-bad/ext/openal/gstopenalsink.c:774:20: error: use of undeclared identifier 'AL_FORMAT_MONO_IMA4'
format = AL_FORMAT_MONO_IMA4;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
```1.15.1Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/853msdk: license exception for gstmsdkvpputil.h and gstmsdkvpputil.c2019-03-18T13:51:23ZHaihao Xiangmsdk: license exception for gstmsdkvpputil.h and gstmsdkvpputil.cAccording to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/sys/msdk/README, gst-msdk is licensed under BSD-3, however gstmsdkvpputil.h (https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/sys/msdk/...According to https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/sys/msdk/README, gst-msdk is licensed under BSD-3, however gstmsdkvpputil.h (https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/sys/msdk/gstmsdkvpputil.h) and gstmsdkvpputil.c (https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/blob/master/sys/msdk/gstmsdkvpputil.c) include LGPL header. Is it OK to add an exception for gstmsdkvpputil.h and gstmsdkvpputil.c in README? @vjaquez @sree @tpmhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/854mpegts: elements do not emit corresponding messages on SI/PSI tables update2021-09-24T14:36:52ZAlexmpegts: elements do not emit corresponding messages on SI/PSI tables updateI use tsparse element to obtain the current PAT/PMT/SDT tables from my stream. However, the behavior of the element seems unintuitive to me: if the PAT of the same content was met before, the corresponding message does not appear. For ex...I use tsparse element to obtain the current PAT/PMT/SDT tables from my stream. However, the behavior of the element seems unintuitive to me: if the PAT of the same content was met before, the corresponding message does not appear. For example when I feed two streams interchangeably to the tsparse, it emits PAT for each stream only once, so I couldn't fetch the actual stream structure. Is there any way to get the actual stream PAT (and SDT)? Is there any way to check if the PAT has changed?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/855directshow plugins: add meson build?2022-02-19T20:54:54ZTim-Philipp Müllertim@centricular.comdirectshow plugins: add meson build?The directshow-based plugins are currently not built in the autotools build. Some of them have cmake build files. These plugins rely on base classes from an external dshow sample repository which needs to be built separately first. Those...The directshow-based plugins are currently not built in the autotools build. Some of them have cmake build files. These plugins rely on base classes from an external dshow sample repository which needs to be built separately first. Those samples are [MIT licensed](https://github.com/Microsoft/Windows-classic-samples/blob/master/LICENSE) these days, so we might be able to ship them if we wanted to.
- [ ] dshow baseclasses - [wip meson subproject](https://github.com/tp-m/Windows-classic-samples) (symbol exports still need fixing)
- [ ] sys/dshowsrcwrapper
- [ ] sys/dshowdecwrapper
- [ ] sys/dshowvideosink (remove this? no autotools nor cmake build, unclear if anyone actually uses this?)Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/856webrtcbin: request to expose setting the min and max port range for host cand...2023-05-16T04:25:40ZIlya Kreymerwebrtcbin: request to expose setting the min and max port range for host candidates in libniceI wanted to request the ability to specify the local port range used for ICE host candidate selection used by webrtcbin.
This feature is available in libnice via the [nice_agent_set_port_range()](https://nice.freedesktop.org/libnice/Nic...I wanted to request the ability to specify the local port range used for ICE host candidate selection used by webrtcbin.
This feature is available in libnice via the [nice_agent_set_port_range()](https://nice.freedesktop.org/libnice/NiceAgent.html#nice-agent-set-port-range) function.
Ideally, it could be expose to the webrtcbin plugin as optional properties:
```
webrtcbin min-rtp-port=10000 max-rtp-port=10000 min-rtcp-port=10001 max-rtcp-port=10001 name=sendrecv...
```
The use case for this would be to allow use webrtcbin in client-server applications without a STUN/TURN servers, where a fixed port or port range can be known and available, and where NAT hole punching is not working reliably, or where a public port can be set in a different way.
Specifically, my use case is using gstreamer with webrtcbin within Docker containers where a public port can be assigned to a fixed container port. Setting the min-port and max-port allows for having a fixed port inside the container. (NAT hole punching with Docker networks has not worked reliably).
I can help contribute a patch to this if there is interest in adding this.
Thank you!https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/857webrtcbin: build error of webrtcsdp.c2018-12-31T12:55:27ZPeng Liuwebrtcbin: build error of webrtcsdp.cA build error due to the atoi() function.
`webrtcsdp.c:713:14: error: implicit declaration of function ‘atoi’ [-Werror=implicit-function-declaration]
return atoi (attr->value);`
It can be easily fixed with adding
`#include <std...A build error due to the atoi() function.
`webrtcsdp.c:713:14: error: implicit declaration of function ‘atoi’ [-Werror=implicit-function-declaration]
return atoi (attr->value);`
It can be easily fixed with adding
`#include <stdlib.h>`
1.15.1https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/859msdk: Kernel Out-of-memory (OOM) triggered often2019-05-02T11:15:17ZU. Artie Eoffmsdk: Kernel Out-of-memory (OOM) triggered oftenWhile encoding with msdk plugin, occasionally it fails for one reason or another. When encoding fails, gst msdk goes into an infinite loop which results in rapid incremental usage of system memory until all memory is depleted and it tri...While encoding with msdk plugin, occasionally it fails for one reason or another. When encoding fails, gst msdk goes into an infinite loop which results in rapid incremental usage of system memory until all memory is depleted and it triggers system OOM error. I started observing this issue regularly on our internal CI around the second week of December (i.e. causing our test machines to hit OOM at least 3 or more times a day). But it's possible the problem has always been there and only less likely to encounter before.
The following output is an example of one instance where encoding failed and causes the aforementioned behavior:
```
$ LIBVA_DRIVER_NAME=iHD gst-launch-1.0 -vf filesrc \
location=/opt/media/src/assets/otc-media/yuv/MOBILE_352x288_30_orig_01_352x288_I420.yuv num-buffers=300 \
! rawvideoparse format=i420 width=352 height=288 framerate=25 \
! msdkh265enc rate-control=cbr bitrate=500 gop-size=30 num-slices=4 b-frames=2 hardware=true \
! video/x-h265,profile=main ! h265parse ! filesink location=output.h265
Setting pipeline to PAUSED ...
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'msdkh265enc0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext0";
/GstPipeline:pipeline0/GstRawVideoParse:rawvideoparse0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)352, height=(int)288, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
Redistribute latency...
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)352, height=(int)288, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.475: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.478: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, tier=(string)main
[2019-01-03 16:41:29] /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, tier=(string)main
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.481: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.483: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.487: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
<snip> previous message repeats many times </snip>
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:38.167: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
ERROR: from element /GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0: Encode frame failed.
Additional debug info:
gstmsdkenc.c(760): gst_msdkenc_encode_frame (): /GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0:
MSDK encode error (undefiend error)
Execution ended after 0:00:08.685737328
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
```
Unfortunately, the above encode pipeline does not always fail consistently. Sometimes other encode pipelines fail intermittently, too. So it can be difficult to reproduce the behavior with a legal pipeline. In general, I've observed that the failure seems to coincide with a kernel GPU reset/hang.
Fortunately, **to demonstrate the core issue around the gst msdk error flow logic** that triggers OOM, the following hevc 10 bit encode example can trigger the problem 100% when executing on Skylake (SKL) platform which does not support this codec:
```
$ LIBVA_DRIVER_NAME=iHD GST_DEBUG=msdkenc:255 gst-launch-1.0 -vf \
filesrc location=/opt/media/assets/otc-media/otc-media/yuv/Allegro_HEVC_Main10_MT51_INTER_02_192x200@60Hz_1.5_P010.yuv \
num-buffers=300 ! rawvideoparse format=p010-10le width=192 height=200 framerate=25 \
! msdkh265enc rate-control=cbr bitrate=500 gop-size=30 num-slices=1 b-frames=0 hardware=true \
! video/x-h265,profile=main-10 ! h265parse ! filesink location=output.h265
Setting pipeline to PAUSED ...
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
0:00:00.017432694 2789 0x55d224afb270 INFO msdkenc gstmsdkenc.c:1401:gst_msdkenc_start:<msdkh265enc0> Creating new context <msdkcontext0>
Pipeline is PREROLLING ...
Got context from element 'msdkh265enc0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext0";
/GstPipeline:pipeline0/GstRawVideoParse:rawvideoparse0.GstPad:src: caps = video/x-raw, format=(string)P010_10LE, width=(int)192, height=(int)200, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:00.018652197 2789 0x55d224ac6770 INFO msdkenc gstmsdkenc.c:1031:gst_msdkenc_set_format:<msdkh265enc0> This MSDK encoder uses video memory
0:00:00.018844247 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:424:gst_msdkenc_init_encoder:<msdkh265enc0> Video Encode Query returned: incompatible video parameters
0:00:00.018899187 2789 0x55d224ac6770 DEBUG msdkenc gstmsdkenc.c:461:gst_msdkenc_init_encoder:<msdkh265enc0> Required 5 surfaces (5 suggested), allocated 5
0:00:00.020921741 2789 0x55d224ac6770 DEBUG msdkenc gstmsdkenc.c:865:gst_msdkenc_set_src_caps:<msdkh265enc0> output caps: video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main-10, level=(string)2
0:00:00.021032050 2789 0x55d224ac6770 INFO msdkenc gstmsdkenc.c:805:gst_msdkenc_set_latency:<msdkh265enc0> Updating latency to 0:00:00.160000000 (4 frames)
Redistribute latency...
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:sink: caps = video/x-raw, format=(string)P010_10LE, width=(int)192, height=(int)200, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main-10, level=(string)2, width=(int)192, height=(int)200, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main-10, level=(string)2, width=(int)192, height=(int)200, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main-10, level=(string)2, width=(int)192, height=(int)200, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main-10, level=(string)2, width=(int)192, height=(int)200, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
0:00:00.046626052 2789 0x55d224ac6770 ERROR default gstmsdkvideomemory.c:77:gst_msdk_video_allocator_get_surface: failed to get surface available
0:00:00.046646913 2789 0x55d224ac6770 ERROR msdkenc gstmsdkenc.c:1103:gst_msdkenc_get_surface_from_pool:<msdkbufferpool0> failed to acquire a buffer from pool
0:00:00.046654233 2789 0x55d224ac6770 ERROR msdkenc gstmsdkenc.c:1357:gst_msdkenc_handle_frame:<msdkh265enc0> Surface pool is full
0:00:00.046778609 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: Encode frame failed.
0:00:00.046787030 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: MSDK encode error (the HW acceleration device is busy)
ERROR: from element /GstPipeline:pipeline0/GstRawVideoParse:rawvideoparse0: Internal data stream error.
0:00:00.047086777 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: Encode frame failed.
Additional debug info:
gstbaseparse.c(3634): gst_base_parse_loop (): /GstPipeline:pipeline0/GstRawVideoParse:rawvideoparse0:
streaming stopped, reason error (-5)
0:00:00.047098930 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: MSDK encode error (the HW acceleration device is busy)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:00.047140554 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: Encode frame failed.
0:00:00.047153897 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: MSDK encode error (the HW acceleration device is busy)
0:00:00.047171944 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: Encode frame failed.
0:00:00.047180420 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: MSDK encode error (the HW acceleration device is busy)
0:00:00.047195658 2789 0x55d224ac6770 WARN msdkenc gstmsdkenc.c:832:gst_msdkenc_flush_frames:<msdkh265enc0> error: Encode frame failed.
<snip> The previous message repeats indefinitely </snip>
```
Software Stack:
```
libva (master) heads/master-0-g382acf1 https://github.com/01org/libva
gmmlib (master) intel-gmmlib-18.4.1-0-g413896e https://github.com/intel/gmmlib
intel-vaapi-driver (master) heads/master-0-g72f10f1 https://github.com/01org/intel-vaapi-driver
intel-media-driver (master) heads/master-0-g8968471 https://github.com/intel/media-driver
msdk (master) heads/master-0-g750cfb4 https://github.com/Intel-Media-SDK/MediaSDK
gstreamer (master) heads/master-0-g74b9e72 http://anongit.freedesktop.org/git/gstreamer/gstreamer
gst-plugins-base (master) heads/master-0-ga95ab79 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-base
gst-plugins-good (master) heads/master-0-gec93160 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-good
gst-plugins-bad (master) heads/master-0-g2f05ee9 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad
gstreamer-vaapi (master) heads/master-0-ge4ae7d9 https://anongit.freedesktop.org/git/gstreamer/gstreamer-vaapi
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/860configure not finding right mpeg2enc2019-01-11T08:13:05ZDennisconfigure not finding right mpeg2encCan't seem to locate the "valid mpeg2 objects"... Built MJPEG 2.1.0 with JPEG 9c
```
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git
cd gst-plugins-bad
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ./configure ...Can't seem to locate the "valid mpeg2 objects"... Built MJPEG 2.1.0 with JPEG 9c
```
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git
cd gst-plugins-bad
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ./configure --enable-static --disable-shared --disable-dependency-tracking --disable-libtool-lock --disable-examples --disable-gtk-doc-html
...
configure: *** checking feature: mpeg2enc ***
configure: *** for plug-ins: mpeg2enc ***
checking for MPEG2ENC... yes
checking mpeg2encoder.hh usability... yes
checking mpeg2encoder.hh presence... yes
checking for mpeg2encoder.hh... yes
checking for valid mpeg2enc objects... no
configure: *** These plugins will not be built: mpeg2enc
...
cat configure.log
...
configure:61259: $PKG_CONFIG --exists --print-errors "mjpegtools >= 1.6.1.93 mjpegtools < 1.8.0"
Requested 'mjpegtools < 1.8.0' but version of MJPEG-tools is 2.1.0
configure:61262: $? = 1
configure:61270: $PKG_CONFIG --exists --print-errors "mjpegtools >= 1.8.0 mjpegtools < 1.9.0"
Requested 'mjpegtools < 1.9.0' but version of MJPEG-tools is 2.1.0
configure:61273: $? = 1
configure:61281: $PKG_CONFIG --exists --print-errors "mjpegtools >= 2.0.0"
configure:61284: $? = 0
configure:61398: *** checking feature: mpeg2enc ***
configure:61402: *** for plug-ins: mpeg2enc ***
configure:61448: checking for MPEG2ENC
configure:61456: $PKG_CONFIG --exists --print-errors "mjpegtools >= 1.6.1.93"
configure:61459: $? = 0
configure:61474: $PKG_CONFIG --exists --print-errors "mjpegtools >= 1.6.1.93"
configure:61477: $? = 0
configure:61517: result: yes
configure:61531: checking mpeg2encoder.hh usability
configure:61531: g++ -c -I/usr/local/include/mjpegtools -I/usr/local/include/mjpegtools/mpeg2enc -I/usr/local/include/mjpegtools/mplex -I. conftest.cpp >&5
configure:61531: $? = 0
configure:61531: result: yes
configure:61531: checking mpeg2encoder.hh presence
configure:61531: g++ -E -I/usr/local/include/mjpegtools -I/usr/local/include/mjpegtools/mpeg2enc -I/usr/local/include/mjpegtools/mplex -I. conftest.cpp
configure:61531: $? = 0
configure:61531: result: yes
configure:61531: checking for mpeg2encoder.hh
configure:61531: result: yes
configure:61537: checking for valid mpeg2enc objects
configure:61561: g++ -o conftest -I/usr/local/include/mjpegtools -I/usr/local/include/mjpegtools/mpeg2enc -I/usr/local/include/mjpegtools/mplex -I. conftest.cpp -L/usr/local/lib -lmjpegutils -lmpeg2encpp -lm >&5
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `mb_me_search(EncoderParams const&, unsigned char*, unsigned char*, int, SubSampledImg*, int, int, int, int, int, int, int, int, MotionCand*)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1659: undefined reference to `psad_00'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1676: undefined reference to `pbuild_sub44_mests'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1694: undefined reference to `pbuild_sub22_mests'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1712: undefined reference to `pfind_best_one_pel'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1749: undefined reference to `psad_11'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1756: undefined reference to `psad_10'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1751: undefined reference to `psad_01'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1758: undefined reference to `psad_00'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1782: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `bidir_var_sum(MotionCand*, MotionCand*, ImagePlanes&, ImagePlanes&, SubSampledImg*, int, int) [clone .isra.12]':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:258: undefined reference to `pbsumsq'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:260: undefined reference to `pbsumsq_sub22'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:262: undefined reference to `pbsumsq_sub22'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `unidir_var_sum(MotionCand*, ImagePlanes&, SubSampledImg*, int, int) [clone .isra.13]':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:215: undefined reference to `psumsq_sub22'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:216: undefined reference to `psumsq_sub22'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `MacroBlock::FrameDualPrimeCand(unsigned char*, SubSampledImg const&, MotionCand const (&) [2][2], MotionCand&, MotionVector&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:581: undefined reference to `pbsumsq'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:555: undefined reference to `pbsad'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `MacroBlock::FieldME()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1042: undefined reference to `pvariance'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `chrom_var_sum':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:274: undefined reference to `pvariance'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:275: undefined reference to `pvariance'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `bidir_pred_sad':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:295: undefined reference to `pbsad'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:295: undefined reference to `pbsad'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:295: undefined reference to `pbsad'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `unidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `MacroBlock::FieldME()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:1140: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `unidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: more undefined references to `psumsq' follow
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `dpfield_estimate':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:692: undefined reference to `pbsad'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `bidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:179: undefined reference to `pbsumsq'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:179: undefined reference to `pbsumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `unidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `bidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:179: undefined reference to `pbsumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `dpfield_estimate':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:669: undefined reference to `pbsumsq'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `MacroBlock::FrameMEs()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:780: undefined reference to `pvariance'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `chrom_var_sum':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:274: undefined reference to `pvariance'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:275: undefined reference to `pvariance'
/usr/local/lib/libmpeg2encpp.a(motionest.o): In function `unidir_pred_var':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/motionest.cc:161: undefined reference to `psumsq'
/usr/local/lib/libmpeg2encpp.a(mpeg2encoptions.o): In function `MPEG2EncOptions::InferStreamDataParams(MPEG2EncInVidParams const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:155: undefined reference to `mpeg_valid_framerate_code'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:171: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:183: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:222: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:223: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:199: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:130: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:158: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:158: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:158: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:160: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:160: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:160: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:203: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:144: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:216: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:217: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:139: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:206: undefined reference to `mjpeg_warn'
/usr/local/lib/libmpeg2encpp.a(mpeg2encoptions.o): In function `MPEG2EncOptions::CheckBasicConstraints()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:254: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:254: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:254: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:271: undefined reference to `mpeg_valid_aspect_code'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:321: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:327: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:335: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:374: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:301: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:302: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:351: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:359: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:282: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:274: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:266: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:369: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:341: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:345: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:311: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:314: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:315: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:293: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:288: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:238: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:260: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:245: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:248: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:248: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:248: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:331: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:355: undefined reference to `mjpeg_warn'
/usr/local/lib/libmpeg2encpp.a(mpeg2encoptions.o): In function `MPEG2EncOptions::SetFormatPresets(MPEG2EncInVidParams const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:389: undefined reference to `mpeg_format_code_defintion'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:389: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:505: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:506: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:548: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:549: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:554: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:602: undefined reference to `mjpeg_error'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:542: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:535: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:480: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoptions.cc:497: undefined reference to `mjpeg_error_exit1'
/usr/local/lib/libmpeg2encpp.a(mpeg2encoder.o): In function `MPEG2Encoder::SIMDInitOnce()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoder.cc:73: undefined reference to `init_motion_search'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/mpeg2encoder.cc:73: undefined reference to `init_motion_search'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `Despatcher::~Despatcher()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:182: undefined reference to `pthread_join'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `Despatcher::ParallelWorker()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:197: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:203: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:211: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:257: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:208: undefined reference to `mjpeg_debug'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:395: more undefined references to `mjpeg_debug' follow
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `SeqEncoder::Pass1Process()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:778: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `SeqEncoder::Pass2EncodePicture(Picture&, bool)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:867: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `SeqEncoder::StreamEnd()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:930: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:931: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `Despatcher::Init(unsigned int)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:127: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:143: undefined reference to `pthread_attr_getstacksize'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:157: undefined reference to `mjpeg_debug'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:160: undefined reference to `pthread_create'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:162: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:147: undefined reference to `pthread_attr_setstacksize'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `SeqEncoder::Pass1EncodePicture(Picture&, int)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:601: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(seqencoder.o): In function `SeqEncoder::Pass1ReEncodePicture0(Picture&, void (MacroBlock::*)())':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/seqencoder.cc:649: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(predict_ref.o): In function `init_predict':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/predict_ref.c:231: undefined reference to `cpu_accel'
/usr/local/lib/libmpeg2encpp.a(quantize_ref.o): In function `init_quantizer':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_ref.c:456: undefined reference to `bufalloc'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_ref.c:507: undefined reference to `cpu_accel'
/usr/local/lib/libmpeg2encpp.a(transfrm_ref.o): In function `init_transform':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_ref.c:193: undefined reference to `cpu_accel'
/usr/local/lib/libmpeg2encpp.a(predict_x86.o): In function `init_x86_predict':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/predict_x86.c:126: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/predict_x86.c:131: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(quantize_x86.o): In function `init_x86_quantization':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:405: undefined reference to `cpu_accel'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:412: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:413: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:414: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:415: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:416: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:425: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:455: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:453: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:451: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:449: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:447: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(quantize_x86.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/quantize_x86.c:457: more undefined references to `mjpeg_info' follow
/usr/local/lib/libmpeg2encpp.a(transfrm_x86.o): In function `init_x86_transform':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:268: undefined reference to `cpu_accel'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:269: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:270: undefined reference to `disable_simd'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:280: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:275: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:296: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/transfrm_x86.c:296: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(encoderparams.o): In function `EncoderParams::InitQuantMatrices(MPEG2EncOptions const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:747: undefined reference to `bufalloc'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:748: undefined reference to `bufalloc'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:807: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:813: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:818: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:802: undefined reference to `mjpeg_error_exit1'
/usr/local/lib/libmpeg2encpp.a(encoderparams.o): In function `EncoderParams::Init(MPEG2EncOptions const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:196: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:376: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:429: undefined reference to `mpeg_interlace_code_definition'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:429: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:450: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:455: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:493: undefined reference to `round_search_radius'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:495: undefined reference to `round_search_radius'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:500: undefined reference to `round_search_radius'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:502: undefined reference to `round_search_radius'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:504: undefined reference to `round_search_radius'
/usr/local/lib/libmpeg2encpp.a(encoderparams.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:506: more undefined references to `round_search_radius' follow
/usr/local/lib/libmpeg2encpp.a(encoderparams.o): In function `EncoderParams::Init(MPEG2EncOptions const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:281: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:269: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:241: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:536: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:536: undefined reference to `mpeg_framerate'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:561: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:679: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:687: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:705: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:697: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(encoderparams.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:661: more undefined references to `mjpeg_info' follow
/usr/local/lib/libmpeg2encpp.a(encoderparams.o): In function `EncoderParams::Init(MPEG2EncOptions const&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:475: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:541: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:651: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:652: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:643: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:609: undefined reference to `mjpeg_warn'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:487: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:572: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:579: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:588: undefined reference to `mjpeg_info'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/encoderparams.cc:595: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(picture.o): In function `Picture::MotionSubSampledLum()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picture.cc:449: undefined reference to `psubsample_image'
/usr/local/lib/libmpeg2encpp.a(picture.o): In function `Picture::PutTrailers(int)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picture.cc:704: undefined reference to `mjpeg_debug'
/usr/local/lib/libmpeg2encpp.a(picture.o): In function `Picture::Picture(EncoderParams&, ElemStrmWriter&, Quantizer&)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picture.cc:75: undefined reference to `bufalloc'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picture.cc:78: undefined reference to `bufalloc'
/usr/local/lib/libmpeg2encpp.a(picturereader.o): In function `PictureReader::ReadFrame(int)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picturereader.cc:95: undefined reference to `mjpeg_error'
/usr/local/lib/libmpeg2encpp.a(picturereader.o): In function `PictureReader::FillBufferUpto(int)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/picturereader.cc:84: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(predict.o): In function `MacroBlock::Predict()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/predict.cc:345: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/predict.cc:415: undefined reference to `mjpeg_error_exit1'
/usr/local/lib/libmpeg2encpp.a(streamstate.o): In function `StreamState::GopStart()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/streamstate.cc:264: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(streamstate.o): In function `StreamState::Init()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/streamstate.cc:45: undefined reference to `mjpeg_debug'
/usr/local/lib/libmpeg2encpp.a(streamstate.o): In function `StreamState::Next(unsigned long)':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/streamstate.cc:155: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(streamstate.o): In function `StreamState::GopStart()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/streamstate.cc:308: undefined reference to `mjpeg_error_exit1'
/usr/local/lib/libmpeg2encpp.a(idct.o): In function `dct_test_and_print':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/idct.c:304: undefined reference to `mjpeg_info'
/usr/local/lib/libmpeg2encpp.a(conform.o): In function `EncoderParams::RangeChecks()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:137: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:139: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:147: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:145: undefined reference to `mjpeg_error_exit1'
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:161: undefined reference to `mjpeg_error_exit1'
/usr/local/lib/libmpeg2encpp.a(conform.o):/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:159: more undefined references to `mjpeg_error_exit1' follow
/usr/local/lib/libmpeg2encpp.a(conform.o): In function `EncoderParams::ProfileAndLevelChecks()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/conform.cc:220: undefined reference to `mjpeg_warn'
/usr/local/lib/libmpeg2encpp.a(elemstrmwriter.o): In function `ElemStrmFragBuf::AdjustBuffer()':
/home/oscord/gst/mjpegtools-2.1.0/mpeg2enc/elemstrmwriter.cc:99: undefined reference to `mjpeg_error_exit1'
collect2: error: ld returned 1 exit status
configure:61561: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GStreamer Bad Plug-ins"
| #define PACKAGE_TARNAME "gst-plugins-bad"
| #define PACKAGE_VERSION "1.15.0.1"
| #define PACKAGE_STRING "GStreamer Bad Plug-ins 1.15.0.1"
| #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer"
| #define PACKAGE_URL ""
| #define PACKAGE "gst-plugins-bad"
| #define VERSION "1.15.0.1"
| #define GST_API_VERSION "1.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define ENABLE_NLS 1
| #define HAVE_GETTEXT 1
| #define HAVE_DCGETTEXT 1
| #define GETTEXT_PACKAGE "gst-plugins-bad-1.0"
| #define LOCALEDIR "/usr/local/share/locale"
| #define GST_ENABLE_EXTRA_CHECKS 1
| #define GST_PACKAGE_NAME "GStreamer Bad Plug-ins git"
| #define GST_PACKAGE_ORIGIN "Unknown package origin"
| #define HAVE_EXTERNAL /**/
| #define HAVE_CPU_X86_64 1
| #define HOST_CPU "x86_64"
| #define TARGET_CPU "x86_64"
| #define HAVE_DOWHILE_MACROS 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_MMAP 1
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_GMTIME_R 1
| #define HAVE_PIPE2 1
| #define HAVE_SYS_UTSNAME_H 1
| #define GIO_MODULE_DIR "/usr/lib64/gio/modules"
| #define GIO_LIBDIR "/usr/lib64"
| #define GIO_PREFIX "/usr"
| #define HAVE_X11 1
| #define HAVE_ORC 1
| #define GST_LICENSE "LGPL"
| #define LIBDIR "/usr/local/lib"
| #define PLUGINDIR "/usr/local/lib/gstreamer-1.0"
| #define GST_PACKAGE_RELEASE_DATETIME "2019-01-03T05:26Z"
| #define GST_LEVEL_DEFAULT GST_LEVEL_ERROR
| #define DEFAULT_AUDIOSINK "autoaudiosink"
| #define DEFAULT_AUDIOSRC "alsasrc"
| #define DEFAULT_VIDEOSINK "autovideosink"
| #define DEFAULT_VIDEOSRC "v4l2src"
| #define DEFAULT_VISUALIZER "goom"
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SHM /**/
| #define HAVE_IPCPIPELINE /**/
| #define HAVE_VCD /**/
| #define HAVE_CUDA /**/
| #define HAVE_BZ2 /**/
| #define HAVE_DECKLINK /**/
| #define HAVE_FBDEV /**/
| #define HAVE_FDK_AAC_0_1_4 1
| #define HAVE_FDK_AAC /**/
| #define HAVE_KMS /**/
| #define GST_MJPEGTOOLS_API 20000
| /* end confdefs.h. */
|
| #include <mpeg2encoder.hh>
| #include <mpeg2encoptions.hh>
|
| int
| main (int argc,
| char *argv[])
| {
| MPEG2EncOptions *options = new MPEG2EncOptions ();
| MPEG2Encoder *encoder = new MPEG2Encoder (*options);
| return 0;
| }
|
configure:61590: result: no
configure:61638: *** These plugins will not be built: mpeg2enc
...
```
please advise on the proper method to add mpeg2enc
Thanks a Happy New Year!https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/861msdk: "GStreamer-CRITICAL: gst_buffer_resize_range failed" SPAM2020-06-25T09:14:05ZU. Artie Eoffmsdk: "GStreamer-CRITICAL: gst_buffer_resize_range failed" SPAMMany gst msdk encode pipelines generate lots of ```(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.478: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed``` messages:
```
$ LIBVA_DRIVER_NAME=iHD gst-l...Many gst msdk encode pipelines generate lots of ```(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.478: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed``` messages:
```
$ LIBVA_DRIVER_NAME=iHD gst-launch-1.0 -vf filesrc \
location=/opt/media/src/assets/otc-media/yuv/MOBILE_352x288_30_orig_01_352x288_I420.yuv num-buffers=300 \
! rawvideoparse format=i420 width=352 height=288 framerate=25 \
! msdkh265enc rate-control=cbr bitrate=500 gop-size=30 num-slices=4 b-frames=2 hardware=true \
! video/x-h265,profile=main ! h265parse ! filesink location=output.h265
Setting pipeline to PAUSED ...
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'msdkh265enc0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext0";
/GstPipeline:pipeline0/GstRawVideoParse:rawvideoparse0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)352, height=(int)288, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
Redistribute latency...
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)352, height=(int)288, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstMsdkH265Enc:msdkh265enc0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.475: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.478: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, tier=(string)main
[2019-01-03 16:41:29] /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)main, level=(string)2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)25/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, tier=(string)main
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.481: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.483: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
(gst-launch-1.0:29670): GStreamer-CRITICAL **: 16:41:29.487: gst_buffer_resize_range: assertion 'bufmax >= bufoffs + offset + size' failed
<snip> previous message repeats many times </snip>
```
Software stack:
```
libva (master) heads/master-0-g382acf1 https://github.com/01org/libva
gmmlib (master) intel-gmmlib-18.4.1-0-g413896e https://github.com/intel/gmmlib
intel-vaapi-driver (master) heads/master-0-g72f10f1 https://github.com/01org/intel-vaapi-driver
intel-media-driver (master) heads/master-0-g8968471 https://github.com/intel/media-driver
msdk (master) heads/master-0-g750cfb4 https://github.com/Intel-Media-SDK/MediaSDK
gstreamer (master) heads/master-0-g74b9e72 http://anongit.freedesktop.org/git/gstreamer/gstreamer
gst-plugins-base (master) heads/master-0-ga95ab79 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-base
gst-plugins-good (master) heads/master-0-gec93160 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-good
gst-plugins-bad (master) heads/master-0-g2f05ee9 https://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad
gstreamer-vaapi (master) heads/master-0-ge4ae7d9 https://anongit.freedesktop.org/git/gstreamer/gstreamer-vaapi
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/862msdk: error message "gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)" occ...2019-02-02T17:08:27Zwangzhanjunmsdk: error message "gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)" occurs during decodingSystem Environment
=======
* Platform: KBL
* Arch: x86_64
* Kernel: 4.18.0+
* libva commit 566a1388b4e5961fb73d0fd03058d50c5965a7f4
* media_driver commit 8968471978818839fed845ce918843a9ef3210c9
* mediasdk commit 750cfb4776023fb5a9b24...System Environment
=======
* Platform: KBL
* Arch: x86_64
* Kernel: 4.18.0+
* libva commit 566a1388b4e5961fb73d0fd03058d50c5965a7f4
* media_driver commit 8968471978818839fed845ce918843a9ef3210c9
* mediasdk commit 750cfb4776023fb5a9b2481c1bf1956ab5568651
* gstreamer master branch 74b9e72ec6b0963661c5c370e634f6fc9444057f
* gst-plugin-bad commit 2f05ee9ba9a7bbdde761c8da1fe330a58b1c4687
Reproduce Steps
==============
* gst-launch-1.0 -vf filesrc location=/media_stream/assets/yuv/1080p_blue_sky_1920x1080_I420.yuv num-buffers=150 ! rawvideoparse format=i420 width=1920 height=1080 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=cbr bitrate=1000 gop-size=12 num-slices=4 b-frames=0 hardware=true ! video/x-h264,profile=high ! h264parse ! filesink location=./test.h264
* gst-launch-1.0 -vf filesrc location=./test.h264 ! h264parse ! msdkh264dec hardware=true ! videoconvert ! video/x-raw,format=I420 ! fakesink
* error message info
(gst-launch-1.0:25628): GStreamer-CRITICAL **: gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)' failedhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/863msdk: it will overflow when set max-vbv-bitrate more than 65535 Kbps2019-01-11T10:40:41Zwangzhanjunmsdk: it will overflow when set max-vbv-bitrate more than 65535 KbpsSystem Environment
* Platform: KBL
* Arch: x86_64
* Kernel: 4.18.0+
* libva commit 566a1388b4e5961fb73d0fd03058d50c5965a7f4
* media_driver commit 8968471978818839fed845ce918843a9ef3210c9
* mediasdk commit 750cfb4776023fb5a9b2481c1bf1956...System Environment
* Platform: KBL
* Arch: x86_64
* Kernel: 4.18.0+
* libva commit 566a1388b4e5961fb73d0fd03058d50c5965a7f4
* media_driver commit 8968471978818839fed845ce918843a9ef3210c9
* mediasdk commit 750cfb4776023fb5a9b2481c1bf1956ab5568651
* gstreamer master branch 74b9e72ec6b0963661c5c370e634f6fc9444057f
* gst-plugin-bad commit 2f05ee9b
Reproduce Steps
* gst-launch-1.0 -vf filesrc location=/media_stream/assets/yuv/4k_2013_3840x2160_I420.yuv num-buffers=75 ! rawvideoparse format=i420 width=3840 height=2160 framerate=25 ! videoconvert ! video/x-raw,format=NV12 ! msdkh264enc rate-control=vbr bitrate=100000 max-vbv-bitrate=200000 gop-size=12 num-slices=1 b-frames=0 hardware=true ref-frames=1 target-usage=4 ! video/x-h264,profile=high ! h264parse ! filesink location=./test.h264
* when set bitrate as 100000, and set max-vbv-bitrate as 200000, it will overflow for max-vbv-bitrate
* (gst-launch-1.0:20613): GLib-GObject-WARNING **: value "200000" of type 'guint' is invalid or out of range for property 'max-vbv-bitrate' of type 'guint'https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1551va: postproc: cannot negotiate different caps features2021-03-31T15:29:07ZVíctor Manuel Jáquez Lealva: postproc: cannot negotiate different caps featuresWith https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2045 now this pipeline doesn't work anymore:
```
gst-launch-1.0 filesrc location=~/file.mp4 ! parsebin ! vah264dec ! video/x-raw\(memory:VAMemory\) ! vapostp...With https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2045 now this pipeline doesn't work anymore:
```
gst-launch-1.0 filesrc location=~/file.mp4 ! parsebin ! vah264dec ! video/x-raw\(memory:VAMemory\) ! vapostproc ! xvimagesink
```
Because now all the caps features that are not part of the processed caps are removed, so no other possible caps features are negotiated in the other direction.
Reverting commit f7eb93e2 the functionality is recovered.
Still there's room for improvement: it is possible to remove, from the caps template to append, the structures with caps features from the received caps to process.
Cc: @He_Junyanhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/864elements_camerabin.test_image_video_cycle occasionally fails2021-10-12T20:05:42ZJordan Petridіselements_camerabin.test_image_video_cycle occasionally failsCI Log: https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/77195
Output:
```sh
check.gst-plugins-bad.elements_camerabin.test_image_video_cycle: Failed 'Application returned 1'
You can reproduce with: GST_PLUGIN_SYSTEM_PATH_1_...CI Log: https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/77195
Output:
```sh
check.gst-plugins-bad.elements_camerabin.test_image_video_cycle: Failed 'Application returned 1'
You can reproduce with: GST_PLUGIN_SYSTEM_PATH_1_0='' GST_STATE_IGNORE_ELEMENTS='' GST_PLUGIN_PATH_1_0='/builds/alatiera/gst-ci/gst-build/build' GST_REGISTRY='/builds/alatiera/gst-ci/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_camerabin.registry' GST_PLUGIN_LOADING_WHITELIST='gstreamer:gst-plugins-base:gst-plugins-good:gst-plugins-ugly:gst-libav:gst-plugins-bad@/builds/alatiera/gst-ci/gst-build/build' CK_DEFAULT_TIMEOUT='20' GST_CHECKS='test_image_video_cycle' /builds/alatiera/gst-ci/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_camerabin
Dumping log files on failure
Dumping contents of /builds/alatiera/gst-ci/validate-output/logs/check/gst-plugins-bad/elements_camerabin/test_image_video_cycle
=================
Test name: check.gst-plugins-bad.elements_camerabin.test_image_video_cycle
Command: '/builds/alatiera/gst-ci/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_camerabin'
=================
Running suite(s): camerabin
Unexpected critical/warning:
Trying to dispose element audiotestsrc0, but it is in READY (locked) instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
Stack trace:
gst_debug_get_stack_trace (gstinfo.c:2788)
gst_check_log_critical_func (gstcheck.c:281)
g_logv (/usr/lib64/libglib-2.0.so.0.5800.2:0x7f69ed3a34fb)
g_log (/usr/lib64/libglib-2.0.so.0.5800.2:0x7f69ed3a36ef)
g_object_unref (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7f69ed30d8c4)
gst_bin_remove_func (gstbin.c:1809)
gst_bin_remove (gstbin.c:1884)
gst_bin_dispose (gstbin.c:527)
g_object_unref (/usr/lib64/libgobject-2.0.so.0.5800.2:0x7f69ed30d8c4)
teardown (camerabin.c:743)
srunner_run_teardown (check_run.c:356)
srunner_run_tagged (check_run.c:370)
gst_check_run_suite (gstcheck.c:1067)
main (camerabin.c:1995)
__libc_start_main (/usr/lib64/libc-2.28.so:0x7f69ed13340f)
_start (/builds/alatiera/gst-ci/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_camerabin:0x403aea)
0%: Checks: 1, Failures: 1, Errors: 0
../subprojects/gstreamer/libs/gst/check/gstcheck.c:286:S:wrappercamerabinsrc:test_image_video_cycle:0: Unexpected critical/warning:
Trying to dispose element audiotestsrc0, but it is in READY (locked) instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
Check suite camerabin ran in 15.020s (tests failed: 1)
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/8671.14.4 -- Linking error related to webrtc example2022-04-08T13:02:57ZDavid Ing1.14.4 -- Linking error related to webrtc exampleI am running a build of gstreamer `1.14.4` in a properly isolated environment (via docker) where `pkg-config` cannot find any **old** versions of gstreamer packages which might have been installed on the system before.
I observed a link...I am running a build of gstreamer `1.14.4` in a properly isolated environment (via docker) where `pkg-config` cannot find any **old** versions of gstreamer packages which might have been installed on the system before.
I observed a linking error.
```
[798/811] Linking target tests/examples/webrtc/webrtcbidirectional.
FAILED: tests/examples/webrtc/webrtcbidirectional
cc -o tests/examples/webrtc/webrtcbidirectional 'tests/examples/webrtc/a19cb77@@webrtcbidirectional@exe/webrtcbidirectional.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group gst-libs/gst/webrtc/libgstwebrtc-1.0.so.0.1404.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstbase-1.0.so /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../gst-libs/gst/webrtc' -Wl,-rpath-link,/home/default_user/.conan/data/gst-plugins-bad/1.14.4/my_conan_user/my_conan_channel/build/fbfbadda4735378a716624138532814c1b5a5b9b/build/gst-libs/gst/webrtc
/usr/bin/ld: warning: libgstrtp-1.0.so.0, needed by /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so, not found (try using -rpath or -rpath-link)
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_name'
collect2: error: ld returned 1 exit status
[799/811] Linking target tests/check/libs_vp8parser.
[800/811] Linking target tests/check/libs_mpegvideoparser.
[801/811] Compiling C object 'tests/examples/webrtc/a19cb77@@webrtc@exe/webrtc.c.o'.
[802/811] Linking target tests/examples/webrtc/webrtcswap.
FAILED: tests/examples/webrtc/webrtcswap
cc -o tests/examples/webrtc/webrtcswap 'tests/examples/webrtc/a19cb77@@webrtcswap@exe/webrtcswap.c.o' -Wl,--no-undefined -Wl,--as-needed -Wl,--start-group gst-libs/gst/webrtc/libgstwebrtc-1.0.so.0.1404.0 /usr/lib/x86_64-linux-gnu/libglib-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /home/default_user/.conan/data/gstreamer/1.14.4/my_conan_user/my_conan_channel/package/4e54a2085b064ce4acf33d77f8e46b7ddb19327e/lib/libgstbase-1.0.so /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../../gst-libs/gst/webrtc' -Wl,-rpath-link,/home/default_user/.conan/data/gst-plugins-bad/1.14.4/my_conan_user/my_conan_channel/build/fbfbadda4735378a716624138532814c1b5a5b9b/build/gst-libs/gst/webrtc
/usr/bin/ld: warning: libgstrtp-1.0.so.0, needed by /home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so, not found (try using -rpath or -rpath-link)
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
/home/default_user/.conan/data/gst-plugins-base/1.14.4/my_conan_user/my_conan_channel/package/dfae0ad53239c3635b1bcbc0d33fb8115366adef/lib/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_name'
collect2: error: ld returned 1 exit status
[803/811] Compiling C object 'tests/check/7d01337@@libs_vc1parser@exe/libs_vc1parser.c.o'.
[804/811] Compiling C object 'tests/examples/webrtc/a19cb77@@webrtctransceiver@exe/webrtctransceiver.c.o'.
[805/811] Compiling C object 'tests/examples/mpegts/8072a2e@@tsparser@exe/ts-parser.c.o'.
[806/811] Compiling C object 'tests/examples/0ff8f0c@@playout@exe/playout.c.o'.
ninja: build stopped: subcommand failed.
```
I fixed this error by disabling the `webrtc` example in my local branch as follows:
```
From 63b8f3ea8e6c0a443168f294b704be0496de08eb Mon Sep 17 00:00:00 2001
From: "A. David Ing" <ing.dave@gmail.com>
Date: Tue, 8 Jan 2019 14:30:51 -0800
Subject: [PATCH] disable webrtc example
---
tests/examples/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/examples/meson.build b/tests/examples/meson.build
index 356587f69..b91126bba 100644
--- a/tests/examples/meson.build
+++ b/tests/examples/meson.build
@@ -11,7 +11,7 @@ subdir('mpegts')
#subdir('opencv')
#subdir('uvch264')
#subdir('waylandsink')
-subdir('webrtc')
+#subdir('webrtc')
executable('playout',
'playout.c',
--
2.17.1
```
The fix (described above) is just disabling an example, but there is probably a better way to fix this bug which allows the example to stay in.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/868wasapisrc and wasapisink segfault in `_delay()` when exclusive=true low-laten...2021-09-24T15:42:41ZNirbheek Chauhannirbheek.chauhan@gmail.comwasapisrc and wasapisink segfault in `_delay()` when exclusive=true low-latency=trueThis is not a regression. The workaround is to use `provide-clock=false` when using both `exclusive=true` and `low-latency=true`. This is also why I didn't notice it in my testing many months ago.
The segfault seems to be caused due to ...This is not a regression. The workaround is to use `provide-clock=false` when using both `exclusive=true` and `low-latency=true`. This is also why I didn't notice it in my testing many months ago.
The segfault seems to be caused due to calling `IAudioClient_GetCurrentPadding()` from a thread that's not the main thread in which COM has been initialized. See also: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/128.Nirbheek Chauhannirbheek.chauhan@gmail.comNirbheek Chauhannirbheek.chauhan@gmail.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/869missing rtmpsink with credentials (pubUser:pubPasswd)2021-09-24T14:36:55ZAlexandermissing rtmpsink with credentials (pubUser:pubPasswd)After struggling and diving through code for several hours last night I ended up concluding that the rtmpsink in gstreamer does not support using user:pass credentials.
In principle librtmp should support this. Typically using the argum...After struggling and diving through code for several hours last night I ended up concluding that the rtmpsink in gstreamer does not support using user:pass credentials.
In principle librtmp should support this. Typically using the arguments ``pubUser`` and ``pubPasswd`` however a pipeline such as ``rtmpsink location="rtmp://url/app/key live=true pubUser=username pubPasswd=password"`` does not work.
I have looked at OBS, which also uses librtmp but apparently are maintaining a fork inside their source-tree:
https://github.com/obsproject/obs-studio/blob/06488a55ce6728edf11bd0db47a164a70633936a/plugins/obs-outputs/librtmp/rtmp.c#L3347
Thus I'm not sure where all the differences are and why it is currently not possible to use this in gstreamer.
Hopefully someone with more knowledge than me can figure this one out.
cheers
ps;
I ended up using a named pipe and ffmpeg for the output, which currently has their own rtmp implementation that uses a ``rtmp://user:pass@url`` type of connect-uri
Of course it would be preferred to have the output directly in gstreamer.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/870Bundle libusrsctp with the plugin2020-10-14T13:36:32ZSebastian DrögeBundle libusrsctp with the pluginCC @ystreet
I think no sane distro would package libusrsctp and Debian definitely does not. Also e.g. Firefox and Chrome are bundling the code too.
There's probably also no API stability guarantee at all for it, and by bundling the co...CC @ystreet
I think no sane distro would package libusrsctp and Debian definitely does not. Also e.g. Firefox and Chrome are bundling the code too.
There's probably also no API stability guarantee at all for it, and by bundling the code we would also get around some of the problems with the library: global state shared between different users of the library.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/871GL plugin build failure using meson in 1.142020-05-19T01:57:37ZBastien NoceraGL plugin build failure using meson in 1.14This happens both in a Flatpak with the 18.08 fd.o runtime, and Fedora 29.
```
$ git clone git@gitlab.freedesktop.org:gstreamer/gst-plugins-bad.git
$ cd gst-plugins-bad
$ git checkout -b 1.14 origin/1.14
$ meson _build
$ cd _build
$ nin...This happens both in a Flatpak with the 18.08 fd.o runtime, and Fedora 29.
```
$ git clone git@gitlab.freedesktop.org:gstreamer/gst-plugins-bad.git
$ cd gst-plugins-bad
$ git checkout -b 1.14 origin/1.14
$ meson _build
$ cd _build
$ ninja
FAILED: ext/gl/libgstopenglmixers.so
cc -o ext/gl/libgstopenglmixers.so 'ext/gl/35d3624@@gstopenglmixers@sha/gstopengl.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglbasemixer.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglmixerbin.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglmixer.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglvideomixer.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglstereomix.c.o' 'ext/gl/35d3624@@gstopenglmixers@sha/gstglutils.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgstopenglmixers.so gst-libs/gst/video/libgstbadvideo-1.0.so.0.1404.0 /usr/lib64/libgstvideo-1.0.so /usr/lib64/libgstbase-1.0.so /usr/lib64/libgstreamer-1.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so /usr/lib64/libgstgl-1.0.so /usr/lib64/libgstcontroller-1.0.so -lm /usr/lib64/libX11.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/../../gst-libs/gst/video' -Wl,-rpath-link,/tmp/gst-plugins-bad/_build/gst-libs/gst/video
/usr/bin/ld: ext/gl/35d3624@@gstopenglmixers@sha/gstopengl.c.o: in function `plugin_init':
/tmp/gst-plugins-bad/_build/../ext/gl/gstopengl.c:99: undefined reference to `gst_gl_mosaic_get_type'
collect2: error: ld returned 1 exit status
[486/627] Compiling C object 'ext/hls/7059488@@gsthls@sha/gsthlsdemux.c.o'.
ninja: build stopped: subcommand failed.
```1.14.5Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/872webrtc - syntax error in generated SDP anwer2019-01-19T13:42:52ZPeter Gertenwebrtc - syntax error in generated SDP anwerI am trying to establish a WebRTC connection to Janus gateway. Janus creates the SDP offer. If using only a video stream, everything works. If the SDP offer contains a video and a datachannel, gstreamer webrtc produces a SDP answer with ...I am trying to establish a WebRTC connection to Janus gateway. Janus creates the SDP offer. If using only a video stream, everything works. If the SDP offer contains a video and a datachannel, gstreamer webrtc produces a SDP answer with syntax error as well as missing parts for the datachannel description.
Syntax error in line 17 of sdp_answer.txt
[sdp_offer.txt](/uploads/fa7c84cc9d59192da94e420f3c3b1dce/sdp_offer.txt)
[sdp_answer.txt](/uploads/be74f8e3c17abf735d264c0f0905494e/sdp_answer.txt)
GStreamer 1.14.4https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/873fdkaacdec: Failed to build using fdk-aac < 0.1.42019-01-25T20:52:25ZYeongjin Jeonggingerbk247@gmail.comfdkaacdec: Failed to build using fdk-aac < 0.1.4With the old versions fdk-aac < 0.1.4 installed, compilation of the fdkaac plugin from git master fails with the following error:
```bash
gstfdkaacdec.c:154:41: error: ‘AAC_PCM_MAX_OUTPUT_CHANNELS’ undeclared (first use in this function...With the old versions fdk-aac < 0.1.4 installed, compilation of the fdkaac plugin from git master fails with the following error:
```bash
gstfdkaacdec.c:154:41: error: ‘AAC_PCM_MAX_OUTPUT_CHANNELS’ undeclared (first use in this function)
err = aacDecoder_SetParam (self->dec, AAC_PCM_MAX_OUTPUT_CHANNELS, 0);
^
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/874srtserversink segfaults on trivial example after recent refactoring2019-01-23T12:06:44ZNiklas Hambüchensrtserversink segfaults on trivial example after recent refactoringIn https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/0a350c610dab54dcdf55b45a0293fff048d24bb3#0faea13838a1ac78ccb75e39c245f0971bb6f35e_0_945 a refactoring was done to `srt`.
The change makes the code segfault on common exa...In https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/0a350c610dab54dcdf55b45a0293fff048d24bb3#0faea13838a1ac78ccb75e39c245f0971bb6f35e_0_945 a refactoring was done to `srt`.
The change makes the code segfault on common examples like the one on https://www.collabora.com/news-and-blog/blog/2018/02/16/srt-in-gstreamer/:
`srtserversink uri=srt://:8888/` <- hostname part is empty in the xample
In the code, `gst_uri_get_host (srtobject->uri)` will return `NULL` as per [docs](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstUri.html#gst-uri-get-host):
> Get the host name from the URI or `NULL` if it doesn't exist.
and then `g_inet_socket_address_new_from_string()` will segfault on it.
CC @joykim
---
This refactoring breaking basic functionality also suggests test coverage isn't sufficient.
Are there any tests for the SRT module?1.15.xhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/875mpegtspacketizer: Not enough information to calculate proper timestamp when p...2022-06-29T09:10:35Zdirac bracketmpegtspacketizer: Not enough information to calculate proper timestamp when playing radio streamHi,
I am on Debian 9.5 using GStreamer 1.10.4 and was trying to get the following radio stream URI to play:
```
http://kong.kbskme.gscdn.com/1fm/_definst_/1fm.stream/playlist.m3u8?_lsu_sa_=3c659434ccaf31a3e487c7ac3f91273d138c6da2308db4...Hi,
I am on Debian 9.5 using GStreamer 1.10.4 and was trying to get the following radio stream URI to play:
```
http://kong.kbskme.gscdn.com/1fm/_definst_/1fm.stream/playlist.m3u8?_lsu_sa_=3c659434ccaf31a3e487c7ac3f91273d138c6da2308db4ff6d84653b703034a987d8defc35733864acfc38d5dcb24358235664fa74b665a0aa1808b70d504d61efebb17d2c38ff66efc58c0f860e1f43
```
This is what the command line output is when using gst-launch-1.0 -v playbin3:
```
umagi@debian:~$ gst-launch-1.0 -v playbin3 uri=http://kong.kbskme.gscdn.com/1fm/_definst_/1fm.stream/playlist.m3u8?_lsu_sa_=3c659434ccaf31a3e487c7ac3f91273d138c6da2308db4ff6d84653b703034a987d8defc35733864acfc38d5dcb24358235664fa74b665a0aa1808b70d504d61efebb17d2c38ff66efc58c0f860e1f43
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: ring-buffer-max-size = 0
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: buffer-size = -1
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: buffer-duration = -1
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: use-buffering = false
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: download = false
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: uri = http://kong.kbskme.gscdn.com/1fm/_definst_/1fm.stream/playlist.m3u8?_lsu_sa_=3c659434ccaf31a3e487c7ac3f91273d138c6da2308db4ff6d84653b703034a987d8defc35733864acfc38d5dcb24358235664fa74b665a0aa1808b70d504d61efebb17d2c38ff66efc58c0f860e1f43
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: connection-speed = 0
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ source"
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:src_0: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-1.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-1.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink.GstProxyPad:proxypad3: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTSDemux:tsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0.GstProxyPad:proxypad2: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPlayBin3:playbin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)2, stream-format=(string)adts
buffering... 0%
```
But nothing happens.
Since this kind of URI plays OK in VLC this does not seem to be a server-side issue.
Following the suggestions and help of Philippe Normand to my post on this issue on the GStreamer-devel mail list
[read post](http://gstreamer-devel.966125.n4.nabble.com/How-to-play-internet-radio-URL-with-query-td4689399.html), I added the gst.log and the stream.ts capture file in attach.
The gst.log file shows a flurry of warnings of the kind:
```
0:00:00.287885677 6377 0x555e54214630 WARN mpegtspacketizer mpegtspacketizer.c:2331:mpegts_packetizer_pts_to_ts: Not enough information to calculate proper timestamp
```
[gst.log](/uploads/8b0ebdebd3f2383b9ac8b106ef432fb9/gst.log)[stream.ts](/uploads/8b3e74bed7a0e1fe050cf854dd08e397/stream.ts)
Can you have a check?
Thanks!https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/876Memory leak with curlhttpsrc and adaptivedemux2019-02-19T18:50:19Zgurram sandeep ReddyMemory leak with curlhttpsrc and adaptivedemuxI have a pipeline to play DASH content. I have replaced souphttpsrc with curlhttpsrc but observed memory leaks with curlhttpsrc and adaptivedemux. The pipeline will be created only once and mpd data will be updated on url change(channel...I have a pipeline to play DASH content. I have replaced souphttpsrc with curlhttpsrc but observed memory leaks with curlhttpsrc and adaptivedemux. The pipeline will be created only once and mpd data will be updated on url change(channel Zap). Valgrind shows the leaks as below
* ==2989== 243 bytes in 18 blocks are definitely lost in loss record 7,766 of 8,397
* ==2989== at 0x483E590: malloc (vg_replace_malloc.c:299)
* ==2989== by 0x5058E7F: vasprintf (vasprintf.c:73)
* ==2989== by 0x4D6F28B: g_vasprintf (gprintf.c:316)
* ==2989== by 0x4D4D113: g_strdup_vprintf (gstrfuncs.c:514)
* ==2989== by 0x4D4D137: g_strdup_printf (gstrfuncs.c:540)
* ==2989== by 0x4BC2F57: gst_object_set_name_default (gstobject.c:546)
* ==2989== by 0x4BC2F57: gst_object_set_name (gstobject.c:609)
* ==2989== by 0x51641A7: object_set_property (gobject.c:1421)
* ==2989== by 0x51647B7: g_object_new_internal (gobject.c:1815)
* ==2989== by 0x516618F: g_object_newv (gobject.c:1928)
* ==2989== by 0x5166803: g_object_new (gobject.c:1621)
* ==2989== by 0x4BF790F: gst_element_factory_create (gstelementfactory.c:372)
* ==2989== by 0x4C534AB: gst_element_make_from_uri (gsturi.c:660)
* ==2989== by 0xBEEA1EB: gst_adaptive_demux_stream_update_source (gstadaptivedemux.c:2944)
* ==2989== by 0xBEEA1EB: gst_adaptive_demux_stream_download_uri (gstadaptivedemux.c:3097)
* ==2989== by 0xBEEC42B: gst_adaptive_demux_stream_download_header_fragment (gstadaptivedemux.c:3259)
* ==2989== by 0xBEEC42B: gst_adaptive_demux_stream_download_fragment (gstadaptivedemux.c:3314)
* ==2989== by 0xBEEC42B: gst_adaptive_demux_stream_download_loop (gstadaptivedemux.c:3739)
* ==2989== by 0x4C4C867: gst_task_func (gsttask.c:332)
* ==2989== by 0x4D55C2F: g_thread_pool_thread_proxy (gthreadpool.c:307)
* ==2989== by 0x4D553CF: g_thread_proxy (gthread.c:780)
* ==2989== by 0x4B805D7: start_thread (pthread_create.c:335)
* ==2989== by 0x50A2101: ??? (clone.S:86)
* =2989== 16,220 (720 direct, 15,500 indirect) bytes in 45 blocks are definitely lost in loss record 8,363 of 8,397
* ==2989== at 0x483E590: malloc (vg_replace_malloc.c:299)
* ==2989== by 0x4D398A7: g_malloc (gmem.c:94)
* ==2989== by 0x4D4BCBB: g_slice_alloc (gslice.c:1025)
* ==2989== by 0x4C3E1F3: gst_structure_new_id_empty_with_size (gststructure.c:147)
* ==2989== by 0x4C3FFAB: gst_structure_new_valist (gststructure.c:283)
* ==2989== by 0x4C3FFDF: gst_structure_new (gststructure.c:255)
* ==2989== by 0xD8ACE8F: gst_curl_http_src_handle_response (gstcurlhttpsrc.c:1179)
* ==2989== by 0xD8ACE8F: gst_curl_http_src_create (gstcurlhttpsrc.c:818)
* ==2989== by 0xBDC6DF7: gst_base_src_get_range (gstbasesrc.c:2512)
* ==2989== by 0xBDC8563: gst_base_src_loop (gstbasesrc.c:2836)
* ==2989== by 0x4C4C867: gst_task_func (gsttask.c:332)
* ==2989== by 0x4D55C2F: g_thread_pool_thread_proxy (gthreadpool.c:307)
* ==2989== by 0x4D553CF: g_thread_proxy (gthread.c:780)
* ==2989== by 0x4B805D7: start_thread (pthread_create.c:335)
* ==2989== by 0x50A2101: ??? (clone.S:86)
Valgrind didn't reported curlhttpsrc leak when I freed http_headers. But adaptivedemux leaks are still reported.
[vg.log](/uploads/f705fd96dece5d86208fb430d02e5575/vg.log)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/877curlhttpsrc: Delay in playback start with DASH compared to souphttpsrc2021-10-20T07:33:26Zgurram sandeep Reddycurlhttpsrc: Delay in playback start with DASH compared to souphttpsrcI have created a pipeline to play DASH content . Initially the pipeline used souphttpsrc ,now I have replaced it with curlhttpsrc. With curlhttpsrc ,I have observed delay in playback start . When I debugged curlhttpsrc , I found the http...I have created a pipeline to play DASH content . Initially the pipeline used souphttpsrc ,now I have replaced it with curlhttpsrc. With curlhttpsrc ,I have observed delay in playback start . When I debugged curlhttpsrc , I found the http requests are queued and select system call with a timeout of 1s . When I reduced the timeout to 50ms ,I observed same delay as souphttpsrc. Is timeout causing this delay or the delay is due to something else?https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/878wpesrc: possible race condition in gst_wpe_src_create()2021-09-24T14:36:56ZPhilippe Normandwpesrc: possible race condition in gst_wpe_src_create()Sometimes the element hits this condition:
```
g_return_val_if_fail(img != NULL, GST_FLOW_ERROR);
```
The element should be able to wait for the first valid EGLImage coming from the WPE backend, filling empty buffers in the mean time.Sometimes the element hits this condition:
```
g_return_val_if_fail(img != NULL, GST_FLOW_ERROR);
```
The element should be able to wait for the first valid EGLImage coming from the WPE backend, filling empty buffers in the mean time.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/879broken element template2023-10-28T02:13:07ZDenisbroken element templateGStreamer Plugin Writer’s Guide refers to gst-plugins-bad/tools/gst-element-maker as to a modern approach to generate skeleton for plugin. It works properly for **basetransform** but fails for **element**. It produces a lot of errors beg...GStreamer Plugin Writer’s Guide refers to gst-plugins-bad/tools/gst-element-maker as to a modern approach to generate skeleton for plugin. It works properly for **basetransform** but fails for **element**. It produces a lot of errors beginning from gsttest.c:61:8: error: unknown type name ‘GstIndex’.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/880opencv: dewarp not found2021-09-24T14:36:56ZWill Bennettopencv: dewarp not foundOn both a Windows (10 64bit, installed from .msi binary) and Linux (Raspbian Lite, installed from APT) system, after installing Gstreamer v1.10, 1.12.4, and 1.14.4, I am unable to use the dewarp element included in the opencv plugin. The...On both a Windows (10 64bit, installed from .msi binary) and Linux (Raspbian Lite, installed from APT) system, after installing Gstreamer v1.10, 1.12.4, and 1.14.4, I am unable to use the dewarp element included in the opencv plugin. The release notes state that dewarp should be in all of those versions, but when using it I am met with `WARNING: erroneous pipeline: no element "dewarp"`. `gst-inspect-1.0 dewarp` also says the element does not exist. I have not tried building from source yet, but it should be included.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/881d3dhelpers.c: fix typo in debug output2019-01-30T16:43:05ZAaron Boxerd3dhelpers.c: fix typo in debug output` "D3D Device has been lost. Cleanup up resources..");` Change to `Clean up`` "D3D Device has been lost. Cleanup up resources..");` Change to `Clean up`https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/882curlhttpsink: If domain name is used instead of IP address the process fails ...2021-09-24T14:36:57ZThomas Schliencurlhttpsink: If domain name is used instead of IP address the process fails with a timeoutHi,
I have a problem using the curlhttpsink in combination with name resolution. If I, e.g., use the command
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://ptsv2.com/t/y0gd6-1548434111`
the comman...Hi,
I have a problem using the curlhttpsink in combination with name resolution. If I, e.g., use the command
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://ptsv2.com/t/y0gd6-1548434111`
the command times out and the curlhttpsink error tells that name resolution has failed. If I use
`gst-launch-1.0 filesrc location=test.wav ! decodebin3 ! curlhttpsink location=http://216.239.32.21/t/y0gd6-1548434111`
everything works fine. I already found out that this has something to do the async processing of the name resolver and found a fix that works for me that is included in 0495511a484222a3aa5c578dd47de1e0ce9b7f66. It would be nice if someone could have a look at the patch and maybe has a better idea to solve the issue. If this solutions looks OK, I would do a merge request in the master branch.
Best regards,
Thomashttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/883srtserversink: clients after very first one take ~8 seconds to begin playing ...2019-02-12T15:57:39ZAaron Boxersrtserversink: clients after very first one take ~8 seconds to begin playing streamLatest master on Ubuntu 18 with kernel 4.20.x
I am seeing something weird: when I connect the first client to the server, it connects and begins playing immediately, while subsequent clients take around 8 seconds to begin playing.
Serv...Latest master on Ubuntu 18 with kernel 4.20.x
I am seeing something weird: when I connect the first client to the server, it connects and begins playing immediately, while subsequent clients take around 8 seconds to begin playing.
Server pipeline:
```
gst-launch-1.0 v4l2src ! video/x-raw, height=480, width=640 ! videoconvert ! x264enc tune=zerolatency ! video/x-h264, profile=high ! mpegtsmux ! srtserversink uri=srt://:7001/
```
Client pipeline:
```
gst-launch-1.0 srtclientsrc ! queue ! decodebin ! autovideosink
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/884retinex element on ubuntu 16.04 (arm64)2019-02-01T11:08:46Zmipsanretinex element on ubuntu 16.04 (arm64)Dear,
I would run Retinex element on ARM64 based ubuntu 16.04/18.04, and installed gstreamer1.0-plugins-bad with apt-get.
However it might do not have retinex element in ARM64 package.
(gst-inspect1.0 retinex returns no element message...Dear,
I would run Retinex element on ARM64 based ubuntu 16.04/18.04, and installed gstreamer1.0-plugins-bad with apt-get.
However it might do not have retinex element in ARM64 package.
(gst-inspect1.0 retinex returns no element message)
How can I try this element on ARM64 H/W?
Thanks,https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/885nvdec/glimagesink memory leaks2019-03-29T04:50:49ZNicolanvdec/glimagesink memory leaksCreate a test file this way:
```
gst-launch-1.0 videotestsrc num-buffers=10 ! openh264enc ! h264parse ! matroskamux ! filesink location=/tmp/test.mkv
```
and then try this pipeline:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! ...Create a test file this way:
```
gst-launch-1.0 videotestsrc num-buffers=10 ! openh264enc ! h264parse ! matroskamux ! filesink location=/tmp/test.mkv
```
and then try this pipeline:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! matroskademux ! h264parse ! nvdec ! fakesink
```
valgrind report no leakeage.
Now try this one:
```
gst-launch-1.0 filesrc location=/tmp/test.mkv ! matroskademux ! h264parse ! nvdec ! glimagesink
```
valgrind reports several leaks:
```
==18166== 176 (64 direct, 112 indirect) bytes in 2 blocks are definitely lost in loss record 3,069 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC2713: gst_base_transform_query_caps (gstbasetransform.c:695)
==18166== by 0x5BC2713: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FAAE4: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:111)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 264 (96 direct, 168 indirect) bytes in 3 blocks are definitely lost in loss record 3,126 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC23BA: gst_base_transform_query_caps (gstbasetransform.c:650)
==18166== by 0x5BC23BA: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FACE8: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:108)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 264 (96 direct, 168 indirect) bytes in 3 blocks are definitely lost in loss record 3,127 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4893D9A: gst_caps_features_new_empty (gstcapsfeatures.c:178)
==18166== by 0x4894BDA: gst_caps_features_from_string (gstcapsfeatures.c:501)
==18166== by 0x7731C36: _dma_buf_upload_transform_caps (gstglupload.c:522)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1817)
==18166== by 0x7732F62: gst_gl_upload_transform_caps (gstglupload.c:1790)
==18166== by 0x5BBEA80: gst_base_transform_transform_caps (gstbasetransform.c:474)
==18166== by 0x5BC2713: gst_base_transform_query_caps (gstbasetransform.c:695)
==18166== by 0x5BC2713: gst_base_transform_default_query (gstbasetransform.c:1550)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4900067: query_caps_func (gstutils.c:2765)
==18166== by 0x48C6C2D: gst_pad_forward (gstpad.c:3007)
==18166== by 0x4902C59: gst_pad_proxy_query_caps (gstutils.c:2815)
==18166== by 0x48C6E53: gst_pad_query_caps_default (gstpad.c:3186)
==18166== by 0x48C6E53: gst_pad_query_default (gstpad.c:3414)
==18166== by 0x48C80CF: gst_pad_query (gstpad.c:4070)
==18166== by 0x48C884A: gst_pad_peer_query (gstpad.c:4202)
==18166== by 0x4905AFB: gst_pad_peer_query_caps (gstutils.c:3107)
==18166== by 0x74FACE8: __gst_video_element_proxy_getcaps (gstvideoutilsprivate.c:108)
==18166== by 0x74F00AC: gst_video_decoder_sink_getcaps (gstvideodecoder.c:1777)
==18166== by 0x74F00AC: gst_video_decoder_sink_query_default (gstvideodecoder.c:1824)
==18166==
==18166== 838 (72 direct, 766 indirect) bytes in 1 blocks are definitely lost in loss record 3,202 of 3,258
==18166== at 0x483977F: malloc (vg_replace_malloc.c:299)
==18166== by 0x4C898D1: g_malloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x4C6A094: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5800.3)
==18166== by 0x488F9CA: gst_caps_new_empty (gstcaps.c:258)
==18166== by 0x488FBE8: gst_caps_new_simple (gstcaps.c:331)
==18166== by 0x74D50EF: gst_video_info_to_caps (video-info.c:628)
==18166== by 0x49AEF37: handle_pending_frames (gstnvdec.c:807)
==18166== by 0x49B25A6: gst_nvdec_handle_frame (gstnvdec.c:972)
==18166== by 0x74E7F2A: gst_video_decoder_decode_frame (gstvideodecoder.c:3433)
==18166== by 0x74ED087: gst_video_decoder_chain_forward (gstvideodecoder.c:2154)
==18166== by 0x74ED790: gst_video_decoder_chain (gstvideodecoder.c:2469)
==18166== by 0x48C2A31: gst_pad_chain_data_unchecked (gstpad.c:4325)
==18166== by 0x48C2A31: gst_pad_push_data (gstpad.c:4581)
==18166== by 0x48C9351: gst_pad_push (gstpad.c:4700)
==18166== by 0x5BA1AD7: gst_base_parse_push_frame (gstbaseparse.c:2580)
==18166== by 0x5BA48EA: gst_base_parse_handle_and_push_frame (gstbaseparse.c:2394)
==18166== by 0x5BA48EA: gst_base_parse_finish_frame (gstbaseparse.c:2738)
==18166== by 0x7692ECA: gst_h264_parse_handle_frame_packetized (gsth264parse.c:1031)
==18166== by 0x7692ECA: gst_h264_parse_handle_frame (gsth264parse.c:1084)
==18166== by 0x5B9C6D1: gst_base_parse_handle_buffer (gstbaseparse.c:2202)
==18166== by 0x5BA27DB: gst_base_parse_chain (gstbaseparse.c:3287)
==18166== by 0x48C2A31: gst_pad_chain_data_unchecked (gstpad.c:4325)
==18166== by 0x48C2A31: gst_pad_push_data (gstpad.c:4581)
==18166== by 0x48C9351: gst_pad_push (gstpad.c:4700)
==18166==
==18166== LEAK SUMMARY:
==18166== definitely lost: 424 bytes in 12 blocks
==18166== indirectly lost: 1,382 bytes in 36 blocks
==18166== possibly lost: 2,408 bytes in 19 blocks
==18166== still reachable: 384,111 bytes in 1,134 blocks
==18166== of which reachable via heuristic:
==18166== length64 : 1,168 bytes in 22 blocks
==18166== newarray : 1,696 bytes in 26 blocks
==18166== suppressed: 659,531 bytes in 3,189 blocks
==18166== Reachable blocks (those to which a pointer was found) are not shown.
==18166== To see them, rerun with: --leak-check=full --show-leak-kinds=all
```
Tested with today git master.
I have no time to investigate further or to fix the leaks now, sorry, I'm only testing the gpu of my new laptop :)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/886Add observers for macOS/iOS AV capture device connected/disconnected notifica...2021-09-24T14:36:57ZJosh MatthewsAdd observers for macOS/iOS AV capture device connected/disconnected notificationshttps://nadavrub.wordpress.com/2015/07/06/macos-media-capture-using-coremediaio/ describes how to use observers to receive notifications that we could use in the start/stop callbacks for the AVF device provider. https://gitlab.freedeskto...https://nadavrub.wordpress.com/2015/07/06/macos-media-capture-using-coremediaio/ describes how to use observers to receive notifications that we could use in the start/stop callbacks for the AVF device provider. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/170#note_109642 describes some of the complications around doing this correctly.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/887[regression] msdkdec: checksum mismatch or double-free in most codecs2019-02-12T12:10:12ZU. Artie Eoff[regression] msdkdec: checksum mismatch or double-free in most codecsSince https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/180
Decoded output between msdk and vaapi codecs do not match. This has been observed with AVC, HEVC, MPEG2, and VC1 codecs. Also, some VP9 decode cases cra...Since https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/180
Decoded output between msdk and vaapi codecs do not match. This has been observed with AVC, HEVC, MPEG2, and VC1 codecs. Also, some VP9 decode cases crash with double-free or corruption error with bad commit.
In this AVC example, observe that msdk is missing the first frame:
```
$ export LIBVA_DRIVER_NAME=iHD
$ export GST_VAAPI_ALL_DRIVERS=1
$ gst-launch-1.0 videotestsrc num-buffers=11 pattern=ball \
! video/x-raw,format=NV12,width=1920,height=1080 \
! msdkh264enc b-frames=3 rate-control=cbr \
! h264parse ! filesink location=test.h264
<snip>
$ gst-launch-1.0 filesrc location=test.h264 \
! h264parse ! msdkh264dec ! checksumsink2 \
file-checksum=true qos=false frame-checksum=true \
plane-checksum=false dump-output=true dump-location=bad.yuv
Setting pipeline to PAUSED ...
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /home/uaeoff/Work/workspace/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
Pipeline is PREROLLING ...
Got context from element 'msdkh264dec0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext0";
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
FrameChecksum a9f8d570e9651ad01092b71c51cc0a71
FrameChecksum a4cbbd90b34b69631f182ac21b24fe96
FrameChecksum f92663d7bc3727ee74c152cfd496e3b3
FrameChecksum 412bad5cbe3103230c240e3d59099ce1
FrameChecksum 2af01664f422eb475b0720014f210e56
FrameChecksum be1437ac76a72eacd3b3ede860104da2
FrameChecksum c3a97dcc23e9b7e72ab830f0dc9a17be
FrameChecksum 994272afe3b2a8f4b9dc32ea23ebc582
FrameChecksum d8d1a2b8fff226f4c99c0e172fe7cc84
FrameChecksum 9445e97e9f46419367d8e7cc2f0b5e8d
Got EOS from element "pipeline0".
Execution ended after 0:00:00.101127303
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
1e95c0135586139fd79d254600526cf1
Freeing pipeline ...
$ gst-launch-1.0 filesrc location=test.h264 \
! h264parse ! vaapih264dec ! checksumsink2 \
file-checksum=true qos=false frame-checksum=true \
plane-checksum=false dump-output=true dump-location=good.yuv
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'vaapidecode_h264-0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapidecode_h264-0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0";
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
FrameChecksum 8dcac5c919eff35248e1f2a7103dbb24
FrameChecksum a9f8d570e9651ad01092b71c51cc0a71
FrameChecksum a4cbbd90b34b69631f182ac21b24fe96
FrameChecksum f92663d7bc3727ee74c152cfd496e3b3
FrameChecksum 412bad5cbe3103230c240e3d59099ce1
FrameChecksum 2af01664f422eb475b0720014f210e56
FrameChecksum be1437ac76a72eacd3b3ede860104da2
FrameChecksum c3a97dcc23e9b7e72ab830f0dc9a17be
FrameChecksum 994272afe3b2a8f4b9dc32ea23ebc582
FrameChecksum d8d1a2b8fff226f4c99c0e172fe7cc84
FrameChecksum 9445e97e9f46419367d8e7cc2f0b5e8d
Got EOS from element "pipeline0".
Execution ended after 0:00:00.161844628
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
a3ba310701e4afa24588ee266c22cf9c
Freeing pipeline ...
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/888wpesrc: fail to use gst-play2019-08-07T07:17:57ZGuillaume Desmotteswpesrc: fail to use gst-playSo this is working: `gst-launch-1.0 -v wpesrc location="https://gnome.org" ! queue ! glimagesink`
But this is not: `gst-play-1.0 --videosink glimagesink wpe://https://gnome.org`
```
gst-play-1.0: /builddir/build/BUILD/wpebackend-fdo-1....So this is working: `gst-launch-1.0 -v wpesrc location="https://gnome.org" ! queue ! glimagesink`
But this is not: `gst-play-1.0 --videosink glimagesink wpe://https://gnome.org`
```
gst-play-1.0: /builddir/build/BUILD/wpebackend-fdo-1.0.0/src/linux-dmabuf/linux-dmabuf.c:482: linux_dmabuf_setup: Assertion `!"Linux-dmabuf has already been initialized"' failed.`
```
I'm using WPE from Fedora 29 packages on an Intel graphic card.
```
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 4.2 (Core Profile) Mesa 18.2.8
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.2.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
```
[gst.log](/uploads/e33cc60453147496505a3d5621bc5019/gst.log)
@philn : let me know if you need more information.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/889webrtcbin: rtcp codec stats are messed up2019-03-12T08:49:31ZAndreas Frischwebrtcbin: rtcp codec stats are messed upi'm regularily querying the RTCP stats of my webrtcbin using the "get-stats" signal.
the reply of the promise is supposed to look kinda like this (transformed into JSON):
```
{
"stats": {
"codec-stats-src_0": {
"clock-rat...i'm regularily querying the RTCP stats of my webrtcbin using the "get-stats" signal.
the reply of the promise is supposed to look kinda like this (transformed into JSON):
```
{
"stats": {
"codec-stats-src_0": {
"clock-rate": 48000,
"id": "codec-stats-src_0",
"payload-type": 111,
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_CODEC"
},
"codec-stats-src_1": {
"clock-rate": 90000,
"id": "codec-stats-src_1",
"payload-type": 100,
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_CODEC"
},
"ice-candidate-pair_webrtcnicetransport0": {
"id": "ice-candidate-pair_webrtcnicetransport0",
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_TRANSPORT"
},
"ice-candidate-pair_webrtcnicetransport2": {
"id": "ice-candidate-pair_webrtcnicetransport2",
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_TRANSPORT"
},
"peer-connection-stats": {
"data-channels-accepted": 0,
"data-channels-closed": 0,
"data-channels-opened": 0,
"data-channels-requested": 0,
"id": "peer-connection-stats",
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_PEER_CONNECTION"
},
"rtp-inbound-stream-stats_2001382111": {
"bytes-received": 157941,
"codec-id": "codec-stats-src_1",
"fir-count": 0,
"id": "rtp-inbound-stream-stats_2001382111",
"jitter": "inf",
"nack-count": 0,
"packets-lost": 0,
"packets-received": 202,
"pli-count": 0,
"remote-id": "rtp-remote-outbound-stream-stats_2001382111",
"ssrc": 2001382111,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport2",
"type": "GST_WEBRTC_STATS_INBOUND_RTP"
},
"rtp-inbound-stream-stats_2060799192": {
"bytes-received": 20752,
"codec-id": "codec-stats-src_0",
"fir-count": 0,
"id": "rtp-inbound-stream-stats_2060799192",
"jitter": "inf",
"nack-count": 0,
"packets-lost": 0,
"packets-received": 214,
"pli-count": 0,
"remote-id": "rtp-remote-outbound-stream-stats_2060799192",
"ssrc": 2060799192,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport0",
"type": "GST_WEBRTC_STATS_INBOUND_RTP"
},
"rtp-outbound-stream-stats_2001382111": {
"bytes-sent": 0,
"codec-id": "codec-stats-src_1",
"fir-count": 1,
"id": "rtp-outbound-stream-stats_2001382111",
"nack-count": 0,
"packets-sent": 0,
"pli-count": 0,
"remote-id": "rtp-remote-inbound-stream-stats_2001382111",
"ssrc": 2001382111,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport2",
"type": "GST_WEBRTC_STATS_OUTBOUND_RTP"
},
"rtp-outbound-stream-stats_2060799192": {
"bytes-sent": 0,
"codec-id": "codec-stats-src_0",
"fir-count": 0,
"id": "rtp-outbound-stream-stats_2060799192",
"nack-count": 0,
"packets-sent": 0,
"pli-count": 0,
"remote-id": "rtp-remote-inbound-stream-stats_2060799192",
"ssrc": 2060799192,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport0",
"type": "GST_WEBRTC_STATS_OUTBOUND_RTP"
},
"rtp-remote-inbound-stream-stats_2001382111": {
"codec-id": "codec-stats-src_1",
"id": "rtp-remote-inbound-stream-stats_2001382111",
"jitter": 0.0,
"local-id": "rtp-outbound-stream-stats_2001382111",
"packets-lost": 0,
"round-trip-time": 0.0,
"ssrc": 2001382111,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport2",
"type": "GST_WEBRTC_STATS_REMOTE_INBOUND_RTP"
},
"rtp-remote-inbound-stream-stats_2060799192": {
"codec-id": "codec-stats-src_0",
"id": "rtp-remote-inbound-stream-stats_2060799192",
"jitter": 0.0,
"local-id": "rtp-outbound-stream-stats_2060799192",
"packets-lost": 0,
"round-trip-time": 0.0,
"ssrc": 2060799192,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport0",
"type": "GST_WEBRTC_STATS_REMOTE_INBOUND_RTP"
},
"rtp-remote-outbound-stream-stats_2001382111": {
"codec-id": "codec-stats-src_1",
"id": "rtp-remote-outbound-stream-stats_2001382111",
"local-id": "rtp-inbound-stream-stats_2001382111",
"ssrc": 2001382111,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport2",
"type": "GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP"
},
"rtp-remote-outbound-stream-stats_2060799192": {
"codec-id": "codec-stats-src_0",
"id": "rtp-remote-outbound-stream-stats_2060799192",
"local-id": "rtp-inbound-stream-stats_2060799192",
"ssrc": 2060799192,
"timestamp": 12445409.612,
"transport-id": "transport-stats_webrtcdtlstransport0",
"type": "GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP"
},
"transport-stats_webrtcdtlstransport0": {
"id": "transport-stats_webrtcdtlstransport0",
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_TRANSPORT"
},
"transport-stats_webrtcdtlstransport2": {
"id": "transport-stats_webrtcdtlstransport2",
"timestamp": 12445409.612,
"type": "GST_WEBRTC_STATS_TRANSPORT"
}
},
"type": "stats"
}
```
starting with commit https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/9f684a2f81ed93dece3ffd120525910df25b7e54
(webrtcbin: implement support for group: BUNDLE) this changes in a way where all stream stats for every stream are still listed and counted seperately but all have either have the "codec-id": "codec-stats-src_1" or _0.
therefore it's hard to distinguish between audio and video packets and it looks like a bug to me.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/890gstmsdk: vp8/vp9 HD (2K, 4K) clips will drop a lot of frames2019-03-27T16:12:01ZDaniel Charlesgstmsdk: vp8/vp9 HD (2K, 4K) clips will drop a lot of framesThis issue is happening on different platforms and behaves worse than using gstreamer-vaapi plugins. This is running on Fedora 29 with GnomeShell (wayland)
The setup includes:
mediasdk 18.4.0
intel-media-driver-18.4.0
gmmlib-18.4.1
li...This issue is happening on different platforms and behaves worse than using gstreamer-vaapi plugins. This is running on Fedora 29 with GnomeShell (wayland)
The setup includes:
mediasdk 18.4.0
intel-media-driver-18.4.0
gmmlib-18.4.1
libva-2.4.0
When using 2K, 4K content and bitrates above 10Mbps, frames will drop considerably.
A frame dropper pipeline
```
GST_GL_PLATFORM=egl LIBVA_DRIVER_NAME=iHD gst-launch-1.0 filesrc location=vp8orvp92k4k.webm ! matroskademux ! msdkvp9dec ! video/x-raw, format=NV12 ! glimagesink
GST_GL_PLATFORM=egl LIBVA_DRIVER_NAME=iHD gst-launch-1.0 filesrc location=vp8orvp92k4k.webm ! matroskademux ! msdkvp9dec ! video/x-raw, format=NV12 ! glimagesink sync=false
```
A working pipeline
```
GST_VAAPI_ALL_DRIVERS=1 GST_GL_PLATFORM=egl LIBVA_DRIVER_NAME=iHD gst-launch-1.0 filesrc location=vp8orvp92k4k.webm ! matroskademux ! vaapivp9dec ! video/x-raw, format=NV12 ! glimagesink sync=false
GST_VAAPI_ALL_DRIVERS=1 GST_GL_PLATFORM=egl LIBVA_DRIVER_NAME=iHD gst-launch-1.0 location=vp8orvp92k4k.webm ! matroskademux ! vaapivp9dec ! video/x-raw, format=NV12 ! glimagesink sync=false
```
This should help rule out a problem in iHD or glimagesink.https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/891gst-plugins-bad, gstsrtpenc: encrypts packets with wrong roc after rollover c...2022-08-10T10:37:38ZGlen Dienerglen@casecracker.comgst-plugins-bad, gstsrtpenc: encrypts packets with wrong roc after rollover counter resets.When running an rtsp server/rtsp client session using SAVP and,
by extension, SRTP, I've observed that a seek_simple() call on the client
pipeline works correctly for a while, but after a few seconds to
a few minutes (depending on the i...When running an rtsp server/rtsp client session using SAVP and,
by extension, SRTP, I've observed that a seek_simple() call on the client
pipeline works correctly for a while, but after a few seconds to
a few minutes (depending on the initial sequence number of the srtp
stream), the call causes the media to appear to freeze. This does
not happen using simple AVP.
I've observed this with gstreamer at 1.12.0, using libsrtp v1.6.0, but
I believe that the issue exists with current master of both systems.
Analysis:
The libsrtp's srtp_dealloc() is invoked from the gstsrtpenc filter, through
gst_srtp_enc_reset_no_lock, in several places. For example, it happens
whenever the encoder receives the GST_EVENT_FLUSH_STOP sink event. When this
occurs, srtp_dealloc() effectively resets the rollover counter (roc), for all
streams in the session, to 0. If the roc was non-zero before srtp_dealloc(),
this causes libsrtp's srtp_protect() function to encrypt the rtp
payload using an incorrect roc of 0. The corresponding srtp_unprotect
code, called from the gstsrtpdec filter, has no idea that the roc was
reset, so it will attempt to decrpyt the payload using the correct,
non-zero roc. Consequently, libsrtp's initial authentication check
of the decryption process immediately fails, and the affected buffer,
and all subsequent buffers, in the stream, are dropped.
Short attached python demonstration: server.py implements an rtsp server using
the SAVP profile. It expects the full path to an mp4 file (not provided), having 1
H264 video stream and 1 aac audio stream, as its only argument. It serves the
uri: rtsp://localhost:8554/test.
> python server.py /path/to/some-mp4-file.mp4
client.py connects to this uri, plays it, and continually seeks, effectively
loop the segment from 5 - 10 seconds. After a few seconds to a few minutes,
the media freezes, and never recovers.
> python client.py
[server.py](/uploads/ab0b5edc520de94ccf2b4ccfdb788ca2/server.py)
[client.py](/uploads/16b354c84c998f9d1ded93a339ce9256/client.py)https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/892AV1 RTP Payload support2021-11-11T21:20:08ZPhilippe NormandAV1 RTP Payload supportIt would be nice to have AV1 RTP (de)payloader implementing this spec: https://aomediacodec.github.io/av1-rtp-spec/It would be nice to have AV1 RTP (de)payloader implementing this spec: https://aomediacodec.github.io/av1-rtp-spec/https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/893playbin/decodebin: Add support for closed captions extraction from metas2019-03-20T22:51:15ZAntonio Larrosaplaybin/decodebin: Add support for closed captions extraction from metasI found some sample video files [1] with CEA-608 closed captions that are not recognized by gstreamer (tested with the git version from some days ago [2]). Those files play nicely on mpv.
For example, I tried running `gst-play-1.0 1021_...I found some sample video files [1] with CEA-608 closed captions that are not recognized by gstreamer (tested with the git version from some days ago [2]). Those files play nicely on mpv.
For example, I tried running `gst-play-1.0 1021_20150103051932.mpg` and then pressing `s` a few times, which outputs the message "No subtitle tracks".
[1] https://drive.google.com/drive/folders/0B_x8BEhWfD7yNS1RWnpYMjJsczA
[2] The exact versions used are: (date and commit at the end)
```
gstreamer-1.15.1 20190205 febfabb39
gst-plugins-base-1.15.1 20190205 91863b071
gst-plugins-good-1.15.1 20190206 062f2c46f
gst-plugins-bad-1.15.1 20190206 fffb2aa12
gst-plugins-ugly-1.15.1 20190130 de65f886
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/894AV1 mpeg-ts muxing & demuxing2023-03-02T14:48:02ZOlivier Crêteolivier.crete@ocrete.caAV1 mpeg-ts muxing & demuxingWe should try to implement the AV1 in MPEG-TS spec in GStreamer:
https://code.videolan.org/videolan/av1-mapping-specs/blob/master/ts-carriage.mdWe should try to implement the AV1 in MPEG-TS spec in GStreamer:
https://code.videolan.org/videolan/av1-mapping-specs/blob/master/ts-carriage.mdhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/895msdk: Dual GPU (AMD + Intel) fails to initialize Intel iHD driver2019-02-12T07:34:09ZU. Artie Eoffmsdk: Dual GPU (AMD + Intel) fails to initialize Intel iHD driver```
$ sudo cat /sys/kernel/debug/dri/128/name
i915 dev=0000:00:02.0 unique=0000:00:02.0
$ sudo cat /sys/kernel/debug/dri/129/name
amdgpu dev=0000:01:00.0 unique=0000:01:00.0
```
```
$ GST_DEBUG=msdk*:6 LIBVA_DRIVER_NAME=iHD gst-launch-1...```
$ sudo cat /sys/kernel/debug/dri/128/name
i915 dev=0000:00:02.0 unique=0000:00:02.0
$ sudo cat /sys/kernel/debug/dri/129/name
amdgpu dev=0000:01:00.0 unique=0000:01:00.0
```
```
$ GST_DEBUG=msdk*:6 LIBVA_DRIVER_NAME=iHD gst-launch-1.0 videotestsrc num-buffers=10 \
! msdkh264enc ! h264parse ! filesink location=output.h264
0:00:00.010741374 1652 0x2292a90 INFO msdk msdk.c:186:msdk_open_session: MSDK implementation: 0x0402 (HARDWARE)
0:00:00.010779904 1652 0x2292a90 INFO msdk msdk.c:187:msdk_open_session: MSDK version: 1.28
Setting pipeline to PAUSED ...
0:00:00.012784792 1652 0x2292a90 INFO msdk msdk.c:186:msdk_open_session: MSDK implementation: 0x0402 (HARDWARE)
0:00:00.012795367 1652 0x2292a90 INFO msdk msdk.c:187:msdk_open_session: MSDK version: 1.28
0:00:00.013294940 1652 0x2292a90 DEBUG msdkcontext gstmsdkcontext.c:107:get_device_id: Opened the drm device node /dev/dri/renderD129
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /home/media/sandbox/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [2]
param: 4, val: 0
libva error: /home/media/sandbox/media/install/lib/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
0:00:00.014246521 1652 0x2292a90 ERROR msdkcontext gstmsdkcontext.c:151:gst_msdk_context_use_vaapi: Couldn't initialize VA DRM display
free(): double free detected in tcache 2
Aborted (core dumped)
```
```
$ LIBVA_DRIVER_NAME=iHD vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /home/media/sandbox/media/install/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0.pre1)
vainfo: Driver version: Intel iHD driver - 1.0.0
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
```https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/896Add gst_player_audio_info_get_codec()2019-02-14T17:48:34ZBastien NoceraAdd gst_player_audio_info_get_codec()Which would be useful for front-end to be able to differentiate audio track with the same language.
See https://gitlab.gnome.org/GNOME/totem/issues/214Which would be useful for front-end to be able to differentiate audio track with the same language.
See https://gitlab.gnome.org/GNOME/totem/issues/214