<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hello,</span></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;"><span><br></span></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;"><span>I am using these libraries, I do not find the </span><br> gst_app_buffer_new in these libraries. I understand this may be in the gst/app/ library. i may end up mixing too many libraries, which is the proper way to do using QGst libraries?<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;"><span><br></span></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;"><span> -lQtGStreamer-0.10 \<br> -lQtGStreamerUi-0.10 \<br> -lQtGStreamerUtils-0.10 \</span></div><div><br></div><div>Thanks and regards</div><div>Trinadh<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> Tuesday, 25
June 2013, 16: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>Hi,<br><br>Here you will find the proper way:<br><br><a href="http://users.design.ucla.edu/~acolubri/test/gstreamer/appsrc_filesink.c" target="_blank">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 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 ymailto="mailto:me_wavelet@yahoo.co.uk" 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 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>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>