camera/drv-v4l2.c
int v4l2CaptureStartStreaming(V4L2Capture *capture,int burst_mode,int nBuffer){
  int res = -1;
  if ( capture->iomode != V4L2_CAP_STREAMING &&
       capture->capabilities & V4L2_CAP_STREAMING ){
			
    if (nBuffer<2)
      nBuffer = 2;	
			
    res = capture_mmap(capture,nBuffer);
    if (!res) {
      capture->iomode = V4L2_CAP_STREAMING;
      capture->burst_mode = burst_mode;
      //#ifndef BURST_MODE
      if (!capture->burst_mode) {			
        int next = capture->curr_frame_idx +1;
        if (next >= capture->frames)
          next=0;
		
        capture_enqueue(capture,next);
      } else {
        //#else
        int i;
        for (i = 0; i<capture->frames;i++){
          capture_enqueue(capture,i);
        }
      }
      //#endif
      int type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
			
      res = v4l_ioctl(capture,VIDIOC_STREAMON,&type);

    }
  }
  return res;
}
/// Start streaming I/O (Memory Mapping)
/** 
 * @param capture - video capturing structure
 * @param burst_mode - Turn on burst mode.
 * @param nBuffer - no. of buffer should be allocated. (The min value is 2.) 
 * @Return Non-zero value to indicate error
 * 
 * Streaming is an I/O method where only pointers to buffers
 * are exchanged between application and driver. Depend on 
 * driver's implementation, the max no. of buffers could be 
 * different. 
 * 
 * To retrieve a frame from device, a buffer must be enqueued
 * into capturing buffer and then dequeued when the user require 
 * to grab the frame.
 * 
 * Burst mode controls the way of enqueuing process. With 
 * burst mode, all buffers are enqueued in order to get 
 * the highest throughput. Otherwise, only a single buffer
 * is enqueued for each iteration of v4l2CaputreQueryFrame() .
 *  
 *  
 */
Start streaming I/O (Memory Mapping)
@param capture - video capturing structure
@param burst_mode - Turn on burst mode.
@param nBuffer - no. of buffer should be allocated. (The min value is 2.)
@Return Non-zero value to indicate error

Streaming is an I/O method where only pointers to buffers
are exchanged between application and driver. Depend on
driver's implementation, the max no. of buffers could be
different.

To retrieve a frame from device, a buffer must be enqueued
into capturing buffer and then dequeued when the user require
to grab the frame.

Burst mode controls the way of enqueuing process. With
burst mode, all buffers are enqueued in order to get
the highest throughput. Otherwise, only a single buffer
is enqueued for each iteration of v4l2CaputreQueryFrame() .
Start streaming I / O ( Memory Mapping ) @param capture - video capturing structure @param burst_mode - Turn on burst mode . @param nBuffer - no . of buffer should be allocated . ( The min value is 2 . ) @Return Non - zero value to indicate error Streaming is an I / O method where only pointers to buffers are exchanged between application and driver . Depend on driver ' s implementation the max no . of buffers could be different . To retrieve a frame from device a buffer must be enqueued into capturing buffer and then dequeued when the user require to grab the frame . Burst mode controls the way of enqueuing process . With burst mode all buffers are enqueued in order to get the highest throughput . Otherwise only a single buffer is enqueued for each iteration of v4l2CaputreQueryFrame () .
int v4l2CaptureStartStreaming(V4L2Capture *capture,int burst_mode,int nBuffer){
  int res = -1;
  if ( capture->iomode != V4L2_CAP_STREAMING &&
       capture->capabilities & V4L2_CAP_STREAMING ){
    if (nBuffer<2)
      nBuffer = 2;	
    res = capture_mmap(capture,nBuffer);
    if (!res) {
      capture->iomode = V4L2_CAP_STREAMING;
      capture->burst_mode = burst_mode;
      if (!capture->burst_mode) {			
        int next = capture->curr_frame_idx +1;
        if (next >= capture->frames)
          next=0;
        capture_enqueue(capture,next);
      } else {
        int i;
        for (i = 0; i<capture->frames;i++){
          capture_enqueue(capture,i);
        }
      }
      int type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
      res = v4l_ioctl(capture,VIDIOC_STREAMON,&type);
    }
  }
  return res;
}
int v4l2CaptureStartStreaming ( V4L2Capture * capture , int burst_mode , int nBuffer ) { int res = -1 ; if ( capture -> iomode != V4L2_CAP_STREAMING && capture -> capabilities & V4L2_CAP_STREAMING ) { if ( nBuffer < 2 ) nBuffer = 2 ; res = capture_mmap ( capture , nBuffer ) ; if ( ! res ) { capture -> iomode = V4L2_CAP_STREAMING ; capture -> burst_mode = burst_mode ; if ( ! capture -> burst_mode ) { int next = capture -> curr_frame_idx + 1 ; if ( next >= capture -> frames ) next = 0 ; capture_enqueue ( capture , next ) ; } else { int i ; for ( i = 0 ; i < capture -> frames ; i ++ ) { capture_enqueue ( capture , i ) ; } } int type = V4L2_BUF_TYPE_VIDEO_CAPTURE ; res = v4l_ioctl ( capture , VIDIOC_STREAMON , & type ) ; } } return res ; }
Start streaming I/O (Memory Mapping)
 @param capture - video capturing structure
 @param burst_mode - Turn on burst mode.
Start streaming I / O ( Memory Mapping ) @param capture - video capturing structure @param burst_mode - Turn on burst mode .
//#ifndef BURST_MODE //#else //#endif