1 #include <stdlib.h> 2 #include <stdint.h> 3 #include <stdio.h> 4 #include <unistd.h> 5 #include <stdbool.h> 6 7 #include <arcan_shmif.h> 8 verify_step(struct arcan_shmif_cont * cont)9#ifdef ENABLE_FSRV_AVFEED 10 void arcan_frameserver_avfeed_run(const char* resource, const char* keyfile) 11 #else 12 int main(int argc, char** argv) 13 #endif 14 { 15 struct arg_arr* aarr; 16 struct arcan_shmif_cont cont = arcan_shmif_open( 17 SEGID_APPLICATION, SHMIF_ACQUIRE_FATALFAIL, &aarr); 18 19 uint8_t step_r = 0; 20 uint8_t step_g = 0; 21 uint8_t step_b = 255; 22 23 int left = 5; 24 while (left--) { 25 for (size_t row = 0; row < cont.h; row++) 26 for (size_t col = 0; col < cont.w; col++) 27 cont.vidp[ row * cont.addr->w + col ] = SHMIF_RGBA(step_r, step_g, step_b, 0xff); 28 step_r++; 29 step_g += step_r == 255; 30 step_b += step_g == 255; 31 32 arcan_shmif_signal(&cont, SHMIF_SIGVID); 33 sleep(1); 34 printf("left: %d\n", left); 35 } 36 printf("shutting down\n"); 37 arcan_shmif_drop(&cont); 38 39 #ifndef ENABLE_FSRV_AVFEED 40 return EXIT_SUCCESS; 41 #endif 42 } 43