int dest_addr_len;
frsh_send_endpoint_t sepoint;
- frsh_send_endpoint_t repoint;
+ frsh_receive_endpoint_t repoint;
frsh_vres_id_t vres;
frsh_send_endpoint_protocol_info_t send_pinfo;
frsh_contract_t contract;
#define FRSH_TX_BUF_SIZE 32768
#define FRSH_MAX_PKT_SIZE 65536
-static int frsh_set_multicast_ttl(int sockfd, int mcastTTL, struct sockaddr *addr)
-{
- return 0;
-}
-
-static int frsh_join_multicast_group(int sockfd, struct sockaddr *addr)
-{
- return 0;
-}
-
-static int frsh_leave_multicast_group(int sockfd, struct sockaddr *addr)
-{
- return 0;
-}
-
static int frsh_set_url(struct sockaddr_in *addr, const char *hostname, int port)
{
/* set the destination address */
}
static int
-frsh_socket_create(FRSHContext *s, struct sockaddr_in *addr, int *addr_len)
+frsh_output_socket_create(FRSHContext *s)
{
static long int netcont_num = 0;
int ret,frsh_fd;
char netcont_name[20];
+ struct sockaddr_in addr;
+ int addr_len;
- addr->sin_family = AF_INET;
- addr->sin_addr.s_addr = htonl (INADDR_ANY);
- addr->sin_port = htons(s->local_port);
- *addr_len = sizeof(struct sockaddr_in);
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = htonl (INADDR_ANY);
+ addr.sin_port = htons(s->local_port);
+ addr_len = sizeof(addr);
/* set params for contract */
frsh_network_bytes_to_budget(FRSH_NETPF_FWP, avformat_frsh_budget, &s->budget);
FRSH_CT_REGULAR);
//if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params");
if (ret) return -1;
- snprintf(netcont_name, sizeof(netcont_name), "ffmpeg%02d", ++netcont_num);
+ snprintf(netcont_name, sizeof(netcont_name), "ffmpeg%02ld", ++netcont_num);
ret = frsh_contract_set_resource_and_label(&s->contract,FRSH_RT_NETWORK,
FRSH_NETPF_FWP,
s->label[0] ? s->label : netcont_name);
return frsh_fd;
}
+static int
+frsh_input_socket_create(FRSHContext *s)
+{
+ frsh_receive_endpoint_protocol_info_t pi = { NULL, 0 };
+ frsh_endpoint_queueing_info_t qi = { .queue_size=0, .queue_policy=FRSH_QRP_OLDEST };
+
+ return frsh_receive_endpoint_create(FRSH_NETPF_FWP, s->local_port, qi, pi,
+ &s->repoint);
+}
+
+
+
static int frsh_port(struct sockaddr_in *addr, int len)
{
return ntohs(addr->sin_port);
frsh_set_remote_url(h, uri);
}
- frsh_fd = frsh_socket_create(s, &my_addr, &len);
+ if (is_output)
+ frsh_fd = frsh_output_socket_create(s);
+ else
+ frsh_fd = frsh_input_socket_create(s);
if (frsh_fd < 0)
goto fail;
#if 0