GNOME Bugzilla – Bug 114560
rfc2250enc produces empty buffers
Last modified: 2004-12-22 21:47:04 UTC
When hooking the rfc2250enc component (from the mpegstream plugin) up to an mpeg video source, the component sends over buffers with a payload of size 0 (zero). To reproduce do: gst-launch -v filesrc location=myelementarympegstream.mpg ! rfc2250enc ! fakesink dump=true The problem lies in gst/mpegstream/gstrfc2250enc.c, where the merging of buffers is done incorrectly in all cases, probably due to an (old) API change of gst_buffer_merge(). They way it is used, it is given 2 arguments, being the to-be-merged buffers. The context shows that it expects the result to be in the buffer given as the first argument, but the API says that the function creates a new buffer and fills it with the concatenation of the two buffers and returns that. I have checked this by creating a new pointer variable and using that to collect the return value and using that in the code that follows it. This works as expected.
2004-03-05 David Schleef <ds@schleef.org> * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): Fix code that ignores return value of gst_buffer_merge(). (bug #114560) * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_segment): * gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_add_slice): same * testsuite/gst-lint: Check for above.