#include "http.h"
#include "mcast.h"
-#define CHUNKSIZE 8192
+#define CHUNKSIZE 1500
void record(int(*open_fn)(char *), char *url, char *outfile, int duration)
{
do {
if ((bytes = recv(in, buffer, CHUNKSIZE, 0)) < 1) {
- perror("recv");
- exit(EXIT_FAILURE);
+ /* TODO: Insert better connection-loss recovery here */
+ if ((in = (*open_fn)(url)) < 0)
+ sleep(1);
}
-
written = 0;
do {
if ((i = write(out, buffer, bytes-written)) < 0) {
duration = atol(argv[2])*60;
outfile = argv[3];
} else {
- fprintf(stderr,"Syntax: %s URL duration outfile\n", argv[0]);
+ fprintf(stderr,"Syntax: %s URL duration_in_minutes outfile\n", argv[0]);
exit(EXIT_FAILURE);
}