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!

For detail information about STREAM_TYPE_BUFFER and STREAM_TYPE_EGL, please refer to


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


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.

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.


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.