The difference between STREAM_TYPE_BUFFER and STREAM_TYPE_EGL

I can not understand the meaning of STREAM_TYPE_BUFFER and STREAM_TYPE_EGL(createOutputStreamSettings API)
for example, I want to receive camera data from argus api and save it to disk,
I do not need to do display or encode the camera data, I just need the raw data from argus api.
Which kind of STREAM_TYPE do I need?
I look forward to your reply!

Hi,
For detail information about STREAM_TYPE_BUFFER and STREAM_TYPE_EGL, please refer to

/usr/src/jetson_multimedia_api/argus/docs/doxygen/html/BufferStream_8h_source.html
/usr/src/jetson_multimedia_api/argus/docs/doxygen/html/EGLStream_8h_source.html

If you would like to save each frame to storage. You can check

/usr/src/jetson_multimedia_api/samples/09_camera_jpeg_capture

It demonstrates saving each frame into JPEG.

Hi Wufan,
If you want a quick understanding and if you want to save a frame to disk I would suggest you to check this beginner’s guide to LibArgus which I have created here.
https://devtalk.nvidia.com/default/topic/1069502/jetson-tx2/jetson-camera-application-guide-/post/5417643/#5417643

You can use either STREAM_TYPE_BUFFER or STREAM_TYPE_EGL. As Dane has suggested please check the above documentation or you can even check the following pdf.

/usr/src/jetson/multimedia_api/argus/docs/Argus<Rev>.pdf

For understanding the code flow of STREAM_TYPE_EGL you can check “oneShot” sample and for understanding STREAM_TYPE_BUFFER I would recommend you to check “eglImage” sample present in the following directory.

/usr/src/jetson_multimedia_api/argus/samples