Re: 回复: can not get decoded data from appsink in GStreamer v1.0.9

Wonchul Lee chul0812 at gmail.com
Mon Aug 26 16:02:55 PDT 2013


In addition, you should set the 'emit-signals' property to TRUE value for
appsink element.


2013/8/27 Wonchul Lee <chul0812 at gmail.com>

> At the cb_new_buffer, you can get the buffer.
> Like as blow code.
>
> static GstFlowReturn
> cb_new_buffer(GstElement * sink)
> {
>   GstSample *sample;
>   GstCaps *caps;
>   GstBuffer *buf;
>
>   g_signal_emit_by_name (sink, "pull-sample", &sample);
>
>   caps = gst_sample_get_caps (sample);
>   buf = gst_sample_get_buffer (sample);
>
>
> if (sample) { gst_sample_unref (sample); } return GST_FLOW_OK; }
>
>
> GstSample contains the reference of buffer and caps data.
>
> You should unref after use the sample data.
>
> It is the reason why blocked after got the first data.
>
>
>
> 2013/8/27 Brendan Long <self at brendanlong.com>
>
>>  How are you getting the sample? Is it possible that you're accidentally
>> blocking the pipeline?I think you're supposed to use "pull-sample" to get
>> the new sample, but if you call "pull-sample" where there is no sample, it
>> will block, and depending on how you're running your pipeline, that could
>> block everything. That's just a guess though, since you're not showing very
>> much of your code.
>>
>>
>> On 08/24/2013 05:18 AM, jojo wrote:
>>
>>  Hi,
>>  i use the simplest pipe line again as bellow:
>>
>>  pipe = gst_parse_launch("appsrc is-live=1 do-timestamp=1
>> caps=\"image/jpeg, width=1920, height=1080\" name=\"appsrc\" ! appsink
>> name=\"appsink\"");
>>
>>  it can get the first 1 "sample" just only.
>>
>>  Thanks,
>>
>>  - Jojo
>>
>>  在 2013年8月24日星期六,下午5:17,jojo 写道:
>>
>>   Hi,
>>  My pipeline is :
>>
>>  pipe = gst_parse_launch("appsrc is-live=1 do-timestamp=1
>> caps=image/jpeg, width=1920, height=1080 name=\"appsrc\" ! decodebin !
>> queue !  videoconvert ! appsink caps=\"%s\" name=\"appsink\",
>> GST_VIDEO_CAPS_MAKE("BGRx")).
>>
>>  g_signal_connect (appsink, "new-sample", G_CALLBACK (cb_new_buffer),
>> data);
>>
>>  in the gstreamer v0.10, the callback is triggered if there are new
>> buffer, but i can not get new data from this callback in the version 1.0.9,
>>
>>  some of my parameters of "gst_parse_launch" are wrong ?
>>
>>  Any hins will be helpful.
>>
>>  Thanks,
>>
>>  - Jojo
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130827/20ae84aa/attachment.html>


More information about the gstreamer-devel mailing list