1 | 1 |
|
2 | 2 |
GStreamer 1.18.0 was originally released on 8 September 2020.
|
3 | 3 |
|
4 | |
The latest bug-fix release in the 1.18 series is 1.18.4 and was released
|
5 | |
on 15 March 2021.
|
|
4 |
The latest bug-fix release in the 1.18 series is 1.18.5 and was released
|
|
5 |
on 8 September 2021.
|
6 | 6 |
|
7 | 7 |
See https://gstreamer.freedesktop.org/releases/1.18/ for the latest
|
8 | 8 |
version of this document.
|
9 | 9 |
|
10 | |
Last updated: Monday 15 March 2021, 13:00 UTC (log)
|
|
10 |
Last updated: Wednesday 8 September 2021, 11:00 UTC (log)
|
11 | 11 |
|
12 | 12 |
Introduction
|
13 | 13 |
|
|
2101 | 2101 |
|
2102 | 2102 |
Known Issues
|
2103 | 2103 |
|
2104 | |
- None in particular
|
|
2104 |
- GStreamer 1.18 versions <= 1.18.4 would fail to build on Linux with
|
|
2105 |
Meson 0.58 due to an issue with the include directories. Either
|
|
2106 |
apply the patch or build with an older Meson version (<= 0.57) until
|
|
2107 |
there is a GStreamer 1.18.5 release that includes the fix.
|
2105 | 2108 |
|
2106 | 2109 |
Contributors
|
2107 | 2110 |
|
|
2878 | 2881 |
- List of Merge Requests applied in 1.18.4
|
2879 | 2882 |
- List of Issues fixed in 1.18.4
|
2880 | 2883 |
|
|
2884 |
1.18.5
|
|
2885 |
|
|
2886 |
The fifth 1.18 bug-fix release (1.18.5) was released on 8 September
|
|
2887 |
2021.
|
|
2888 |
|
|
2889 |
This release only contains bugfixes and security fixes and it should be
|
|
2890 |
safe to update from 1.18.x.
|
|
2891 |
|
|
2892 |
Highlighted bugfixes in 1.18.5
|
|
2893 |
|
|
2894 |
- basesink: fix reverse frame stepping
|
|
2895 |
- downloadbuffer/sparsefile: several fixes for win32
|
|
2896 |
- systemclock: Update monotonic reference time when re-scheduling,
|
|
2897 |
fixes high CPU usage with gnome-music when pausing playback
|
|
2898 |
- audioaggregator: fix glitches when resyncing on discont
|
|
2899 |
- compositor: Fix NV12 blend operation
|
|
2900 |
- rtspconnection: Add IPv6 support for tunneled mode
|
|
2901 |
- avidemux: fix playback of some H.264-in-AVI streams
|
|
2902 |
- jpegdec: Fix crash when interlaced field height is not DCT block
|
|
2903 |
size aligned
|
|
2904 |
- qmlglsink: Keep old buffers around a bit longer if they were bound
|
|
2905 |
by QML
|
|
2906 |
- qml: qtitem: don’t potentially leak a large number of buffers
|
|
2907 |
- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
|
|
2908 |
- rtspsrc: seeking improvements
|
|
2909 |
- rtpjitterbuffer: Avoid generation of invalid timestamps
|
|
2910 |
- rtspsrc: Fix behaviour of select-streams, new-manager,
|
|
2911 |
request-rtcp-key and before-send signals with GLib >= 2.62
|
|
2912 |
- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
|
|
2913 |
- openh264enc: fix broken sps/pps header generation and some minor
|
|
2914 |
leaks
|
|
2915 |
- mpeg2enc: fix interlace-mode detection and unbound memory usage if
|
|
2916 |
encoder can’t keep up
|
|
2917 |
- mfvideosrc: Fix for negative MF stride and for negotiation when
|
|
2918 |
interlace-mode is specified
|
|
2919 |
- tsdemux: fix seek-with-stop regression and decoding errors after
|
|
2920 |
seeking with dvdlpcmdec
|
|
2921 |
- rtsp-server: seek handling improvements
|
|
2922 |
- gst-libav: fix build (and other issues) with ffmpeg 4.4
|
|
2923 |
- cerbero: spandsp: Fix build error with Visual Studio 2019
|
|
2924 |
- win32 packages: Fix hang in GLib when G_SLICE environment variable
|
|
2925 |
is set
|
|
2926 |
|
|
2927 |
gstreamer
|
|
2928 |
|
|
2929 |
- aggregator: Release the SRC lock while querying latency
|
|
2930 |
- aggregator: Release pads’ peeked buffer when removing the pad or
|
|
2931 |
finalizing it
|
|
2932 |
- basesink: Don’t swap rstart/rstop when stepping
|
|
2933 |
- basesrc: Print segments with GST_SEGMENT_FORMAT and not
|
|
2934 |
GST_PTR_FORMAT
|
|
2935 |
- childproxy: init value in gst_child_proxy_get_property() if needed
|
|
2936 |
- clocksync: Fix providing system clock by default
|
|
2937 |
- concat: Properly propagate seqnum of segment events
|
|
2938 |
- concat: adjust running time offsets on downstream events
|
|
2939 |
- concat: fix locking in SEGMENT event handler
|
|
2940 |
- downloadbuffer/sparsefile: several fixes for win32
|
|
2941 |
- element: NULL the lists of contexts in dispose()
|
|
2942 |
- multiqueue: Use running time of gap events for wakeups.
|
|
2943 |
- multiqueue: Ensure peer pad exists when iterating internal links
|
|
2944 |
- pad: Keep IDLE probe hook alive during immediate callback
|
|
2945 |
- pad: Ensure last flow return is set on sink pads in push mode
|
|
2946 |
- pad: Don’t spam the debug log at INFO level when default-chaining a
|
|
2947 |
buffer list
|
|
2948 |
- pad: clear probes holding mutex
|
|
2949 |
- parse-launch: Fix a critical when using the : operator.
|
|
2950 |
- parse-launch: Don’t do delayed property setting for top-level
|
|
2951 |
properties.
|
|
2952 |
- plugin: load plugins with unknown license strings
|
|
2953 |
- ptpclock: Don’t leak the GList
|
|
2954 |
- queue2: Refuse all serialized queries when posting buffering
|
|
2955 |
messages
|
|
2956 |
- systemclock: Update monotonic reference time when re-scheduling
|
|
2957 |
- High CPU usage in 1.18 (but not master) when pausing playback in
|
|
2958 |
gnome-music
|
|
2959 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
2960 |
gcc 11)
|
|
2961 |
|
|
2962 |
gst-plugins-base
|
|
2963 |
|
|
2964 |
- appsrc: Don’t leak buffer list while wrongly unreffing buffer on
|
|
2965 |
EOS/flushing
|
|
2966 |
- audioaggregator: Don’t overwrite already written samples
|
|
2967 |
- audioaggregator: Resync on the next buffer when dropping a buffer on
|
|
2968 |
discont resyncing
|
|
2969 |
- audiobasesink: Fix of double lock release
|
|
2970 |
- audioaggregator: Don’t overwrite already written samples
|
|
2971 |
- audiobasesrc: Fix divide by zero assertion
|
|
2972 |
- clockoverlay: Fix broken string formatting by strftime() on Windows
|
|
2973 |
- compositor: Fix NV12 blend operation
|
|
2974 |
- giosrc: Don’t leak scheme string in gst_gio_src_query()
|
|
2975 |
- giobasesink: Handle incomplete writes in gst_gio_base_sink_render()
|
|
2976 |
- gl/wayland: Use consistent wl_display when creating work queue for
|
|
2977 |
proxy wrapper
|
|
2978 |
- gl: Fix build when Meson >= 0.58.0rc1
|
|
2979 |
- gl/wayland: provide a dummy global_remove function
|
|
2980 |
- playbin2: fix base_time selection when flush seeking live (such as
|
|
2981 |
with RTSP)
|
|
2982 |
- rtspconnection: Add IPv6 support for tunneled mode
|
|
2983 |
- rtspconnection: Consistently translate GIOError to GstRTSPResult
|
|
2984 |
(for rtspsrc)
|
|
2985 |
- rawbaseparse: check destination format correctly
|
|
2986 |
- uridecodebin: Don’t force floating reference for future reusable
|
|
2987 |
decodebin
|
|
2988 |
- parsebin: Put stream flags in GstStream
|
|
2989 |
- splitmuxsink: always use factory property when set
|
|
2990 |
- video-converter: Set up matrix tables only once.
|
|
2991 |
- videoscale: Performance degradation from 1.16.2 -> 1.18.4
|
|
2992 |
- videotestsrc: Fix a leak when computing alpha caps
|
|
2993 |
- audio/video-converter: Plug some minor leaks
|
|
2994 |
- audio,video-format: Make generate_raw_formats idempotent for
|
|
2995 |
assertions
|
|
2996 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
2997 |
gcc 11)
|
|
2998 |
- Fix build issue on MinGW64
|
|
2999 |
|
|
3000 |
gst-plugins-good
|
|
3001 |
|
|
3002 |
- avidemux: Also detect 0x000001 as H264 byte-stream start code in
|
|
3003 |
codec_data
|
|
3004 |
- deinterlace: Plug a method subobject leak
|
|
3005 |
- deinterlace: Drop field-order field if outputting progressive
|
|
3006 |
- jpegdec: Fix crash when interlaced field height is not DCT block
|
|
3007 |
size aligned
|
|
3008 |
- qmlglsink: Keep old buffers around a bit longer if they were bound
|
|
3009 |
by QML
|
|
3010 |
- qml: qtitem: don’t potentially leak a large number of buffers
|
|
3011 |
- qtdemux: Force stream-start push when re-using EOS’d streams
|
|
3012 |
- qtmux: for Apple ProRes, allow overriding pixel bit depth, e.g. when
|
|
3013 |
exporting an opaque image, yet with alpha.
|
|
3014 |
- qtmux: Make sure to write 64-bit STCO table when needed.
|
|
3015 |
- rtpjpegpay: fix image corruption when compiled with MSVC on Windows
|
|
3016 |
- rtpptdemux: Remove pads also in PAUSED->READY
|
|
3017 |
- rtph265depay: update codec_data in caps regardless of format
|
|
3018 |
- rtspsrc: Do not overwrite the known duration after a seek
|
|
3019 |
- rtspsrc: De-dup seek event seqnums to avoid multiple seeks
|
|
3020 |
- rtspsrc: Fix race saving seek event seqnum
|
|
3021 |
- rtspsrc: Using multicast UDP has no relation to seekability, also
|
|
3022 |
add some logging
|
|
3023 |
- rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
|
|
3024 |
- rtpjitterbuffer: Avoid generation of invalid timestamps
|
|
3025 |
- rtpjitterbuffer: Check srcresult before waiting on the condition
|
|
3026 |
variable too
|
|
3027 |
- rtpjitterbuffer: More logging when calculating rfc7273 timestamps
|
|
3028 |
- rtspsrc: Fix more signals
|
|
3029 |
- rtspsrc: Fix accumulation of before-send signal return values
|
|
3030 |
- souphttpsrc: Always use the content decoder but set
|
|
3031 |
`Accept-Encoding:…
|
|
3032 |
- udpsrc: Plug leaks of saddr in error cases
|
|
3033 |
- multiudpsink: Fix broken SO_SNDBUF get/set on Windows
|
|
3034 |
- v4l2object: Add interlace-mode back to caps for camera
|
|
3035 |
- v4l2object: Use default colorimetry if that in caps is unknown
|
|
3036 |
- V4l2object: Avoid colorimetry mismatch for streams with invalid
|
|
3037 |
colorimetry
|
|
3038 |
- v4l2object: Add support for hdr10 stream playback
|
|
3039 |
- wavparse: adtl/note/labl chunk parsing fixes
|
|
3040 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3041 |
gcc 11)
|
|
3042 |
- 1.18.4: build fails with glib 2.67.6 and gcc-11: argument 2 of
|
|
3043 |
‘__atomic_load’ must not be a pointer to a ‘volatile’ type
|
|
3044 |
|
|
3045 |
gst-plugins-bad
|
|
3046 |
|
|
3047 |
- audiolatency: Use live mode audiotestsrc
|
|
3048 |
- audiolatency: Handle audio buffers with invalid duration
|
|
3049 |
- ccconverter: fix framerate caps negotiation from non-cdp to cdp
|
|
3050 |
- dashdemux: Properly initalize GError, remove duplicate logging call
|
|
3051 |
- dashdemux: Log protection events on corresponding pad
|
|
3052 |
- dashdemux: fix dash_mpdparser_check_mpd_client_set_methods unit test
|
|
3053 |
- h264parse,h265parse: Push parameter set NAL units again per
|
|
3054 |
segment-done
|
|
3055 |
- h265parse: Fix a typo in get_compatible_profile_caps()
|
|
3056 |
- h265parse: don’t invalidate the last PPS when parsing a new SPS
|
|
3057 |
- h264parse: improve PPS handling
|
|
3058 |
- h2645parser: Catch overflows in AVC/HEVC NAL unit length
|
|
3059 |
calculations
|
|
3060 |
- interlace: Don’t set field-order field for progressive caps, fixes
|
|
3061 |
negotiation issues
|
|
3062 |
- interlace: Fix too small buffer size error
|
|
3063 |
- jpegparse: Don’t generate timestamp for 0/1 framerates
|
|
3064 |
- opencv: fix build error on macOS
|
|
3065 |
- openexr: Fix build with OpenEXR 3
|
|
3066 |
- openh264enc: fix broken sps/pps header generation and some minor
|
|
3067 |
leaks
|
|
3068 |
- mpeg2enc: fix interlace-mode detection on input video
|
|
3069 |
- mpeg2enc: Only allow 1 pending frame for encoding (fixes unbound
|
|
3070 |
memory usage in case encoder can’t keep up with input)
|
|
3071 |
- mfvideoenc: Don’t pass 0/1 framerate to MFT
|
|
3072 |
- mfvideosrc: Fix for negative MF stride
|
|
3073 |
- mfvideosrc: Fix negotiation when interlace-mode is specified
|
|
3074 |
- mxfvanc: Handle empty ANC essence
|
|
3075 |
- rtmp2src: workaround a GLib race when destroying a
|
|
3076 |
GMainContext/GSource
|
|
3077 |
- rtpsrc: Plug leak of rtcp_send_addr and fix setting URI back to NULL
|
|
3078 |
- rtpsink: Return proper pad from _request_new_pad()
|
|
3079 |
- rist: Plug leak of rtcp_send_addr
|
|
3080 |
- rtmp2: Use correct size of write macro for param2.
|
|
3081 |
- rtmp2/connection: Separate inner from outer cancelling
|
|
3082 |
- tsmux: When selecting random PIDs, name the pads according to those
|
|
3083 |
PIDs
|
|
3084 |
- tsmux: Recheck existing pad PIDs when requesting a new pad with a
|
|
3085 |
random pid
|
|
3086 |
- tsdemux: fix seek with stop regression
|
|
3087 |
- tsdemux: Clear all streams when rewinding, fixes the case where the
|
|
3088 |
demuxer sends out partial invalid data downstream after a seek which
|
|
3089 |
causes some decoders (such as dvdlpmdec) to error out
|
|
3090 |
- v4l2slh264dec: Fix slice header bit size calculation
|
|
3091 |
- videoparseutils: Fix for wrong CEA708 minimum size check
|
|
3092 |
- waylandsink: Fix for missing initial configure
|
|
3093 |
- wpe: Make threaded view singleton creation thread safe
|
|
3094 |
- x265: Fix a deadlock when failing to create the x265enc
|
|
3095 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3096 |
gcc 11)
|
|
3097 |
|
|
3098 |
gst-plugins-ugly
|
|
3099 |
|
|
3100 |
- asfdemux/realmedia: Drop duplicate seek events
|
|
3101 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3102 |
gcc 11)
|
|
3103 |
|
|
3104 |
gst-libav
|
|
3105 |
|
|
3106 |
- avmux: Blacklist ttml subtitles (fixes crash with ffmpeg >= 4.4)
|
|
3107 |
- avmux: fix segfault when a plugin’s long_name is NULL
|
|
3108 |
- avviddec: Fix size of linesize parameter
|
|
3109 |
- avviddec: Take into account coded_height for pool
|
|
3110 |
- avdemux: fix build with FFmpeg 4.4
|
|
3111 |
|
|
3112 |
gst-rtsp-server
|
|
3113 |
|
|
3114 |
- rtsp-media: Ensure the bus watch is removed during unprepare
|
|
3115 |
- rtsp-media: Add one more case to seek avoidance
|
|
3116 |
- rtsp-media: Improve skipping trickmode seek
|
|
3117 |
- Fix a few memory leaks
|
|
3118 |
|
|
3119 |
gstreamer-vaapi
|
|
3120 |
|
|
3121 |
- plugins: Demote rank of vaapipostproc and vaapioverlay to match
|
|
3122 |
other filters
|
|
3123 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3124 |
gcc 11)
|
|
3125 |
|
|
3126 |
gst-editing-services
|
|
3127 |
|
|
3128 |
- xml-formatter: Fix allocation size of buffer
|
|
3129 |
- framepositioner: Fix runtime warning
|
|
3130 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3131 |
gcc 11)
|
|
3132 |
|
|
3133 |
gst-devtools
|
|
3134 |
|
|
3135 |
- scenario: Fix EOS handling in seek_forward.scenario
|
|
3136 |
- validate-utils: Only modify structure fields that really need
|
|
3137 |
updates
|
|
3138 |
- Don’t use volatile to mean atomic (fixes compiler warnings with
|
|
3139 |
gcc 11)
|
|
3140 |
|
|
3141 |
gst-integration-testsuites
|
|
3142 |
|
|
3143 |
- validate: Update interlace_deinterlace_alternate to remove
|
|
3144 |
field-order from expected caps
|
|
3145 |
|
|
3146 |
gst-build
|
|
3147 |
|
|
3148 |
- git-update: Make fetching of external repos non-fatal on the CI
|
|
3149 |
- gst-env: Windows: Fix looking for cmd_or_ps.ps1 in the wrong
|
|
3150 |
directory
|
|
3151 |
- Pin gst-plugins-rs subproject to 0.7 branch
|
|
3152 |
|
|
3153 |
Cerbero build tool and packaging changes in 1.18.5
|
|
3154 |
|
|
3155 |
- cerbero: Add a dotted progress bar for urllib downloads
|
|
3156 |
- libunwind: make sure all pkgconfig files get included in the devel
|
|
3157 |
package
|
|
3158 |
- openssl.recipe: Bump to 1.1.1k
|
|
3159 |
- glib: Fix hang on Windows when G_SLICE env is configured
|
|
3160 |
- utils: Support latest Debian release names
|
|
3161 |
- enums: generate fedora version strings automatically
|
|
3162 |
- Rework cmake build system
|
|
3163 |
- spandsp: Fix build error with Visual Studio 2019
|
|
3164 |
|
|
3165 |
Contributors to 1.18.5
|
|
3166 |
|
|
3167 |
Alba Mendez, Andoni Morales Alastruey, Antonio Rojas, Bartłomiej
|
|
3168 |
Kurzeja, Binh Truong, Daniel Knobe, Doug Nazar, Edward Hervey, He
|
|
3169 |
Junyan, Hou Qi, Jan Alexander Steffens (heftig), Jan Schmidt, Marijn
|
|
3170 |
Suijten, Mathieu Duponchelle, Matthew Waters, Michael Olbrich, Miguel
|
|
3171 |
Paris, Nicholas Jackson, Nicolas Dufresne, Nirbheek Chauhan, Olivier
|
|
3172 |
Crête, Per Förlin, Philippe Normand, Robin Burchell, Ruslan Khamidullin,
|
|
3173 |
Scott Moreau, Sebastian Dröge, Sergei Kovalev, Seungha Yang, Stéphane
|
|
3174 |
Cerveau, Steve McDaniel, Thibault Saunier, Tim-Philipp Müller, Víctor
|
|
3175 |
Manuel Jáquez Leal, Xavier Claessens, Youngsoo Lee,
|
|
3176 |
|
|
3177 |
… and many others who have contributed bug reports, translations, sent
|
|
3178 |
suggestions or helped testing. Thank you all!
|
|
3179 |
|
|
3180 |
List of merge requests and issues fixed in 1.18.5
|
|
3181 |
|
|
3182 |
- List of Merge Requests applied in 1.18.5
|
|
3183 |
- List of Issues fixed in 1.18.5
|
|
3184 |
|
2881 | 3185 |
Schedule for 1.20
|
2882 | 3186 |
|
2883 | 3187 |
Our next major feature release will be 1.20, and 1.19 will be the
|
|
2885 | 3189 |
development of 1.19/1.20 will happen in the git master branch.
|
2886 | 3190 |
|
2887 | 3191 |
The plan for the 1.20 development cycle is yet to be confirmed, but it
|
2888 | |
is now expected that feature freeze will take place some time in April
|
2889 | |
2021, with the first 1.20 stable release hopefully around April/May
|
2890 | |
2021.
|
|
3192 |
is now expected that feature freeze will take place some time in
|
|
3193 |
September/October 2021, with the first 1.20 stable release hopefully
|
|
3194 |
towards the end of October 2021.
|
2891 | 3195 |
|
2892 | 3196 |
1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12,
|
2893 | 3197 |
1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
|