]> rtime.felk.cvut.cz Git - frescor/streamer.git/blobdiff - streamer.c
Proper CPU contracts in streamer
[frescor/streamer.git] / streamer.c
index c34f01760bcacd6484ae6b919807b63baa7e21e8..33df5bcf4a7d1c7a59d6924cfa86a649a8d87712 100644 (file)
@@ -184,7 +184,9 @@ void* streamer_run(void* args)
       //rt_job_start(pkt->pts);
       f = pkt_decode(s, pkt);
       if (f) {
+        int keyframe;
         opkt = pkt_encode(os, f);
+       keyframe = os->streams[0]->codec->coded_frame->key_frame;
         if (opkt) {
           pkt_send(os, opkt);
 
@@ -193,8 +195,8 @@ void* streamer_run(void* args)
          if (opkt->size < min_size)
                  min_size = opkt->size;
          avg_size = avg_size*frame/(frame+1) + (double)opkt->size/(frame+1);
-         printf("%5d: %2d (%4.1f) fps  opkt size: %5d b  max=%5u b min=%5u b avg=%5.0f\n",
-                frame,
+         printf("%5d%c: %2d (%4.1f) fps  opkt size: %5d b  max=%5u b min=%5u b avg=%5.0f\n",
+                frame, keyframe ? '*':' ',
                 fps_avg>>16, 1000.0/(d.tv_sec*1000+d.tv_nsec/1000000),
                 opkt->size, max_size, min_size, avg_size);
          if (frame % 100 == 0) max_size=0;
@@ -272,14 +274,14 @@ int main(int argc, char *argv[])
   dump_format(os, 0, os->filename, 1);
   sdp_print(os, sdp_file);
 
-#if CONFIG_FFMPEG_WITH_FRSH && CONFIG_AQUOSA
+#if CONFIG_FFMPEG_WITH_FRSH
   frsh_thread_attr_t frsh_attr;
   frsh_thread_id_t thread;
   frsh_vres_id_t cpu_vres;
   frsh_contract_t cpu_contract;
   frsh_rel_time_t cpu_budget, cpu_period;
  
-  cpu_budget = fosa_msec_to_rel_time(10);
+  cpu_budget = fosa_msec_to_rel_time(5);
   cpu_period = fosa_msec_to_rel_time(1000/fps);
   /* Contract negotiation for CPU */
   ret = frsh_contract_init(&cpu_contract);
@@ -292,7 +294,7 @@ int main(int argc, char *argv[])
                                             FRSH_CT_REGULAR);
        if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params");
        ret = frsh_contract_set_resource_and_label(&cpu_contract, 
-                       FRSH_RT_PROCESSOR, FRSH_CPU_ID_DEFAULT, "aqcpu_cont");
+                       FRSH_RT_PROCESSOR, FRSH_CPU_ID_DEFAULT, "camera_ctrl");
        if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_resource_and_label");
 
        ret = frsh_contract_negotiate(&cpu_contract, &cpu_vres);