]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/blobdiff - libavformat/udp.c
Added meaningful labels to FWP contracts
[frescor/ffmpeg.git] / libavformat / udp.c
index f05d332b52c0aea7288f04c0a26f2f01967b1078..d45288e5e27b79588924428cb21db29590bc9d22 100644 (file)
@@ -35,6 +35,8 @@
 #include <sys/time.h>
 
 #include <frsh.h>
+#include <frsh_core_types.h>
+
 long int udp_budget, udp_period;
 
 typedef struct {
@@ -52,6 +54,7 @@ typedef struct {
        frsh_vres_id_t vres;
        frsh_send_endpoint_protocol_info_t send_pinfo;
        frsh_contract_t contract;
+       frsh_contract_label_t label;
        frsh_rel_time_t budget, period;
 } UDPContext;
 
@@ -127,9 +130,10 @@ udp_socket_create(UDPContext *s, struct sockaddr_in *addr, int *addr_len)
                                             FRSH_CT_REGULAR);
        //if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params");
        if (ret) return -1;
-       snprintf(netcont_name, sizeof(netcont_name), "net_cont%d", ++netcont_num);
+       snprintf(netcont_name, sizeof(netcont_name), "ffmpeg%02d", ++netcont_num);
        ret = frsh_contract_set_resource_and_label(&s->contract,FRSH_RT_NETWORK,
-                                               FRSH_NETPF_FWP, netcont_name);
+                                                  FRSH_NETPF_FWP,
+                                                  s->label[0] ? s->label : netcont_name);
        //if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_resource_and_label");
        if (ret) return -1;
 
@@ -254,6 +258,10 @@ static int udp_open(URLContext *h, const char *uri, int flags)
         if (find_info_tag(buf, sizeof(buf), "buffer_size", p)) {
             s->buffer_size = strtol(buf, NULL, 10);
         }
+        if (!find_info_tag(s->label, sizeof(s->label),
+                         "contract_label", p)) {
+               s->label[0]=0;
+        }
     }
 
     /* fill the dest addr */