#5307 closed defect (fixed)
HLS start_time and duration incorrect
Reported by: | ronag | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | hls |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
When transcoding a file jellyfish.webm the start_time and duration are modified and seem incorrect:
ffprobe -v warning -print_format json -show_format -i jellyfish.m3u8 { "format": { "filename": "jellyfish.m3u8", "nb_streams": 1, "nb_programs": 1, "format_name": "hls,applehttp", "format_long_name": "Apple HTTP Live Streaming", "start_time": "1.466733", "duration": "29.996632", "size": "216", "bit_rate": "57", "probe_score": 100 } }
ffmpeg -i jellyfish.web jellyfish.m3u8
ffprobe -v warning -print_format json -show_format -i jellyfish.m3u8 { "format": { "filename": "jellyfish.m3u8", "nb_streams": 1, "nb_programs": 1, "format_name": "hls,applehttp", "format_long_name": "Apple HTTP Live Streaming", "start_time": "1.466733", "duration": "29.996632", "size": "216", "bit_rate": "57", "probe_score": 100 } }
ffmpeg version: 3.0
Files are available at: https://www.dropbox.com/sh/wcwbwf05o1132vb/AAC3Mh1kL5TLwNOoGuGMD7PHa?dl=0
Change History (11)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Note that in the original we have:
"start_time": "0.000000", "duration": "30.030000",
while the HLS file says:
"start_time": "1.466733", "duration": "29.996632",
manifest looks like this:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:8.341667, jellyfish0.ts #EXTINF:6.639967, jellyfish1.ts #EXTINF:8.341667, jellyfish2.ts #EXTINF:6.673333, jellyfish3.ts #EXT-X-ENDLIST
comment:3 by , 9 years ago
Do you want to report that a frame is missing in an output file? Or audio?
Note that files are expected not to be identical after transcoding.
Please remember to always test current FFmpeg git head before reporting an issue and to provide both a command line that allows to reproduce the issue and its complete, uncut console output.
comment:4 by , 9 years ago
I want to report that the duration and start_time are incorrect after transcoding to HLS.
Let my try again to provide everything:
ffprobe -v warning -print_format json -show_format -i jellyfish.webm { "format": { "filename": "jellyfish.webm", "nb_streams": 1, "nb_programs": 0, "format_name": "matroska,webm", "format_long_name": "Matroska / WebM", "start_time": "0.000000", "duration": "30.030000", "size": "8707794", "bit_rate": "2319758", "probe_score": 100, "tags": { "encoder": "Lavf56.40.101" } } }
ffmpeg -i jellyfish.webm jellyfish.m3u8 ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.0.2 (clang-700.1.81) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libfaac --enable-libass --enable-ffplay --enable-libfdk-aac --enable-openssl --enable-libopus --enable-libwebp --enable-nonfree --enable-vda libavutil 55. 17.103 / 55. 17.103 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. 25.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 31.100 / 6. 31.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from 'jellyfish.webm': Metadata: encoder : Lavf56.40.101 Duration: 00:00:30.03, start: 0.000000, bitrate: 2319 kb/s Stream #0:0(eng): Video: vp8, yuv420p, 1024x576, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) [libx264 @ 0x7fbbab816a00] using SAR=1/1 [libx264 @ 0x7fbbab816a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 0x7fbbab816a00] profile High, level 3.1 Output #0, hls, to 'jellyfish.m3u8': Metadata: encoder : Lavf57.25.100 Stream #0:0(eng): Video: h264 (libx264), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc (default) Metadata: encoder : Lavc57.24.102 libx264 Side data: unknown side data type 10 (24 bytes) Stream mapping: Stream #0:0 -> #0:0 (vp8 (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame= 900 fps= 70 q=-1.0 Lsize=N/A time=00:00:29.96 bitrate=N/A speed=2.34x video:11070kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 0x7fbbab816a00] frame I:4 Avg QP:23.21 size: 33682 [libx264 @ 0x7fbbab816a00] frame P:891 Avg QP:24.76 size: 12530 [libx264 @ 0x7fbbab816a00] frame B:5 Avg QP:26.61 size: 7414 [libx264 @ 0x7fbbab816a00] consecutive B-frames: 98.9% 1.1% 0.0% 0.0% [libx264 @ 0x7fbbab816a00] mb I I16..4: 10.9% 72.9% 16.2% [libx264 @ 0x7fbbab816a00] mb P I16..4: 3.7% 12.4% 0.6% P16..4: 53.2% 13.7% 4.9% 0.0% 0.0% skip:11.6% [libx264 @ 0x7fbbab816a00] mb B I16..4: 1.2% 2.0% 0.1% B16..8: 47.2% 8.0% 1.7% direct:12.1% skip:27.5% L0:31.8% L1:52.0% BI:16.1% [libx264 @ 0x7fbbab816a00] 8x8 transform intra:74.4% inter:56.7% [libx264 @ 0x7fbbab816a00] coded y,uvDC,uvAC intra: 24.7% 31.7% 10.0% inter: 40.3% 27.3% 2.7% [libx264 @ 0x7fbbab816a00] i16 v,h,dc,p: 32% 18% 39% 12% [libx264 @ 0x7fbbab816a00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 10% 55% 2% 2% 3% 2% 3% 3% [libx264 @ 0x7fbbab816a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 13% 30% 6% 7% 7% 5% 6% 4% [libx264 @ 0x7fbbab816a00] i8c dc,h,v,p: 52% 16% 30% 3% [libx264 @ 0x7fbbab816a00] Weighted P-Frames: Y:11.2% UV:0.2% [libx264 @ 0x7fbbab816a00] ref P L0: 64.3% 24.7% 8.0% 2.8% 0.2% [libx264 @ 0x7fbbab816a00] ref B L0: 91.5% 8.5% [libx264 @ 0x7fbbab816a00] kb/s:3019.87
ffprobe -v warning -print_format json -show_format -i jellyfish.m3u8 { "format": { "filename": "jellyfish.m3u8", "nb_streams": 1, "nb_programs": 1, "format_name": "hls,applehttp", "format_long_name": "Apple HTTP Live Streaming", "start_time": "1.466733", "duration": "29.996632", "size": "216", "bit_rate": "57", "probe_score": 100 } }
cat jellyfish.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:8.341667, jellyfish0.ts #EXTINF:6.639967, jellyfish1.ts #EXTINF:8.341667, jellyfish2.ts #EXTINF:6.673333, jellyfish3.ts #EXT-X-ENDLIST
comment:5 by , 8 years ago
Analyzed by developer: | set |
---|---|
Cc: | added |
Component: | undetermined → ffmpeg |
Keywords: | hlsenc.c added |
Reproduced by developer: | set |
Version: | unspecified → 3.0.2 |
This looks like a duplicate of https://trac.ffmpeg.org/ticket/5009.
If I download your original files from dropbox...
$ cat ./jellyfish.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:8.341667, jellyfish0.ts #EXTINF:6.639967, jellyfish1.ts #EXTINF:8.341667, jellyfish2.ts #EXTINF:6.673333, jellyfish3.ts #EXT-X-ENDLIST
and compare to the FFprobe of the individual segments
$ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish0.ts" format.duration="8.341667" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish1.ts" format.duration="6.639967" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish2.ts" format.duration="8.341667" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish3.ts" format.duration="6.706700"
You can see that it is the last EXTINF segment duration that is being calculated incorrectly and written to the m3u8. The issue is within hlsenc.c
The effect of this is:
1) FFprobe subsequently gets the duration incorrect because it sums the durations of the EXTINF
2) Some Smart TVs actually stop playback of the asset early.
The HLS Start Time issue should not be an issue. A non-zero start time for TS files is valid and in-spec. There are existing command line options to preserve original timestamps.
But the duration of the last frame within the M3U8 is certainly a bug.
follow-ups: 8 9 comment:7 by , 8 years ago
Analyzed by developer: | unset |
---|---|
Component: | ffmpeg → avformat |
Keywords: | hls added; hlsenc.c removed |
Reproduced by developer: | unset |
Is the issue reproducible with current FFmpeg git head?
comment:8 by , 8 years ago
Replying to cehoyos:
Is the issue reproducible with current FFmpeg git head?
Thanks @cehoyos
It is reproducible using FFmpeg 3.1 (stable), which is less than 24 hours old.
Full, uncut console output below, tested using source material as supplied by @ronag, the original poster.
The key part is that
#EXTINF:6.673333,
jellyfish3.ts
does not equal
$ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish3.ts"
format.duration="6.706700"
All other segments are correctly declared in the m3u8.
$ ./ffmpeg -i jellyfish.webm jellyfish.m3u8 ffmpeg version 3.1-tessus Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb libavutil 55. 27.100 / 55. 27.100 libavcodec 57. 48.101 / 57. 48.101 libavformat 57. 40.101 / 57. 40.101 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from 'jellyfish.webm': Metadata: encoder : Lavf56.40.101 Duration: 00:00:30.03, start: 0.000000, bitrate: 2319 kb/s Stream #0:0(eng): Video: vp8, yuv420p, 1024x576, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) [libx264 @ 0x7faa8b800000] using SAR=1/1 [libx264 @ 0x7faa8b800000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x7faa8b800000] profile High, level 3.1 [hls @ 0x7faa8a80be00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, hls, to 'jellyfish.m3u8': Metadata: encoder : Lavf57.40.101 Stream #0:0(eng): Video: h264 (libx264), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc (default) Metadata: encoder : Lavc57.48.101 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (vp8 (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame= 900 fps= 24 q=-1.0 Lsize=N/A time=00:00:29.92 bitrate=N/A speed=0.782x video:11093kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 0x7faa8b800000] frame I:4 Avg QP:22.94 size: 34424 [libx264 @ 0x7faa8b800000] frame P:570 Avg QP:23.88 size: 13197 [libx264 @ 0x7faa8b800000] frame B:326 Avg QP:27.59 size: 11348 [libx264 @ 0x7faa8b800000] consecutive B-frames: 50.7% 2.0% 3.3% 44.0% [libx264 @ 0x7faa8b800000] mb I I16..4: 11.0% 72.9% 16.2% [libx264 @ 0x7faa8b800000] mb P I16..4: 4.7% 18.6% 1.5% P16..4: 44.7% 13.0% 4.6% 0.0% 0.0% skip:12.8% [libx264 @ 0x7faa8b800000] mb B I16..4: 1.0% 3.5% 0.4% B16..8: 52.5% 12.5% 2.7% direct: 8.8% skip:18.6% L0:48.7% L1:36.4% BI:14.9% [libx264 @ 0x7faa8b800000] 8x8 transform intra:74.6% inter:62.0% [libx264 @ 0x7faa8b800000] coded y,uvDC,uvAC intra: 32.5% 34.8% 12.0% inter: 35.7% 27.1% 2.5% [libx264 @ 0x7faa8b800000] i16 v,h,dc,p: 34% 18% 38% 11% [libx264 @ 0x7faa8b800000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 9% 50% 3% 4% 4% 3% 4% 3% [libx264 @ 0x7faa8b800000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 12% 23% 8% 9% 9% 6% 7% 5% [libx264 @ 0x7faa8b800000] i8c dc,h,v,p: 52% 16% 29% 3% [libx264 @ 0x7faa8b800000] Weighted P-Frames: Y:5.4% UV:1.6% [libx264 @ 0x7faa8b800000] ref P L0: 64.2% 21.4% 9.6% 4.5% 0.3% [libx264 @ 0x7faa8b800000] ref B L0: 93.6% 4.5% 1.9% [libx264 @ 0x7faa8b800000] ref B L1: 98.6% 1.4% [libx264 @ 0x7faa8b800000] kb/s:3026.07
$ cat ./jellyfish.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:8.341667, jellyfish0.ts #EXTINF:6.639967, jellyfish1.ts #EXTINF:8.341667, jellyfish2.ts #EXTINF:6.673333, jellyfish3.ts #EXT-X-ENDLIST
$ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish0.ts" format.duration="8.341667" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish1.ts" format.duration="6.639967" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish2.ts" format.duration="8.341667" $ ffprobe -loglevel quiet -print_format flat -show_entries format=duration "./jellyfish3.ts" format.duration="6.706700"
comment:9 by , 8 years ago
Replying to cehoyos:
Is the issue reproducible with current FFmpeg git head?
Confirming that the issue is reproducible with current head version git-2016-07-08-0f2654c, installed using Homebrew --HEAD option.
The duration of last segment is incorrect within the m3u8.
$ brew install ffmpeg --with-tools --with-fdk-aac --with-ffplay --with-libssh --with-openssl --with-x265 --with-libebur128 --HEAD
$ ffmpeg -version ffmpeg version git-2016-07-08-0f2654c Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libass --enable-ffplay --enable-libssh --enable-libfdk-aac --enable-openssl --enable-libx265 --enable-libebur128 --disable-lzma --enable-nonfree --enable-vda libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 49.103 / 57. 49.103 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 47.100 / 6. 47.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100
$ ffmpeg -i ./jellyfish.webm ./jellyfish.m3u8 ffmpeg version git-2016-07-08-0f2654c Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libass --enable-ffplay --enable-libssh --enable-libfdk-aac --enable-openssl --enable-libx265 --enable-libebur128 --disable-lzma --enable-nonfree --enable-vda libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 49.103 / 57. 49.103 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 47.100 / 6. 47.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from './jellyfish.webm': Metadata: encoder : Lavf56.40.101 Duration: 00:00:30.03, start: 0.000000, bitrate: 2319 kb/s Stream #0:0(eng): Video: vp8, yuv420p, 1024x576, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) [libx264 @ 0x7fd2bb801600] using SAR=1/1 [libx264 @ 0x7fd2bb801600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x7fd2bb801600] profile High, level 3.1 [hls @ 0x7fd2bb019000] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, hls, to './jellyfish.m3u8': Metadata: encoder : Lavf57.41.100 Stream #0:0(eng): Video: h264 (libx264), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc (default) Metadata: encoder : Lavc57.49.103 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (vp8 (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame= 900 fps= 25 q=-1.0 Lsize=N/A time=00:00:29.92 bitrate=N/A speed=0.818x video:11074kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 0x7fd2bb801600] frame I:4 Avg QP:23.16 size: 33695 [libx264 @ 0x7fd2bb801600] frame P:890 Avg QP:24.75 size: 12536 [libx264 @ 0x7fd2bb801600] frame B:6 Avg QP:26.83 size: 8062 [libx264 @ 0x7fd2bb801600] consecutive B-frames: 98.7% 1.3% 0.0% 0.0% [libx264 @ 0x7fd2bb801600] mb I I16..4: 11.6% 72.4% 16.0% [libx264 @ 0x7fd2bb801600] mb P I16..4: 3.7% 12.2% 0.6% P16..4: 53.3% 13.7% 4.9% 0.0% 0.0% skip:11.6% [libx264 @ 0x7fd2bb801600] mb B I16..4: 0.9% 1.9% 0.1% B16..8: 49.6% 8.8% 1.8% direct:11.5% skip:25.4% L0:34.6% L1:49.9% BI:15.5% [libx264 @ 0x7fd2bb801600] 8x8 transform intra:74.1% inter:56.7% [libx264 @ 0x7fd2bb801600] coded y,uvDC,uvAC intra: 24.5% 31.8% 10.1% inter: 40.3% 27.3% 2.7% [libx264 @ 0x7fd2bb801600] i16 v,h,dc,p: 33% 18% 38% 11% [libx264 @ 0x7fd2bb801600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 10% 55% 2% 2% 3% 2% 3% 3% [libx264 @ 0x7fd2bb801600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 13% 30% 6% 7% 7% 5% 6% 4% [libx264 @ 0x7fd2bb801600] i8c dc,h,v,p: 52% 16% 30% 3% [libx264 @ 0x7fd2bb801600] Weighted P-Frames: Y:11.2% UV:0.2% [libx264 @ 0x7fd2bb801600] ref P L0: 64.2% 24.7% 8.1% 2.8% 0.2% [libx264 @ 0x7fd2bb801600] ref B L0: 92.2% 7.8% [libx264 @ 0x7fd2bb801600] kb/s:3020.93
$ cat ./jellyfish.m3u8 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:9 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:8.341667, jellyfish0.ts #EXTINF:6.639967, jellyfish1.ts #EXTINF:8.341667, jellyfish2.ts #EXTINF:6.673333, jellyfish3.ts #EXT-X-ENDLIST
comment:10 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed by http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2deafd98988871f25b0778059ee84a704372ec24
Many thanks @stevenliu
comment:11 by , 8 years ago
Version: | 3.0.2 → git-master |
---|
I posted the wrong output in the first code section, should be: