summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.21.31.21.3Tim-Philipp Müller2022-12-0559-120/+300
|
* Remove ChangeLog files from git repositoryTim-Philipp Müller2022-12-0419-933735/+0
| | | | | | | | | | | | | | | This information is tracked fully in the git repository, so no point having the ChangeLog duplicate it, and it interferes with grepping the repository. We are going to create the ChangeLogs on the fly when generating tarballs going forward (with a limited history), since it's still valuable for tarball consumers to be able to easily see a list of recent changes. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>
* meson: Generate ChangeLog files for release tarballs on distTim-Philipp Müller2022-12-0431-0/+3683
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>
* flacparse: Fix handling of headers advertising 32bpsPhilippe Normand2022-12-041-2/+2
| | | | | | | | | According to the flac bitstream format specification, the sample size in bits corresponding to `111` is 32 bits per sample. https://xiph.org/flac/format.html#frame_header Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3517>
* v4l2src: Fix crash in renegotiationNicolas Dufresne2022-12-021-1/+6
| | | | | | | | | | | | | This regression was introduce by fix for making buffer pool thread safe. When we renegotiate, the pool will be setup after we set the format. But the code has been simplified to only get the pool once before, which caused a null pointer deref. Fixes 94ba019 ("v4l2: Fix SIGSEGV on 'change state' during 'format change'") Related to !3481 Fixes #1626 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3513>
* Change name of property from Exists to Availabilitytasoss foobaridis2022-12-021-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3510>
* ges: Add API to disable timeline coherence checksThibault Saunier2022-12-024-1/+98
| | | | | | | | | There are cases where user might want to be in full control of the timeline and not be limited by the checks that are being done by GES to go from one timeline layout to another, this should be doable as it is a valid use case. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3501>
* d3d11av1dec: Promote rank to primary + 1Seungha Yang2022-12-022-2/+3
| | | | | | | ... so that this element can have higher rank than the other software AV1 decoders Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3495>
* git: Show all suggestions on pre-commit hookColin Kinloch2022-12-021-5/+15
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3506>
* uridecodebin3: Protect against NULL uri/suburiEdward Hervey2022-12-021-0/+6
| | | | | | Fixes #1625 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3511>
* README: Add section how to build and visualize documentationXavier Claessens2022-12-021-0/+16
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442>
* meson: Add toplevel "gst-doc" alias targetXavier Claessens2022-12-021-1/+5
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442>
* meson: Add doc directory to XDG_DATA_DIRSXavier Claessens2022-12-021-0/+4
| | | | | | gst-env.py does it already, but it was missing from meson devenv. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442>
* multiqueue: Handle gapless with flushingEdward Hervey2022-12-021-6/+3
| | | | | | | | | Don't reset the stream-start group-id when stop/pausing single queues. They are only resetted when re-used (in READY->PAUSED). Fixes #1586 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487>
* uridecodebin3: Always store pending buffering messagesEdward Hervey2022-12-021-2/+6
| | | | | | Fixes #1586 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3487>
* vajpegdec: Reenable element negotiation.Víctor Manuel Jáquez Leal2022-12-021-13/+16
| | | | | | | | negotiation vmethod were overwritten by vabasedec, leading to errors. This was a regression of commit b6538e0560. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3509>
* gstinfo: Optimize color escape code creationEdward Hervey2022-12-021-22/+36
| | | | | | | | | | When coloring is in use, those escape codes are going to be created many times for almost all debug lines. Don't create plenty of temporary allocations, and instead build the escape code ourselves statically Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3498>
* webrtc: Fix possible use-after-free of GstWebRTCICETransportJohan Sternerup2022-12-021-31/+62
| | | | | | | | | | | | | | | Because of the asynchronous resolving of mDNS ICE candidates it is possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs the lifetime of the GstWebRTCNiceStream objects via refs in nice_stream_map. Thus the GstWebRTCICETransport objects held in GstWebRTCNiceStream may be invalid at the time they are accessed by the _on_candidate_gathering_done() callback since GstWebRTCNiceStream doesn't take a reference to them. Doing so would create a circular reference, so instead this commit introduces weak references to the transport objects and then we can check if the objects are valid before accessing them. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502>
* rtspsrc: fix seek event leaksAleksandr Slobodeniuk2022-12-011-2/+5
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3500>
* va: Handle input caps change.Victor Manuel Jaquez Leal2022-12-019-8/+29
| | | | | | | | Update output caps if it's notified by baseclass See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* vaav1dec: Use gst_va_base_dec_set_output_state().Victor Manuel Jaquez Leal2022-12-011-45/+31
| | | | | | | | And even that vaav1dec doesn't use vabasedec negotiate vmethod, it should align with the new scheme of using base's width & height for surface size and output_info structure for downstream display size negotiation. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* vavp9dec: Use gst_va_base_dec_set_output_state().Victor Manuel Jaquez Leal2022-12-011-25/+9
| | | | | | | As this element reopen the internal decoder differently, it only uses the helper function to negotiate. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* vampeg2dec: Streams are progressive by default.Victor Manuel Jaquez Leal2022-12-011-0/+1
| | | | | | By initializating progressive, then interlaced streams are detected correctly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* va: Add and use common decode negotiate vmethod.Victor Manuel Jaquez Leal2022-12-016-246/+115
| | | | | | | | | | | | | | | | | | | | This vmethod can be used by decoders with the same VA decoder reopen logic: same profile, chroma, width and height. Also a new public method called gst_va_base_dec_set_output_state() with the common GStreamer code for setting the output state, which is always called by the negotiate vmethod. In order to do this refactoring, new variables in vabasedec have to be populated by the decoders: * width and height define the resolution set in VA decoder. In the case of H264 would be de coded_width and codec_height, or max_width and max_height in AV1. * output_info is the downstream video info used for negotiation in gst_va_base_dec_set_output_state(). * input_state, from codec parent class shall be also held by vabasedec Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* vaav1dec: Use gst_va_base_dec_prepare_output_frame().Víctor Manuel Jáquez Leal2022-12-011-26/+33
| | | | | | And simplify a bit the code flow. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* va: Add and use gst_va_base_dec_prepare_output_frame().Víctor Manuel Jáquez Leal2022-12-017-48/+29
| | | | | | | | | | This helper will do downstream negotiation and later will allocate the output frame. H265 and AV1 decoders don't use this approach since their output frame allocation is different. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* va: Remove last_ret error handling in decoders.Víctor Manuel Jáquez Leal2022-12-014-57/+24
| | | | | | | It was used in the early development of the base classes. Now it shouldn't be needed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* va: Add and use gst_va_base_dec_process_output().Víctor Manuel Jáquez Leal2022-12-019-55/+72
| | | | | | | | This function will copy the frame, if it's needed, and will apply buffer flags. The function is used by all the decoders. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3480>
* va: Fix the caps memory leak by gst_va_pool_new_with_config().He Junyan2022-12-012-2/+5
| | | | | | | The gst_va_pool_new_with_config() will ref the caps, and so we need to unref after that. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3503>
* va: Add render node name in non-first devices.Víctor Manuel Jáquez Leal2022-12-0111-66/+56
| | | | | | | | | | | There could be multi-GPU setups where the non-first has more entrypoints than the first one, and the elements names are not homogeneous, leading to pipeline building error. This patch add the render node in the elements names when they belong to the non-first device. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3491>
* vafilter: Increase the caps for HDR.Victor Manuel Jaquez Leal2022-12-011-8/+13
| | | | | | As they might be other medatadata types. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>
* vafilter: Increase the number of 3DLUT caps to 16.Victor Manuel Jaquez Leal2022-12-011-1/+4
| | | | | | | | | | | To fix the warning on Alderlake vafilter gstvafilter.c:534:gst_va_filter_ensure_filters:<vafilter0> vaQueryVideoProcFiltersCaps: list argument exceeds maximum number Increase the number of caps to 16 as vadumpcaps does. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3473>
* qt: deactivate context if fill_info failsBo Elmgreen2022-12-012-0/+2
| | | | | | | | Now the OpenGL context is deactivated if call to gst_gl_context_fill_info() fails in gst_qt_get_gl_wrapcontext(), preventing that the context is left activated, which could lead to invalid memory reads. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3492>
* av{aud,vid}dec: Report decoding errors to the base classSebastian Dröge2022-12-012-12/+18
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1889>
* v4l2: Fix SIGSEGV on 'change state' during 'format change'Pawel Stawicki2022-12-019-107/+279
| | | | | | Ensure all access to v4l2object->pool imply taking a lock and a hard ref on the pool Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3481>
* gst-inspect: Don't leak listEdward Hervey2022-12-011-5/+5
| | | | | | Just iterate the list instead of trying to be smart... Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3497>
* example: vaenc-dynamic-reconfigure: Support H265.Víctor Manuel Jáquez Leal2022-12-011-51/+43
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Add H265 SCC profile support.He Junyan2022-12-011-11/+191
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Add extended formats support such as 10/12 bits, 4:2:2 and 4:4:4.He Junyan2022-12-011-41/+191
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: enable multi tile support for H265 encoder.He Junyan2022-12-013-55/+533
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: enable vah265lpenc for low power mode H265 encoder.He Junyan2022-12-011-16/+27
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Add the low-delay-b frame support for H265.He Junyan2022-12-011-12/+73
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Add prediction direction attribute support for H265 encoder.He Junyan2022-12-012-0/+41
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Register and enable and the vah265enc plugin.He Junyan2022-12-011-0/+8
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* va: Implement the vah265enc plugin for va HEVC encoding.He Junyan2022-12-013-0/+4551
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036>
* opusdec: Use proper guint/guint8 type conversionVivia Nikolaidou2022-11-301-2/+6
| | | | | | Do not cast, that might yield wrong results. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494>
* opusdec: Negotiate default to 2 channelsVivia Nikolaidou2022-11-301-1/+1
| | | | | | | In that place, dec->n_channels can still theoretically be 0. Default to 2 in that case. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494>
* opusenc: Reverse channel order in template capsVivia Nikolaidou2022-11-301-10/+9
| | | | | | | | | We want to make it so that we prefer a higher, not lower, number of channels. Otherwise, this pipeline would convert from 2 to 1 channels: gst-launch-1.0 audiotestsrc ! audio/x-raw,channels=2 ! opusenc ! queue ! opusdec ! queue ! opusenc ! fakesink Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3494>
* avviddec: Report flow error when decoder refused packetPhilippe Normand2022-11-301-1/+2
| | | | | | | | | In cases where an invalid input packet is submitted to the decoder we emit a warning but reporting the flow error upstream would also be useful. This came up with a case were the application interacts directly with the decoder, using a mechanism similar to GstHarness. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3463>
* audiodecoder: Make data processing errors non-fatal by defaultPhilippe Normand2022-11-301-1/+1
| | | | | | | The previous default value of `max-errors` was too small and would potentially trigger the decoder to emit errors too often for most cases. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3478>