X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=subprojects%2Fgst-plugins-good%2FChangeLog;h=0dd680d522745b90afbf4592fd25d417a44cb961;hb=98d2f958a92a1949227ea92294657d2dca678eff;hp=0dd3dddf63129a39bc70d9b47f6b3c6da5c8aa7e;hpb=e8eddf46ea1bc392a439544b2eaecb450613a5df;p=platform%2Fupstream%2Fgstreamer.git diff --git a/subprojects/gst-plugins-good/ChangeLog b/subprojects/gst-plugins-good/ChangeLog index 0dd3ddd..0dd680d 100644 --- a/subprojects/gst-plugins-good/ChangeLog +++ b/subprojects/gst-plugins-good/ChangeLog @@ -1,7 +1,528 @@ +2020-09-02 10:49:40 +0100 Justin Chadwell + + * gst/isomp4/qtdemux.c: + qtdemux: use unsigned int types to store result of QT_UINT32 + In a few cases throughout qtdemux, the results of QT_UINT32 were being + stored in a signed integer, which could cause subtle bugs in the case of + an integer overflow, even allowing the the result to equal a negative + number! + This patch prevents this by simply storing the results of this function + call properly in an unsigned integer type. Additionally, we fix up the + length checking with stsd parsing to prevent cases of child atoms + exceeding their parent atom sizes. + Part-of: + +2022-11-04 17:48:01 +0000 Tim-Philipp Müller + + * ext/qt/gstqtglutility.cc: + qt: initialize GError properly in gst_qt_get_gl_wrapcontext() + Spotted by Claus Stovgaard. + Fixes #1545 + Part-of: + +2022-11-04 11:10:52 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Add durations to raw audio buffers from the raw audio adapter in prefill mode + This ensures that a duration can also be calculated and stored for the + last buffer at EOS. + Part-of: + +2022-11-04 10:49:31 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Release object lock before posting an error message + GST_ELEMENT_ERROR() also takes the object lock and this would then + deadlock. + Part-of: + +2022-11-03 14:08:57 +0100 Edward Hervey + + * gst/multifile/gstimagesequencesrc.c: + imagesequencesrc; Fix leaks + * The path was leaked + * The custom buffer was never freed + Part-of: + +2022-11-03 14:08:02 +0100 Edward Hervey + + * gst/isomp4/qtdemux.c: + qtdemux: Fix cenc-related leaks + Part-of: + +2022-11-03 14:06:58 +0100 Edward Hervey + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Don't leak metas + There is no correlation between the frame being NULL and the metas not being + present. + Part-of: + +2022-10-31 16:08:23 +0100 Edward Hervey + + * ext/adaptivedemux2/gstadaptivedemux-period.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Fix collection leaks + * The collection on the period was never unreffed + * The collection in the message handler was never unreffed + Part-of: + +2022-11-05 03:23:43 +1100 Jan Schmidt + + * ext/adaptivedemux2/mss/gstmssdemux.c: + mssdemux2: Update for adaptivedemux2 refactoring + Part-of: + +2022-11-03 01:48:08 +1100 Jan Schmidt + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux-stream.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + adaptivedemux2: Move stream_seek() to the Stream class + Move the last stream specific vfunc from the demux + class to the stream class. + Part-of: + +2022-08-21 04:31:53 +1000 Jan Schmidt + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux-stream.h: + * ext/adaptivedemux2/gstadaptivedemux-types.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + adaptivedemux2: Refactor stream methods into the stream + Unlike the legacy elements, GstAdaptiveDemuxStream is a GObject now, + so a bunch of things that were actually stream methods on the + parent demux object can directly become stream methods now. + Move the stream class out to a header of its own. + Part-of: + +2022-06-07 14:36:24 +1000 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + hlsdemux2/m3u8: Implement EXT-X-GAP parsing + Read the EXT-X-GAP tag and set is_gap on the segment. + Part-of: + +2022-06-07 14:13:39 +1000 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + hlsdemux2/m3u8: Refactor parsing for readability + Small readability improvements in the parsing code + Part-of: + +2022-10-14 06:21:41 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadrequest.c: + * ext/adaptivedemux2/downloadrequest.h: + adaptivedemux2/downloadhelper: Remove return val for download_request_add_buffer() + The function can't actually fail, and the only caller + was ignoring the result anyway, so remove the return value. + Part-of: + +2022-10-14 06:20:06 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Add debug output of response headers + Dump the HTTP response headers at TRACE level + Part-of: + +2022-10-14 06:19:11 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Don't mark transfer as complete/error if cancelled. + If the state of the download request was reset to UNSENT, + it was cancelled. Don't update the state to COMPLETE or ERRORED + in on_read_ready(). + Part-of: + +2022-10-14 06:17:00 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + adaptivedemux2/downloadhelper: Ignore spurious read failure + Sometimes g_input_stream_read_all_finish() can return + 0 bytes, but still succeed (return TRUE) and have more + data available later. Only finish the transfer + if it returns 0 bytes *and* FALSE with no error. + Part-of: + +2022-10-14 06:15:45 +1100 Jan Schmidt + + * ext/adaptivedemux2/downloadhelper.c: + * ext/adaptivedemux2/downloadrequest.c: + * ext/adaptivedemux2/downloadrequest.h: + adaptivedemux2/downloadhelper: Fix function name + Fix a typo in the name of function download_request_despatch_progress() + Part-of: + +2022-10-12 02:14:32 +1100 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux-private.h: + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Remove scheduler_lock mutex + Remove the old unused scheduler_lock + Part-of: + +2022-10-11 03:20:11 +1100 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux.c: + adaptivedemux2: Hold tracks lock accessing input_period + The input_period is protected by the TRACKS_LOCK, + so make sure to hold that when accessing it. + Part-of: + +2022-08-16 23:01:46 +1000 Jan Schmidt + + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + adaptivedemux2: Add state checks and clean up obsolete variables + The cancelled flag was only set in the stream finalize() + method, after all activity on the stream has stopped anyway. + Replace uses of cancelled with checks on the stream state. + Remove the replaced flag, which was checked but never set + to TRUE anywhere any more. + Part-of: + +2022-10-30 20:28:25 +0900 Seungha Yang + + * docs/gst_plugins_cache.json: + * ext/vpx/gstvp9dec.c: + * ext/vpx/gstvp9enc.c: + * ext/vpx/gstvpxenc.c: + vpx: Complete high bitdepth vp9 en/decoding support + Adding 12bits variant formats to en/decoder, and high bitdepth + 4:4:4 (except for GBR) encoding support + Part-of: + +2022-10-30 20:03:10 +0900 Seungha Yang + + * ext/vpx/gstvp9dec.c: + * ext/vpx/gstvp9enc.c: + * ext/vpx/gstvpxcompat.h: + * ext/vpx/gstvpxdec.h: + * ext/vpx/gstvpxenc.h: + vpx: Define formats for compatibility + ifdef for enum values never work. Instead, define new enum type + and use it + Part-of: + +2022-10-27 23:57:58 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + hlsdemux2: m3u8: Use PDT to offset stream time when aligning playlist + When matching segments across playlists with Program-Date-Times, + use the difference in segment PDTs to adjust the stream time + that's being transferred. This can fix cases where the + segment boundaries don't align across different streams + and the first download gets thrown away once the PTS + is seen and found not to match. + Part-of: + +2022-11-01 02:17:46 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/gsthlsdemux.c: + * ext/adaptivedemux2/hls/gsthlsdemux.h: + hlsdemux2: Download new header when it changes + Check whether the init file / MAP data for a segment + is different to the current data and trigger an + update if so. Previously, the header would only + be checked in HLS after switching bitrate or + after a seek / first download. + Part-of: + +2022-11-01 01:41:35 +1100 Jan Schmidt + + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + m3u8: Expose GstM3U8InitFile methods + Exposure ref/unref methods for the GstM3U8InitFile type, + and add a gst_m3u8_init_file_equal() comparison method. + Part-of: + +2022-10-21 17:24:41 +0200 Edward Hervey + + * docs/gst_plugins_cache.json: + * ext/adaptivedemux2/gstadaptivedemux-stream.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + * ext/adaptivedemux2/gstadaptivedemux.h: + * ext/adaptivedemux2/hls/gsthlsdemux.c: + * ext/adaptivedemux2/hls/m3u8.c: + * ext/adaptivedemux2/hls/m3u8.h: + adaptivedemux2: Improve minimum buffering threshold + Previously the minimum buffering threshold was hardcoded to a specific + value (10s). This is suboptimal this an actual value will depend on the actual + stream being played. + This commit sets the low watermark threshold in time to 0, which is an automatic + mode. Subclasses can provide a stream `recommended_buffering_threshold` when + update_stream_info() is called. + Currently implemented for HLS, where we recommended 1.5 average segment + duration. This will result in buffering being at 100% when the 2nd segment has + been downloaded (minus a bit already being consumed downstream) + Part-of: + +2022-10-28 18:57:44 +0530 Sanchayan Maity + + * gst/wavparse/gstwavparse.c: + wavparse: Speed up type finding for DTS + In order to figure out if the "raw" audio contained within the wav + container is actually DTS, right now we call the typefinder helper + which runs all typefinders. + Speed up this type finding process by specifying the extension. + Part-of: + +2022-10-25 13:30:15 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/isomp4/gstqtmuxmap.c: + mp4mux: enable muxing VP9 streams + As specified in https://www.webmproject.org/vp9/mp4/ + Part-of: + +2022-10-25 13:28:26 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/gstqtmuxmap.c: + qtmux: add support for writing vpcC box for VP9 + Increases compatibility for VP9 in .mov in at least VLC. + Part-of: + +2022-10-04 18:21:15 -0300 Thibault Saunier + + * ext/adaptivedemux2/dash/gstdashdemux.c: + * ext/adaptivedemux2/gstadaptivedemux.c: + dashdemux2: Fix the way we determine current_position after seeks + Without that the current_position was off after seeks, potentially + leading to not properly push a last fragment when a `.stop` time was + set. + Part-of: + +2022-09-20 15:32:52 -0300 Thibault Saunier + + * ext/adaptivedemux2/dash/gstmpdclient.c: + dash: Fix computing `repeat_index` when seeking in stream with a start !=0 on the first fragment + Part-of: + +2022-09-22 11:20:55 -0300 Thibault Saunier + + * gst/matroska/matroska-demux.c: + matroskademux: Let upstream handle seeking/duration query in time if possible + So proper response are given for dash streams + Part-of: + +2022-09-21 15:01:39 -0300 Thibault Saunier + + * gst/matroska/matroska-demux.c: + * gst/matroska/matroska-demux.h: + matroskademux: Start support for upstream segments in TIME format + So we can use matroskademux for dash webm dash streams. + Part-of: + +2022-01-24 16:49:52 +0100 Jakub Adam + + * sys/ximage/gstximagesrc.c: + ximagesrc: grab the server while capturing screen image + Makes sure screen resolution doesn't change in the middle of the + process. + Part-of: + +2021-12-17 14:57:57 +0100 Jakub Adam + + * sys/ximage/gstximagesrc.c: + * sys/ximage/gstximagesrc.h: + ximagesrc: change video resolution when X11 screen gets resized + Part-of: + +2022-10-23 20:32:35 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * gst/meson.build: + * gst/xingmux/gstxingmux.c: + * gst/xingmux/gstxingmux.h: + * gst/xingmux/meson.build: + * gst/xingmux/plugin.c: + * meson_options.txt: + * tests/check/elements/xingmux.c: + * tests/check/elements/xingmux_testdata.h: + * tests/check/meson.build: + xingmux: move from gst-plugins-ugly to gst-plugins-good + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/415 + Part-of: + +2022-10-21 16:23:08 +0300 Sebastian Dröge + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Only EOS on timeout if all streams are timed out/EOS + Otherwise a stream that is just temporarily inactive might time out and + then can never become active again because the EOS event was sent + already. + Part-of: + +2022-10-18 16:51:39 +1100 Matthew Waters + + * docs/gst_plugins_cache.json: + * gst/rtp/gstrtpulpfecdec.c: + * gst/rtp/gstrtpulpfecdec.h: + rtpulpfecdec: add property for passthrough + Support for enabling and disabling decoding of FEC data decoding on + packet loss events and unconditional seqnum rewriting of packets. + See + https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581 + for background. + Part-of: + +2022-10-14 01:23:04 +0000 Devin Anderson + + * gst/wavparse/gstwavparse.c: + wavparse: Avoid occasional crash due to referencing freed buffer. + We've seen occasional crashes in the `wavparse` module associated with + referencing a buffer in `gst_wavparse_chain` that's already been freed. The + reference is stolen when the buffer is transferred to the adapter with + `gst_adapter_push` and, IIUC, assuming the source doesn't hold a reference to + the buffer, the buffer could be freed during interaction with the adapter in + `gst_wavparse_stream_headers`. + Part-of: + +2022-10-13 11:21:42 -0400 Julian Bouzas + + * docs/gst_plugins_cache.json: + riff: Mark jpeg as parsed + This is needed so that autoplugging works with avidemux and JPEG decoders that + need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine + with 'jpegdec' decoder regardless. + Part-of: + +2022-10-13 00:20:45 +0000 Devin Anderson + + * gst/wavparse/gstwavparse.c: + * tests/check/elements/wavparse.c: + * tests/files/corruptheadertestsrc.wav: + wavparse: Fix crash that occurs in push mode when header chunks are corrupted in certain ways. + In the case that a test is provided for, the size of the `fmt ` chunk is + changed from 16 bytes to 18 bytes (bytes 17 - 20 below): + ``` + $ hexdump -C corruptheadertestsrc.wav + 00000000 52 49 46 46 e4 fd 00 00 57 41 56 45 66 6d 74 20 |RIFF....WAVEfmt | + 00000010 12 00 00 00 01 00 01 00 80 3e 00 00 00 7d 00 00 |.........>...}..| + 00000020 02 00 10 00 64 61 74 61 |....data| + 00000028 + ``` + (Note that the original file is much larger. This was the smallest sub-file + I could find that would generate the crash.) + Note that, while the same issue doesn't cause a crash in pull mode, there's a + different issue in that the file is processed successfully as if it was a .wav + file with zero samples. + Part-of: + +2022-10-11 15:00:37 +0200 Edward Hervey + + * sys/oss4/oss4-sink.c: + * sys/oss4/oss4-source.c: + oss4: Fix debug category initialization + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1456 + Part-of: + +2022-10-08 01:03:13 +0200 Mathieu Duponchelle + + * gst/multifile/gstsplitmuxpartreader.c: + splitmuxsrc: don't queue data on unlinked pads + Once a pad has returned NOT_LINKED, the part reader shouldn't let its + corresponding data queue run full and eventually (after 20 seconds) + stall playback. + Part-of: + +2022-10-03 20:28:47 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpsession.c: + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsession.h: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsource: Don't do probation for RTX sources + Disable probation for RTX sources as packets will arrive very + irregularly and waiting for a second packet usually exceeds the deadline + of the retransmission. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/181 + Part-of: + +2022-10-03 19:58:38 +0300 Sebastian Dröge + + * tests/examples/rtp/client-rtpaux.c: + rtp: examples: client-rtpaux: Provide correct caps by payload type and RTX pt map by session + Part-of: + +2019-01-25 17:04:50 -0500 George Kiagiadakis + + * tests/check/elements/rtpsession.c: + tests/check/rtpsession: extend test_internal_sources_timeout + to verify that rtx SSRCs do not BYE after timeout + See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360 + Part-of: + +2022-10-03 19:12:55 +0300 Sebastian Dröge + + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsession: Remember the corresponding media SSRC for RTX sources + This allows timing out the RTX source and sending BYE for it when the + actual media source belonging to it is timed out. + This change only applies to sending sources from this session. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/360 + Part-of: + +2022-10-03 19:20:14 +0300 Sebastian Dröge + + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + * gst/rtpmanager/rtpsource.h: + rtpsource: Rename rtp_source_update_caps to rtp_source_update_send_caps + To make it clear that this is only used for sending RTP sources. + Part-of: + +2022-10-03 13:48:36 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpsession.c: + rtpsession: Rename gst_rtp_session_sink_setcaps to gst_rtp_session_setcaps_recv_rtp + to make it clearer that this is for setting receiver caps and to make it + more consistent with gst_rtp_session_setcaps_send_rtp. + Part-of: + +2022-10-06 15:02:22 +0300 Sebastian Dröge + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Retry SETUP with non-compliant URL resolution on "Bad Request" and "Not found" + Various RTSP servers/cameras assume base and control URL to be simply + appended instead of being resolved according to the relative URL + resolution algorithm as mandated by the RTSP specification. + To work around this, try using such a non-compliant control URL if the + server didn't like the URL used in the first SETUP request. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1447 + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/922 + Part-of: + +2022-10-04 03:57:31 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + Part-of: + === release 1.21.1 === 2022-10-04 01:14:01 +0100 Tim-Philipp Müller + * ChangeLog: * NEWS: * RELEASE: * docs/gst_plugins_cache.json: