playbin3: tracer leaks
The leaks tracer is detecting a bunch of leaks when running gst-play-1.0
on a video file with --use-playbin3
.
$ GST_TRACERS="leaks" GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 tests/medias/video-2s.mkv
(...)
0:00:02.180382846 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstTagList, address=(gpointer)0x7f6e74140630, description=(string)taglist, video-codec=(string)"H.264\ \(High\ Profile\)", encoder=(string)x264, bitrate=(uint)1442151, minimum-bitrate=(uint)1221360, maximum-bitrate=(uint)1541760;, ref-count=(uint)1, trace=(string);
0:00:02.180399648 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstStreamCollection, address=(gpointer)0x7f6e7800c660, description=(string)collection 0x7f6e7800c660 (1 streams) < stream video 0x7f6e7800c030, ID f2d60c1e06ba3aa6cf5f38c574482211fbe2efc8a2a5ddaa0dc9ead670e23370/001:3992135233783999116, flags 0x2, caps [video/x-h264, level=(string)2, profile=(string)high, codec_data=(buffer)01640014ffe1001d67640014acd94141fb016a0c020b4a000003000200000300791e28532c01000568ebecb22c, stream-format=(string)avc, alignment=(string)au, width=(int)320, height=(int)240, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:4, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true], tags [taglist, video-codec=(string)"H.264\ \(High\ Profile\)", encoder=(string)x264, bitrate=(uint)1442151, minimum-bitrate=(uint)1221360, maximum-bitrate=(uint)1541760;], >, ref-count=(uint)1, trace=(string);
0:00:02.180409558 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstStream, address=(gpointer)0x7f6e7800c030, description=(string)stream video 0x7f6e7800c030, ID f2d60c1e06ba3aa6cf5f38c574482211fbe2efc8a2a5ddaa0dc9ead670e23370/001:3992135233783999116, flags 0x2, caps [video/x-h264, level=(string)2, profile=(string)high, codec_data=(buffer)01640014ffe1001d67640014acd94141fb016a0c020b4a000003000200000300791e28532c01000568ebecb22c, stream-format=(string)avc, alignment=(string)au, width=(int)320, height=(int)240, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:4, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true], tags [taglist, video-codec=(string)"H.264\ \(High\ Profile\)", encoder=(string)x264, bitrate=(uint)1442151, minimum-bitrate=(uint)1221360, maximum-bitrate=(uint)1541760;], ref-count=(uint)1, trace=(string);
0:00:02.180422602 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMemory, address=(gpointer)0x83c600, description=(string)0x83c600, ref-count=(uint)1, trace=(string);
0:00:02.180428627 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7f6e7410a040, description=(string)<'':sink_0>, ref-count=(uint)55, trace=(string);
0:00:02.180434930 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstCaps, address=(gpointer)0x7f6e70014c50, description=(string)video/x-h264, level=(string)2, profile=(string)high, codec_data=(buffer)01640014ffe1001d67640014acd94141fb016a0c020b4a000003000200000300791e28532c01000568ebecb22c, stream-format=(string)avc, alignment=(string)au, width=(int)320, height=(int)240, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:4, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, ref-count=(uint)1, trace=(string);
0:00:02.180441880 654132 0x9ee990 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstBuffer, address=(gpointer)0x7f6e78007a20, description=(string)buffer: 0x7f6e78007a20, pts 99:99:99.999999999, dts 99:99:99.999999999, dur 99:99:99.999999999, size 45, offset none, offset_end none, flags 0x0, ref-count=(uint)1, trace=(string);
** (gst-play-1.0:654132): WARNING **: 16:19:13.367: Leaks detected and logged under GST_DEBUG=GST_TRACER:7
We do not have those when running without --use-playbin3
.
Most of those are fixed with gst-plugins-base!1174 (closed) except this one for which I did not find any obvious culprit.
0:00:02.256666402 654310 0x18b0090 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstConcatPad, address=(gpointer)0x7f1bdc0fc080, description=(string)<'':sink_0>, ref-count=(uint)55, trace=(string);