On Tue Nov 21 10:57:06 2023 +0000, Rémi Bernon wrote:
This doesn't look right. The flag should be set if the buffer was partially read already.
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.