AW: Grabbing frames from GStreamer pipeline

Thornton, Keith keith.thornton at zeiss.com
Wed Jun 15 06:24:56 UTC 2016


The API I am using to provide the buffers to my grabber card is proprietary to the grabber card so that won’t help you much
I am then creating a gst_buffer using
Gst_buffer_new_wrapped(GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS, bufferAddress, bufferSize, 0, bufferUsedSize, freeAdress, freeFunction);
(the last two parameters are needed because the buffer has to be returned to the grabber card’s queue when the pipeline has finished with it)
Which takes the existing data and wraps it in a gst_buffer before calling gst_app_src_push_buffer.
Maybe you can achieve something here.

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org] Im Auftrag von Kiran Kumar
Gesendet: Mittwoch, 15. Juni 2016 08:12
An: Discussion of the development of and with GStreamer
Betreff: Re: Grabbing frames from GStreamer pipeline

Can you please explain me how you are doing this? I'm trying this from past 5 days.

On Tue, Jun 14, 2016 at 11:05 PM, Thornton, Keith <keith.thornton at zeiss.com<mailto:keith.thornton at zeiss.com>> wrote:
I am not setting the size in my SampleCallback function but I am setting the size (and type of memory i.e.contiguous) where I provide the buffers to my grabber card.

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org<mailto:gstreamer-devel-bounces at lists.freedesktop.org>] Im Auftrag von Kiran Kumar
Gesendet: Mittwoch, 15. Juni 2016 07:49

An: Discussion of the development of and with GStreamer
Betreff: Re: Grabbing frames from GStreamer pipeline

Hi,

Are you setting the size in your code?

On Tue, Jun 14, 2016 at 10:46 PM, Thornton, Keith <keith.thornton at zeiss.com<mailto:keith.thornton at zeiss.com>> wrote:
Hi,
I don’t know what you are doing but when I call gst_buffer_map for my Full HD frames, I get info.size=8294400 and one single block of memory which I can copy in a single operation.

Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org<mailto:gstreamer-devel-bounces at lists.freedesktop.org>] Im Auftrag von Kiran Kumar
Gesendet: Mittwoch, 15. Juni 2016 00:27
An: Discussion of the development of and with GStreamer
Betreff: Re: Grabbing frames from GStreamer pipeline

I also used gst_base_sink_set_blocksize() to set the blocksize when the sink is in pull mode. Nothing changed.

Thanks,
Kiran

On Mon, Jun 13, 2016 at 10:51 PM, Thornton, Keith <keith.thornton at zeiss.com<mailto:keith.thornton at zeiss.com>> wrote:
Hi,
I think you are mistaken when you say “The gst_app_sink_pull_sample(), gst_sample_get_buffer() and gst_buffer_map() hands out only streams which are of size 4096 bytes each”. I am using these APIs to pass full 1920 * 1080 frames. You should provide more details so that we can maybe see what is going wrong.



Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org<mailto:gstreamer-devel-bounces at lists.freedesktop.org>] Im Auftrag von Kiran Kumar
Gesendet: Montag, 13. Juni 2016 21:20
An: gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
Betreff: Grabbing frames from GStreamer pipeline

Hi,

I am new to this forum.

I am trying to pull frames from gstreamer pipeline and feed it to user application. I am using appsink pad to pull out the frames while the pipeline is in the PLAYING state.

Problem:
1. The gst_app_sink_pull_sample(), gst_sample_get_buffer() and gst_buffer_map() hands out only streams which are of size 4096 bytes each. I tried changing the blocksize but, there is no effect.

My goal:
To extract or pull a single frame into a single buffer and feed this buffer as input to my application which does some image processing (I am not using OpenCV).

I want to pull every frame from the video-source, populate the buffer (each frame is associated with a particular buffer) and finally feed the buffer to my application. I don't want to dump this frame into a file in my filesystem.

Questions:
1. Are there any other ways in which I can achieve my goal without using appsink?
2. If using appsink is the only way I can pull data from gstreamer, how can I achieve my goal using appsink?

I appreciate any guidance.

Thanks in advance.
Kiran

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160615/c1c7b65c/attachment-0001.html>


More information about the gstreamer-devel mailing list