On Tue Nov 21 14:16:06 2023 +0000, Alfred Agrell wrote:
Should, yes. But it isn't. gst-launch does the same; it emits multiple buffers for the same input, and they all have the same flags (except the first one, which is the discontinuity flag).
$ GST_DEBUG=5 GST_DEBUG_NO_COLOR=1 gst-launch-1.0 filesrc location=/home/walrus/x/krkrwine/waga.wmv ! asfdemux ! avdec_wmalossless ! fakesink 2>&1 | grep 'calling chain' | head -n50 0:00:00.191926833 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f65900, pts 0:00:00.000000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6040 0:00:00.192388724 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f657e0, pts 0:00:00.556000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.193187252 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0475a0, pts 0:00:00.000000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x40 0:00:00.194288686 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047480, pts 0:00:00.046439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.194525602 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047360, pts 0:00:00.092879819, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.194901624 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0475a0, pts 0:00:00.139319728, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.195333230 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047a20, pts 0:00:00.185759637, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.195705815 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047900, pts 0:00:00.232199546, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.196035104 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0475a0, pts 0:00:00.278639456, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.196366763 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047360, pts 0:00:00.325079365, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.196698380 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047480, pts 0:00:00.371519274, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.197030684 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0475a0, pts 0:00:00.417959184, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.197361794 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047900, pts 0:00:00.464399093, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.197687886 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047a20, pts 0:00:00.510839002, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.197938711 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f65b40, pts 0:00:00.835000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.198238421 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b120, pts 0:00:00.556000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.198574422 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b000, pts 0:00:00.602439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.198914383 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047ea0, pts 0:00:00.648879819, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.199266605 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b120, pts 0:00:00.695319728, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.199601593 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc047a20, pts 0:00:00.741759637, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.199932884 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b480, pts 0:00:00.788199546, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.200119034 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f65d80, pts 0:00:01.021000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.200418822 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b5a0, pts 0:00:00.835000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.200751757 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x5624e1f657e0, pts 0:00:00.881439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.201090412 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b480, pts 0:00:00.927879819, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.201417297 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04ba20, pts 0:00:00.974319728, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.201568535 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e000, pts 0:00:01.114000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.201861384 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x5624e1f65b40, pts 0:00:01.021000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.202197868 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b480, pts 0:00:01.067439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.202367224 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f65c60, pts 0:00:01.253000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.202662103 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc05ec60, pts 0:00:01.114000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.202997006 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x5624e1f65d80, pts 0:00:01.160439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.203349696 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc04b900, pts 0:00:01.206879819, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.203502291 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x5624e1f65ea0, pts 0:00:01.346000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.203799351 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc095480, pts 0:00:01.253000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.204133982 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc01e000, pts 0:00:01.299439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.204285788 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e120, pts 0:00:01.439000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.204578298 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc095900, pts 0:00:01.346000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.204912776 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0957e0, pts 0:00:01.392439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.205047225 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e360, pts 0:00:01.532000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.205334301 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc095b40, pts 0:00:01.439000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.205668675 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x5624e1f65ea0, pts 0:00:01.485439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.205818365 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e5a0, pts 0:00:01.625000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.206114719 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc01e120, pts 0:00:01.532000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.206457771 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc095b40, pts 0:00:01.578439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.206625265 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e240, pts 0:00:01.764000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000 0:00:00.206919459 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc0b0360, pts 0:00:01.625000000, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.207261515 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc01e360, pts 0:00:01.671439909, dts 99:99:99.999999999, dur 0:00:00.046439910, size 8192, offset none, offset_end none, flags 0x0 0:00:00.207606699 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<fakesink0:sink> calling chainfunction &gst_base_sink_chain with buffer buffer: 0x7f9acc095900, pts 0:00:01.717879819, dts 99:99:99.999999999, dur 0:00:00.046439909, size 8192, offset none, offset_end none, flags 0x0 0:00:00.207756829 728640 0x5624e1f1ac60 DEBUG GST_SCHEDULING gstpad.c:4459:gst_pad_chain_data_unchecked:<avdec_wmalossless0:sink> calling chainfunction &gst_audio_decoder_chain with buffer buffer: 0x7f9acc01e480, pts 0:00:01.857000000, dts 99:99:99.999999999, dur 0:00:00.098890300, size 13375, offset none, offset_end none, flags 0x6000
I can upload the file somewhere if you want, but it's 80MB and not freely licensed.
Is this needed by an application or is it just to pass the tests? In the latter case we can just keep a todo_wine. This flags fixup looks too arbitrary.