if( ctl->parallel_read )
static void load_frame( int num_frame ){	printf("Push %d\n",num_frame);		if(last_frame>=0 && num_frame>last_frame &&num_frame<istrm_nframes)	{		mjpeg_error("Internal:readframe: internal error reading beyond end of frames");		abort();	}		if( frames_read == 0)	{#ifdef __linux__		pthread_mutexattr_t mu_attr;		pthread_mutexattr_t *p_attr = &mu_attr;		pthread_mutexattr_settype( &mu_attr, PTHREAD_MUTEX_ERRORCHECK );#else		pthread_mutexattr_t *p_attr = NULL;		#endif				pthread_mutex_init( &frame_buffer_lock, p_attr );        lum_mean = new int[frame_buffer_size];		/*          Pre-fill the buffer with one chunk of frames...        */		if( ctl->parallel_read )        {			start_worker();            read_chunk_par( num_frame);        }        else        {            read_chunk_seq( num_frame);        } 	}   /* Read a chunk of frames if we've got less than one chunk buffered	*/   if( ctl->parallel_read )	   read_chunk_par( num_frame );   else	   read_chunk_seq( num_frame );   /* We aren't allowed to go too far behind the last read	  either... */   if( num_frame+static_cast<int>(frame_buffer_size) < frames_read )   {	   mjpeg_error("Internal:readframe: %d internal error - buffer flushed too soon", frame_buffer_size );	   abort();   }	printf("Pushed %d %d\n",num_frame,frames_read);		}