summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Back to development1.18Tim-Philipp Müller2022-02-021-1/+1
|
* Release 1.18.61.18.6Tim-Philipp Müller2022-02-025-17/+364
|
* webrtcbin: Chain up to parent constructed methodJakub Adam2022-01-281-0/+2
| | | | | | Failing to do so makes GstWebRTCBin invisible to the leaks tracer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2570>
* webrtc: fix log error message in function gst_webrtc_bin_set_local_descriptionDave Piché2022-01-181-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2569>
* mxfdemux: don't error out if VANC track only contains packets we don't handleTim-Philipp Müller2022-01-181-5/+11
| | | | | | | | | | | | If the VANC track does contain packets, but we skip over all packets, just treat it the same as if there hadn't been any packets at all and send a GAP event instead of erroring out with "Failed to handle essence element". We would error out because when we reach the end of the loop without having found a closed caption packet the flow return variable is still FLOW_ERROR which is what it has been initialised to. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2568>
* av1parser: Fix data type of film grain paramMengkejiergeli Ba2022-01-181-2/+2
| | | | | | | | Fix cb_offset and cr_offset data type from guint8 to guint16. According to spec, cb_offset and cr_offset are 9 bit long, while guint8 can cause interger overflow, and thus change to guint16. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2567>
* assrender: Support RFC8081 mime typesRafał Dzięgiel2022-01-171-1/+5
| | | | | | | | | Old "application/*" are now as per RFC8081 deprecated in favor of new "font/*" mime types. Some new encoders are already using the updated mime types. We need to also add them to the support list in order for assrender to correctly identify them as fonts. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566>
* assrender: Add "application/vnd.ms-opentype" mimetype detectionRafał Dzięgiel2022-01-171-1/+2
| | | | | | | The "application/vnd.ms-opentype" mimetype is commonly used in many fonts attached in the matroska videos. Assrender should treat it as compatible without the need of parsing the file extension. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566>
* assrender: Handle ".ttc" attachment extensionRafał Dzięgiel2022-01-171-1/+2
| | | | | | | | TTC stands for "TrueType Collection" file. We can pass it into libass as any other attachment. Add it to the supported extensions list, so the fonts it contains will be used. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566>
* pitch: Specify layout as required for negotiationThibault Saunier2022-01-172-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases where it might negotiate 'non-interleaved' while it is wrong. ``` gst-launch-1.0 audiotestsrc ! "audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved" ! audioconvert ! audioresample ! pitch tempo=1.2 ! audioconvert ! "audio/x-raw,format=S16LE" ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... (gst-launch-1.0:3029628): GStreamer-Audio-CRITICAL **: 11:42:22.477: gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed ERROR: from element /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: The stream is in the wrong format. Additional debug info: ../subprojects/gst-plugins-base/gst/audioconvert/gstaudioconvert.c(876): gst_audio_convert_transform (): /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: failed to map input buffer ERROR: pipeline doesn't want to preroll. ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data stream error. Setting pipeline to NULL ... Additional debug info: ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: streaming stopped, reason error (-5) ERROR: pipeline doesn't want to preroll. Freeing pipeline ... ``` Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2565>
* magicleap: update lumin_rt libraries names to the latest official versionAntonio Ospite2021-11-051-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2561>
* codecs: h265decoder: Fix per-slice leakSeungha Yang2021-10-311-0/+6
| | | | | | | As documented, slice header parsed via gst_h265_parser_parse_slice_hdr() should be cleared, otherwise it would result in memory leak. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2559>
* mpeg4videoparse: fix criticals trying to insert configs that don't exist yetTim-Philipp Müller2021-10-311-19/+23
| | | | | | | | | | | With mpeg4videoparse drop=false config-interval=N|-1 we might be trying to insert a config before we have actually received one, in which case we'll try to map a NULL buffer which will generate lots of criticals. Fixes #855 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2558>
* webrtcbin: Always set SINK/SRC flagsSebastian Dröge2021-10-311-0/+10
| | | | | | | | | | | webrtcbin can act as a sink/source depending on the SDP later. Without setting this here already, surrounding bins might not notice this and the pipeline configuration might become inconsistent, e.g. with regards to latency. See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/737 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2556>
* mpegtspacketizer: memcmp potentially seen_before dataVivia Nikolaidou2021-10-291-3/+14
| | | | | | | | | | | | | Theoretically the version number is incremented every time there's a new section, but in a world of streaming we can't easily make that assumption. An example of a broken use case is when we're cat-ing two mpeg-ts files together, which is equivalent of capturing a DVB stream while switching channels. A set-top box would know that we switched the channels and reset the demuxer, but in practice this might not happen. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2555>
* zxing: update to support version 1.1.1Stéphane Cerveau2021-10-293-29/+61
| | | | | | | | Support new API in 1.1.1 Update the supported input video format. Update tests to use parse_launch Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2554>
* interlace: Reset after changing state to READYJan Alexander Steffens (heftig)2021-10-211-6/+6
| | | | | | | | | Trying to reset before the pads have been deactivated races with the streaming thread. There was also a buggy buffer clear leaving a dangling `stored_frame` pointer around. Use `gst_interlace_reset` so this happens properly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2553>
* Back to developmentTim-Philipp Müller2021-09-091-1/+1
|
* Release 1.18.51.18.5Tim-Philipp Müller2021-09-085-9/+878
|
* vulkan: don't link to XOpenDisplay in documentationMathieu Duponchelle2021-09-081-1/+1
| | | | | | hotdoc doesn't know about that symbol Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518>
* rtpsrc: Fix wrong/NULL URI handlingThibault Saunier2021-09-061-3/+16
| | | | | | | We can reset the URI to NULL and this fix a deadlock in that case or when the URI was invalid. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2512>
* tsdemux: Clear all streams when rewindingEdward Hervey2021-09-061-4/+21
| | | | | | | This avoids sending out partial invalid data downstream which could cause decoders (ex: `dvdlpmdec`) to error out. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2511>
* mpeg2enc: Only allow 1 pending frame for encodingJan Schmidt2021-09-063-16/+25
| | | | | | | | | | Having an unlimited input queue is very bad if the encoder can't run at real-time. Eventually it will consume all RAM. I don't really see any reason to have more than 1 outstanding encoded frame, so remove the queue and limit things to 1 pending frame. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2510>
* videoparseutils: Fix for wrong CEA708 minimum size checkSeungha Yang2021-09-021-1/+5
| | | | | | The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2507>
* mpeg2enc: fix interlace-mode detectionMathieu Duponchelle2021-08-301-1/+19
| | | | | | | Previously, the code was always assuming progressive input, fix this by looking at the caps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2500>
* openh264enc: fix broken header AU emission by base classTim-Philipp Müller2021-08-251-25/+0
| | | | | | | | | | | | | | | | This encoder advertises alignment=au as output format, which means each output frame should contain a full decodable access unit. The video encoder base class is not aware of our output alignment and will output spurious buffers with just the SPS/PPS inside when we call gst_video_encoder_set_headers(), which is broken because each buffer is supposed to contain a full decodable access unit in our case. Just don't tell the base class about our headers, they will be sent at the beginning of each IDR frame anyway. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478>
* openh264enc: fix header buffer leakTim-Philipp Müller2021-08-251-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478>
* openh264enc: fix broken sps/pps header generationTim-Philipp Müller2021-08-251-2/+7
| | | | | | | | | | | | | This was putting a truncated SPS into the initial header instead of the PPS because it was always reading from the beginning of the bitstream buffer (pBsBuf) and not from the offset where the current NAL is at in the bitstream buffer (psBsBuf + nal_offset). This was broken in commit 17113695. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1576 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2478>
* dashdemux: Properly initalize GErrorEdward Hervey2021-08-231-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2479>
* mfvideosrc: Fix for negative MF strideSeungha Yang2021-08-203-20/+186
| | | | | | | | | | | | Negative stride value can be used in MediaFoundation to inform whether memory layout is top-down or bottom-up manner. Note that negative stride is allowed only for RGB, system memory. See also https://docs.microsoft.com/en-us/windows/win32/medfound/image-stride Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1646 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2477>
* v4l2slh264dec: Fix slice header bit size calculationNicolas Dufresne2021-08-181-2/+2
| | | | | | | | The emulation bytes need to be removed as bytes, not bit. This fixes decoding issues with files that have emulation bytes with the Cedrus driver. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2472>
* x265: Fix a deadlock when failing to create the x265enc.He Junyan2021-08-091-2/+5
| | | | | | | | | The GST_ELEMENT_ERROR will call the gst_object_get_path_string and use gst_object_get_parent to get the full object path name, which needs to lock the object. But we are already in a locked context and so this will cause a deadlock, the pipeline can not exit normally. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2460>
* audiolatency: Handle audio buffers with invalid durationNirbheek Chauhan2021-07-291-9/+18
| | | | | | | | | pipewiresrc outputs audio buffers without a valid duration, so we need to calculate it manually in that case. Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1438 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2444>
* rtmp2src: workaround a GLib race when destroying a GMainContext/GSourceMatthew Waters2021-07-161-1/+4
| | | | | | | | | | | https://gitlab.gnome.org/GNOME/glib/-/issues/803 Basically, if destruction of a GSource and its associated GMainContext are not synchronised, Then the GSource destruction can access freed GMainContext resources and cause a crash. This is not super common but can happen. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2416>
* dashdemux: Remove duplicate logging callPhilippe Normand2021-07-091-1/+0
| | | | | | | Follow-up from: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2392 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2395>
* dashdemux: Log protection events on corresponding padPhilippe Normand2021-07-081-1/+4
| | | | | | | GstDashDemuxStream is not a GstObject, so use its pad as associated object when emitting log messages. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2392>
* mfvideosrc: Fix negotiation when interlace-mode is specifiedSeungha Yang2021-07-082-2/+2
| | | | | | | | Given caps does not need to be strictly subset of device caps. Allow accept it if device caps and requested caps can intersect Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2391>
* ccconverter: fix framerate caps negotiation from non-cdp to cdpMatthew Waters2021-07-082-5/+22
| | | | | | | | | We can only convert from non-cdp to cdp within the confines of valid cdp framerates. The existing caps negotiation code was allowing any framerate to convert to a cdp output which is incorrect and would hit an assertion later. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2388>
* mxfvanc: Handle empty ANC essenceEdward Hervey2021-07-082-2/+33
| | | | | | | | | | Not having any *actual* ANC is totally fine and common usage with several MXF variants. In order to properly advance the streams, the essence handler returns an empty GAP buffer which gets converted to a GST_EVENT_GAP. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2387>
* opencv: Fix build error on macOSyoungsoo.lee2021-07-081-0/+1
| | | | | | | | | | The build fails on macos with the following error: /usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std' Mat_(std::initializer_list<_Tp> values); fatal error: too many errors emitted, stopping now [-ferror-limit=] 35 warnings and 20 errors generated. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2386>
* tsmux: When selecting random PIDs, name the pads according to those PIDsSebastian Dröge2021-06-241-1/+7
| | | | | | | | | | | Some elements will make use of the automatically generated names to create new pads in future muxer instances, for example splitmuxsink. Previously we would've created a pad with a random pid that would become "sink_0", and then on a new muxer instance a pad "sink_0" and tsmux would've then failed because 0 is not a valid PID. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2358>
* tsmux: Recheck existing pad PIDs when requesting a new pad with a random pidSebastian Dröge2021-06-241-1/+23
| | | | | | | | | | Previously pads might have been requested already (e.g. in NULL state), then reset was called (e.g. because changing state) and then a new pad was requested. Resetting is re-creating the internal muxer object and as such resetting the pid counter, so the next requested pad would get the same pid as the first requested pad which then leads to collisions. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2357>
* h264parse,h265parse: Push parameter set NAL units again per segment-doneSeungha Yang2021-06-222-0/+2
| | | | | | | | | | | | Some decoder implementations might drain out internal buffers and reset its status on segment-done event. So, in case that upstream stream-format is packetized but downstream supports only byte-format, required codec-data might not be forwarded toward downstream if such parameter set NAL units don't exist in inband bitstream. Therefore, parse elements should re-send parameter set NAL units like the case of flush event. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2351>
* h265parse: Fix a typo in get_compatible_profile_caps().He Junyan2021-06-221-1/+2
| | | | | | | | The GST_H265_PROFILE_MAIN_444_10 profile should be compatible with GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_444_10, not the current GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_10. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2350>
* waylandsink: Fix for missing initial configureNicolas Dufresne2021-06-021-1/+1
| | | | | | | | | | | We were doing our initial "empty" commit on the subsurface instead of the toplevel surface. As an incidence, we should not have received a configure event ever, not just on mutter. This fixes the following warning when using mutter compositor (aka gnome-shell): waylandsink wlwindow.c:304:gst_wl_window_new_toplevel: The compositor did not send configure event. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2300>
* interlace: Don't set field-order field for progressive capsSeungha Yang2021-06-011-0/+4
| | | | | | That would cause negotiation issue Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2293>
* interlace: Drop framerate from query caps of sinkpadSeungha Yang2021-06-011-7/+14
| | | | | | | | | | Query caps should return caps which represent the element can accept, not resulting format. Fixing negotiation error with gst-launch-1.0 videotestsrc ! video/x-raw,framerate=25/1 ! interlace field-pattern=0 ! fakesink Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2293>
* audiolatency: Drop incoming downstream stick eventsSeungha Yang2021-05-211-0/+22
| | | | | | | stream-start, caps, and segment events will be pushed by internal audiotestsrc element. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2271>
* audiolatency: Use live mode audiotestsrcSeungha Yang2021-05-211-1/+2
| | | | | | | | Expected use case of audiolatency element is that mimic audio capture device which is most likely live source. So audiolatency element should use live mode as well. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2271>
* interlace: Fix too small buffer size errorSeungha Yang2021-05-201-5/+34
| | | | | | | | | Even though input/output resolutions are identical there, default buffer size of progressive and interleaved formats could be different because we are rounding up height of all plane of interlaced frame to be multiple of two. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2270>