<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hello All,</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">Did you notice any memory leak problems with the "tsdemux" library component? Just trying to figure out whether the memory leak in my application is happening while using the appsrc buffers or from the next state element.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;">Thanks and regards</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new
 york,times,serif; background-color: transparent; font-style: normal;">Trinadh</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: times new roman,new york,times,serif; background-color: transparent; font-style: normal;"><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> trinadh Pala <me_wavelet@yahoo.co.uk><br> <b><span style="font-weight: bold;">To:</span></b> Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, 26 June 2013, 10:21<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: how to release the GstBuffer memory<br> </font> </div> <div
 class="y_msg_container"><br><div id="yiv7236648448"><div><div style="color:#000;background-color:#fff;font-family:times new roman, new york, times, serif;font-size:12pt;">Hello Martin,<br><br>Thanks for your reply. I will try to install the appsrc library and see. I will now mix QtGstreamer libraries and gst libraries and see. As you mentioned, QtGstreamer is only a wrapper around the gstreamer library. As I had mentioned in my earlier mail QGst::Buffer::create() is creating and allocating but did not notice any g_free mentioned in that function.  The appsrc library I was using was in Qt gstreamer utils. now I have to see how to get this gst/appsrc. <br><br>I wish someone doing the QtGstreamer wrapper library responds to the question.<br><br>Many thanks<br>Trinadh.<br><div><span><br></span></div><div><br></div>  <div style="font-family:times new roman, new york, times, serif;font-size:12pt;"> <div style="font-family:times new roman, new york,
 times, serif;font-size:12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> Angel Martin <amartin@vicomtech.org><br> <b><span style="font-weight:bold;">To:</span></b> trinadh Pala <me_wavelet@yahoo.co.uk>; Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Wednesday, 26 June 2013, 8:06<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: how to release the GstBuffer memory<br> </font> </div> <div class="yiv7236648448y_msg_container"><br>As far as i understood you can mix gstreamer baseline code with QT and<br>use QT Objects as sinks but I've never used QT wrapper of gstreamer.<br>The code that I posted fixes the memory leak for sure.<br><br>2013/6/25 trinadh Pala <<a rel="nofollow" ymailto="mailto:me_wavelet@yahoo.co.uk" target="_blank"
 href="mailto:me_wavelet@yahoo.co.uk">me_wavelet@yahoo.co.uk</a>>:<br>> Hello Angel Martin &
 all,<br>><br>> I have gone through the program that was in the link below. This program is<br>> playing some 300 video frames and after that it stops. So if there is any<br>> memory leak, it may not be able to indicate. So I am not sure whether this<br>> program has been tested for memory leak. It is not clear to me how the<br>> buffer release was implemented. If I call g_free(pointer). or<br>> m_buffer->clear in my program after pushing the buffer to the pipeline, the<br>> program exits. if I do not use g_free or m_buffer->clear then the program<br>> continues to send the ts data to the down stream elemets and decoding<br>> happens properly except for the problem of leaking memory. I am stuck with<br>> the problem for a couple of day, the application is no use without fixing<br>> this memory leak. Please help.<br>><br>> Thanks and regards<br>> Trinadh<br>><br>><br>>
 ________________________________<br>> From: Angel Martin <<a rel="nofollow" ymailto="mailto:amartin@vicomtech.org" target="_blank" href="mailto:amartin@vicomtech.org">amartin@vicomtech.org</a>><br>> To: trinadh Pala <<a rel="nofollow" ymailto="mailto:me_wavelet@yahoo.co.uk" target="_blank" href="mailto:me_wavelet@yahoo.co.uk">me_wavelet@yahoo.co.uk</a>>; Discussion of the development of<br>> and with GStreamer <<a rel="nofollow" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>><br>> Sent: Tuesday, 25 June 2013, 16:21<br>> Subject: Re: how to release the GstBuffer memory<br>><br>> Hi,<br>><br>> Here you will find the proper way:<br>><br>> <a rel="nofollow" target="_blank"
 href="http://users.design.ucla.edu/~acolubri/test/gstreamer/appsrc_filesink.c">http://users.design.ucla.edu/~acolubri/test/gstreamer/appsrc_filesink.c</a><br>> /* used to inject a new buffer into the pipeline */<br>>
 static void<br>> inject_new_buffer_into_pipeline (ProgramData * data)<br>> {<br>>   guint size;<br>>   gpointer raw_buffer;<br>>   GstBuffer *app_buffer;<br>>   GstElement *source;<br>><br>>   size = 80 * 60 * 4; // 80x60 pixels, 32 bpp.<br>>   g_print ("Pushing a buffer of size %d\n", size);<br>><br>>   // Allocating the memory for the buffer.<br>>   raw_buffer = g_malloc0 (size);<br>><br>>   app_buffer = gst_app_buffer_new (raw_buffer, size, g_free, raw_buffer);<br>><br>>   /* newer basesrc will set caps for use automatically but it does not<br>> really<br>>   * hurt to set it on the buffer again */<br>>   gst_buffer_set_caps (app_buffer, gst_caps_from_string (video_caps));<br>><br>>   /* get source an push new buffer */<br>>   source = gst_bin_get_by_name (GST_BIN (data->sink), "testsource");<br>>  
 gst_app_src_push_buffer (GST_APP_SRC (source), app_buffer);<br>> }<br>><br>> 2013/6/25 trinadh Pala <<a rel="nofollow" ymailto="mailto:me_wavelet@yahoo.co.uk" target="_blank" href="mailto:me_wavelet@yahoo.co.uk">me_wavelet@yahoo.co.uk</a>>:<br>>> Hello,<br>>><br>>> I am writing an application using QtGstreamer library.<br>>><br>>> I am implemeting a media player application. i am using Appsource for<br>>> linking the source. The data is available in a char *buffer.<br>>><br>>> I created  a buffer using  QGst::Buffer::create(size).<br>>> // pBuf has the Transport stream data char *pBuf<br>>> // This piece of code is in a loop.<br>>><br>>>  QGst::BufferPtr m_buffer;<br>>>    m_buffer=QGst::Buffer::create(buf_size);<br>>><br>>>    quint8 *m_data_ptr=m_buffer->data();<br>>><br>>>   
 memcpy(m_data_ptr,pBuf,buf_size);<br>>><br>>>    if(this->m_player->m_pipeline);<br>>><br>>>          ret = this->m_player->m_appsrc.pushBuffer(m_buffer);<br>>><br>>>        if (!m_buffer.isNull())<br>>>            {<br>>>        if (ret != QGst::FlowOk)<br>>>                {<br>>>        /* some error, stop sending data */<br>>>                qDebug("some error");<br>>>                }<br>>>            else<br>>>                {<br>>>                qDebug("pushed a buffer
 successfully");<br>>><br>>>                }<br>>>            }<br>>><br>>><br>>> The method works, i am able to display the video. However, I did not know<br>>> how to release the buffer created. so the application leaks memory. How to<br>>> release the Buffer, after pushBuffer. Please help.<br>>><br>>> Thanks and regards<br>>> Trinadh<br>>><br>>> _______________________________________________<br>>> gstreamer-devel mailing list<br>>> <a rel="nofollow" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>>> <a rel="nofollow" target="_blank"
 href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>>><br>>
 _______________________________________________<br>> gstreamer-devel mailing list<br>> <a rel="nofollow" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>> <a rel="nofollow" target="_blank" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>><br>><br>><br>> _______________________________________________<br>> gstreamer-devel mailing list<br>> <a rel="nofollow" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>> <a rel="nofollow" target="_blank"
 href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>><br>_______________________________________________<br>gstreamer-devel mailing list<br><a rel="nofollow" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br><a rel="nofollow" target="_blank" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br><br><br></div> </div> </div>  </div></div></div><br>_______________________________________________<br>gstreamer-devel mailing list<br><a ymailto="mailto:gstreamer-devel@lists.freedesktop.org" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel"
 target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br><br><br></div> </div> </div>  </div></body></html>