playbin3: memory leak for specific rtsp camera stream
This leak does not occur for older playbin
, and it does happen for a stream with audio.
Debug output is for a single connect/disconnect cycle. For each cycle, I get one more memory,buffer,tag-list etc leak.:
0:00:06.207857000 5192 0ACE6000 WARN video-info video-info.c:205:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:06.208272000 5192 0ACE6000 WARN video-info video-info.c:520:gst_video_info_from_caps: invalid colorimetry, using default
0:00:06.208652000 5192 0ACE6000 WARN video-info video-info.c:205:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:06.209097000 5192 0ACE6000 WARN video-info video-info.c:520:gst_video_info_from_caps: invalid colorimetry, using default
0:00:20.853098000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstTagList, address=(gpointer)0AC861B0, description=(string)taglist, video-codec=(string)"H.264\ \(Baseline\ Profile\)", minimum-bitrate=(uint)1237680, maximum-bitrate=(uint)8147040, bitrate=(uint)1587509;, ref-count=(uint)1, trace=(string);
0:00:20.854425000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstStreamCollection, address=(gpointer)053E0C40, description=(string)collection 053E0C40 (1 streams) < stream video 053E0B70, ID 0796c348e35e180c7e0654a556b79aa6248334b13ed0f56c73739b5ece851d49/0/video:0:0:RTP:AVP:96, flags 0x0, caps [video/x-h264, stream-format=(string)avc, alignment=(string)au, pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)480, framerate=(fraction)30/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)4, codec_data=(buffer)01420028ffe1001c67420028e901687b7fe00020003c48000003000800000301e4d8811501000468ce3880], tags [taglist, video-codec=(string)"H.264\ \(Baseline\ Profile\)", minimum-bitrate=(uint)1237680, maximum-bitrate=(uint)8147040, bitrate=(uint)1587509;], >, ref-count=(uint)1, trace=(string);
0:00:20.856974000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstStream, address=(gpointer)053E0B70, description=(string)stream video 053E0B70, ID 0796c348e35e180c7e0654a556b79aa6248334b13ed0f56c73739b5ece851d49/0/video:0:0:RTP:AVP:96, flags 0x0, caps [video/x-h264, stream-format=(string)avc, alignment=(string)au, pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)480, framerate=(fraction)30/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)4, codec_data=(buffer)01420028ffe1001c67420028e901687b7fe00020003c48000003000800000301e4d8811501000468ce3880], tags [taglist, video-codec=(string)"H.264\ \(Baseline\ Profile\)", minimum-bitrate=(uint)1237680, maximum-bitrate=(uint)8147040, bitrate=(uint)1587509;], ref-count=(uint)1, trace=(string);
0:00:20.859448000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstMemory, address=(gpointer)00649658, description=(string)00649658, ref-count=(uint)1, trace=(string);
0:00:20.860026000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstCaps, address=(gpointer)0ACE6118, description=(string)video/x-h264, stream-format=(string)avc, alignment=(string)au, pixel-aspect-ratio=(fraction)1/1, width=(int)720, height=(int)480, framerate=(fraction)30/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)4, codec_data=(buffer)01420028ffe1001c67420028e901687b7fe00020003c48000003000800000301e4d8811501000468ce3880, ref-count=(uint)1, trace=(string);
0:00:20.861761000 5192 05430F00 TRACE GST_TRACER :0:: object-alive, type-name=(string)GstBuffer, address=(gpointer)0545E930, description=(string)buffer: 0545E930, pts 99:99:99.999999999, dts 99:99:99.999999999, dur 99:99:99.999999999, size 43, offset none, offset_end none, flags 0x0, ref-count=(uint)1, trace=(string);